Packages

In-memory test support for macula consumers: a drop-in loopback pool (mem_macula) for hermetic pub/sub tests, and a Common Test hook that fails unallowed skips

Current section

Files

Jump to
macula_testkit rebar.config
Raw

rebar.config

%% -*- mode: erlang -*-
%% macula-testkit. The core (mem_macula loopback pool) has NO deps: it just
%% implements the gen_server protocol macula_client speaks. The test profile
%% pulls the real macula so the spike proves drop-in via the real facade
%% (macula:publish / macula:subscribe), not just the raw protocol.
{erl_opts, [debug_info, warnings_as_errors]}.
{deps, []}.
{profiles, [
{test, [
{deps, [{macula, "~> 12.1"}]}
]}
]}.
%% Every plugin pinned: the pin lives in this file, so it is inside the
%% release tag, and a plugin that moves between a green run and the tag
%% (rebar3_hex 7.3.0 stopped reading HEX_API_KEY) cannot be fixed by
%% re-running the publish.
{project_plugins, [
{rebar3_hex, "~> 7.2.0"},
{rebar3_ex_doc, "0.3.0"},
{rebar3_lint, "6.0.0"}
]}.
%% The package has NO dependencies: mem_macula speaks the pool protocol and
%% needs nothing of macula at runtime. A consumer brings its own macula.
{hex, [
{doc, #{provider => ex_doc}}
]}.
{ex_doc, [
{source_url, <<"https://github.com/macula-io/macula-testkit">>},
{extras, ["README.md", "CHANGELOG.md", "LICENSE"]},
{main, "README.md"}
]}.
{elvis, [
{rulesets, #{
macula_min => [
{elvis_style, no_deep_nesting, #{level => 2}},
{elvis_style, no_nested_try_catch, #{}},
{elvis_style, no_if_expression, #{}}
]
}},
{config, [ #{files => ["src/**/*.erl"], ruleset => macula_min} ]}
]}.