Common Test Docker Compose Hook

A Common Test hook for starting and stopping docker-compose services.

Hooks can be declared in rebar.config with ct_opts:

{ct_opts, [{ct_hooks, [docker_compose_cth]}]}.

It can be added on a per-suite either with the suite/0 function in the suite module:

suite() ->
    [{ct_hooks, [docker_compose_cth]}].

or in the return of init_per_suite/1:

init_per_suite(Config) ->
    [{ct_hooks, [docker_compose_cth]} | Config].

For groups it can be added per-group in the return of init_per_group/2 function in the suite module:

init_per_group(Group, Config) ->
    [{ct_hooks, [docker_compose_cth]} | Config].

Shutdown of the services happens in the hooks terminate function which is called depending on when the hook was installed: CTH Scope. But the configuration for the hook can include #{stop => never} and the hook will not shutdown the services during terminate.

Configuration

Todo