| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move path management out of rebar_utils manual code path function
handling (which we leave there for backwards compat), and centralize
them to allow easier coordination of paths between plugins and deps.
On top of path handling, do a check of loaded modules to only purge and
reload those that actually need it done in order to prevent all kinds of
weird interaction and accidental purge kills. It also allows the
possible cohabitation of both at once, with a "in case of conflict pick
X" as a policy
Changing path handling in providers also highlighted a bunch of bugs in
some tests and appears to fix some in other providers, specifically
around plugins.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces all deprecated function usage by alternative ones based on
a version switch enacted at compile time, preventing all warnings.
This will likely introduce some possible runtime errors in using a
Rebar3 compiled on OTP-20 or OTP-21 back in versions 19 and earlier, but
we can't really work around that.
A bunch of dependencies have been updated to support OTP-21 without
warnings as well.
|
|
|
|
| |
fixes #1469
|
|
|
|
|
| |
application modules will be added to the eunit test set automatically, no
need to consider them for inclusion in the test set separately
|
|
|
|
|
|
| |
stops the eunit provider from filtering out test modules based on the
file extension. previously, it was hardcoded to expect all test files
ended in `.erl`. this change allows for endings like `.lfe` and `.beam`
|
|
|
|
|
|
|
| |
The regex mistakenly matched too many files (any character followed by
an underscore) rather than only files starting in '._'
This properly escapes the expressions to work in all cases.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The option {recursive,boolean()} can now be set pr directory in
'src_dirs' and 'extra_src_dirs', and on top level in the new
'erlc_compiler' option. Example config:
{erlc_compiler,[{recursive,false}]}.
{src_dirs,[{"src",[{recursive,true}]}]}.
This will cause recursive compilation within the "src" directory, but
not in any other directoires.
|
|
|
|
| |
Some tricky changes in there but should be okay
|
|
|
|
|
|
|
|
| |
{`eunit_test_regex`, Regex}` will use the supplied `Regex` instead of
the default to locate tests in test dirs. note this matches only the
filename, not the path. the regex is applied to all test dirs, recursively
fixes #1331
|
| |
|
| |
|
|
|
|
| |
add definition of 'COMMON_TEST' macro to eunit provider
|
|
|
|
| |
This patch adds support for short options in the eunit provider.
|
| |
|
|
|
|
|
| |
this ONLY attempts to deduplicate test sets that are generated by
rebar in the absence of any user specified tests
|
|\
| |
| | |
change detection of valid modules for `eunit`
|
| |
| |
| |
| |
| |
| |
| | |
`beam_lib:chunks(..)` needs a path to object code which, frustratingly,
`code:which/1` won't return for cover compiled modules. instead just
assume that if `code:which/1` doesn't return `non_existing` a module
is something we can run tests on
|
|\ \
| |/
|/| |
convert 'app' to 'application' in eunit_opts to match cmdline args
|
| | |
|
|/
|
|
| |
into directory test arguments
|
|
|
|
| |
The previous default meant that verbose output would not be emitted.
|
| |
|
| |
|
|
|
|
|
|
|
| |
when `ct_opts`, `eunit_tests`, `eunit_first_files`, `ct_first_files`, `erl_first_files`,
`eunit_compile_opts`, `ct_compile_opts` and `erl_opts` have values that are single non-list
terms warn and try wrapping them in a list when processing them in the `eunit` and `ct`
providers
|
| |
|
| |
|
|
|
|
|
| |
at the cost of some SASL warnings this prevents rebar3 from terminating
processes when reloading their code before running tests
|
|\
| |
| | |
delay validation of eunit tests until just before running
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* modify compiler interface to work on either application objects or
directories containing source files
* compile all sources in `src_dirs` to the application `ebin` dir and
all sources in `extra_src_dirs` to a directory mirroring it's
position in the app's `_build` directory. for example, `apps/foo/more`
would compile to `_build/default/lib/foo/more`
for `extra_src_dirs` in the root of a project with multiple
applications (so orphan directories that don't "belong" to an
application) compile to `_build/default/extras/more`
* copy directories specified in `extra_src_dirs` into the `_build`
directory so tools like `ct` and `xref` that expect source to be
in a particular location still work
* clean compiled artifacts from all `extra_src_dirs`
* alter `eunit`, `ct` and `cover` to work with the new directory
structure
* billions of new tests
|
| |
|
| |
|
|
|
|
| |
prior to running compile and compile prehooks
|
|
|
|
| |
This reverts commit dde60d491f64e8545c586d07015a466eb8e6e126.
|
|
|
|
| |
profiles are for
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This reverts commit b06a6ecaddfc6fea16f3c24881fd41ac731ffa9e.
|
|\
| |
| | |
fix bareness issues
|
| |
| |
| |
| |
| |
| | |
- Crashes in providers lib when no providers in a namespace are bare
- Making sure bareness matches semantics; i.e. a bare provider is
visible, a non-bare provider is hidden.
|
|/ |
|
|
|
|
|
|
| |
adding it results in ct test suites being compiled before they're
properly copied so changes made to suites between runs are not
reflected if a run fails before test dirs are copied
|