Commit graph

130 commits

Author SHA1 Message Date
Evan Vigil-McClanahan
ba466e2d38 Manually clean up paths
Using code:set_path/1 with very large paths is very slow on larger
projects.  On my mid-sized project, it seems to take around .4s per
call.  Emulating the call with direct path removal (using
code:del_path/1) seems to be quite a lot faster.
2014-08-18 13:56:19 -07:00
Tuncer Ayaz
e9fcd11ccc Remove experimental label from 'eunit tests=' 2014-07-18 18:54:18 +02:00
Tuncer Ayaz
1363ba3038 Wrap cover:stop() call as rebar_cover_utils:exit/0 2014-06-14 19:23:45 +02:00
Tuncer Ayaz
8fea315b0b rebar_eunit: disambiguate internal naming
Partially revert naming changes introduced in 93689703c1:
CoverageModules -> FilteredModules
get_coverage_modules -> get_matching_modules

Having the name "coverage" meaning "filtered/selected modules" can be
confused with code coverage.
2014-06-14 19:23:45 +02:00
Andras Horvath
4a6dc223b7 Add code coverage analysis functionality to `qc'
- Use `cover' with QuickCheck testing
- Reuse the `cover_*' rebar.config options
- Refactor cover-related code to separate module (`qc_cover_utils')
  for use with both `eunit' and `qc'
2014-06-14 19:23:45 +02:00
Sergey Savenko
93689703c1 Add qualified name tests specification (see #118)
Augment 'tests' option of 'rebar eunit' command with ability to specify
tests to run using module-qualified names. This change also forced me
to change the way modules for coverage and for testing itself are
selected - module-qualified tests specifications are now taken into
consideration. Extend tests to cover new functionality. Update
dialyzer_reference accordingly.
2014-05-29 22:38:14 +04:00
Tuncer Ayaz
589afc0173 eunit: fix dialyzer warnings introduced in 03da5e0b 2014-02-20 19:10:47 +01:00
Andrew Thompson
2f6991cbd7 Add documentation 2014-02-07 13:08:14 -05:00
Andrew Thompson
03da5e0be0 Add random_suite_order option to eunit command
Option takes either 'true' or a numeric seed value. If true is passed, a
random seed is generated and used. The numeric seed value is for
repeatability.

The idea here is to root out test suites that are order dependant, or
that fail in the presence of certain orderings.
2014-02-07 13:05:33 -05:00
Andrew J. Stone
cc72cd8fce allow suite[s] or test[s] as options for eunit and ct 2014-02-05 16:56:44 -05:00
Jared Morrow
b2c2adb7c0 Merge pull request #215 from tuncer/experimental
Remove experimental flags
2014-01-16 15:09:50 -08:00
Tuncer Ayaz
5fa6671511 Remove experimental flags
Remove experimental flag from:
* qc compile_only=true
* eunit compile_only=true
* src/foo.app.src.script
* eunit tests=
2014-01-14 12:44:53 +01:00
Tuncer Ayaz
8a94a41ef0 Document compile_only=true 2014-01-14 12:44:09 +01:00
Tuncer Ayaz
277a10cd3b Fix is_verbose/1 helper function 2013-12-06 21:39:53 +01:00
Tuncer Ayaz
0550560221 Fix eunit regression introduced in 2716d83a18
Use alternative way to detect net_kernel:stop/0 has succeeded as
suggested by Ulf Wiger.
2013-09-20 20:53:16 +02:00
Dave Smith
4b642bf916 Merge pull request #41 from exterm/cover_html_validity
change cover html generation to produce valid html
2013-06-25 05:57:55 -07:00
Dave Smith
d3c125de27 Merge pull request #47 from uwiger/master
rebar_eunit:reset_after_eunit/1 mustn't remove 'included_applications'
2013-06-17 15:21:11 -07:00
Philip Mueller
c79314593d remove superfluous string concat operator usage 2013-06-16 16:15:14 +02:00
Dave Smith
76405da6d7 Merge pull request #24 from legoscia/master
Allow specifying eunit suite run order in 'suites'
2013-06-16 06:07:55 -07:00
Philip Mueller
e29d84fbf6 break overlong line 2013-01-30 14:24:54 +01:00
Tuncer Ayaz
4b8c81fb53 Implement 'rebar help CMD1 CMD2' and extend common 'rebar help' msg
* allow plugins to print help message for implemented commands
* append core rebar.config options to common 'rebar help' message
2012-12-31 20:45:11 +01:00
Tuncer Ayaz
2716d83a18 Fix basho/rebar/issues/286 2012-12-17 12:53:48 +01:00
Ulf Wiger
209ca73b91 rebar_eunit:reset_after_eunit/1 mustn't remove 'included_applications'
One could argue that rebar_eunit does some pretty dangerous stuff when
trying to clean up after a test run, but specifically, it tells the
Application Controller to delete everything returned by
application:get_all_env(App). Unfortunately, included_applications
also goes, which can lead to a crash in application_controller, if
the application is subsequently unloaded.

This patch attempts the smallest possible fix: remove all env
variables except included_applications.
2012-12-16 21:30:15 +01:00
Philip Mueller
4ae4a80219 change cover html generation to produce valid html
- added missing doctype
- added encoding statement
- removed invalid additional opening <body> tag
2012-12-12 12:38:39 +01:00
Magnus Henoch
e4083cacee Run eunit suites in the order specified in the 'suites' command line parameter
Normally, Rebar runs eunit tests in the order the beam files are
stored in the file system (see rebar_utils:beams).  However, sometimes
it is desirable to run the tests in a different order (e.g. to
reproduce an error found on a build server).  For that case, it would
make sense to use the 'suites' parameter not just for selecting which
modules to consider, but also for choosing the order.
2012-11-20 15:50:00 +00:00
Shunichi Shinohara
22b703efa8 eunit: analyze coverage only for cover compiled modules
This change fixes #310.
2012-09-13 22:30:30 +02:00
Tuncer Ayaz
e0bc55db33 Use R15B02 EUnit {test,M,F} primitive as suggested by Richard Carlsson 2012-09-06 00:50:46 +02:00
Tuncer Ayaz
f22337b68f Comment eunit_test:function_wrapper/2 TODO 2012-09-01 11:11:24 +02:00
Tuncer Ayaz
8aadd65a34 rebar_eunit: adapt to R15B02 changes 2012-08-31 22:07:42 +02:00
Markus Näsman
2d139ea6c2 Stop cover server between eunit runs for speed
Cover gets slower and slower for each application. This is due to the
cover_server internal state. Stopping the cover server between
eunit+cover runs, emptying the cover_server state, gives a ~5-6x speed
improvement when analyzing many Erlang modules. Stopping the cover
server replaces the earlier practice of doing a cover:reset before each
run. On a project consisting of 62 dependencies with a total of 1866
Erlang modules the running time of rebar eunit decreased from ~20
minutes to ~3 minutes.
2012-08-30 17:27:43 +02:00
Tuncer Ayaz
ff8337f9b0 Fix whitespace error in rebar_eunit 2012-08-22 19:17:17 +02:00
Tuncer Ayaz
f528c397f8 Fix whitespace errors in rebar_ct and rebar_eunit 2012-08-22 19:14:35 +02:00
Tuncer Ayaz
3c0d97bf2c Cleanup and comment 2012-08-20 13:55:55 +02:00
Roberto Ostinelli
60516dc406 Fix tests= option not running generator tests 2012-08-20 12:58:34 +02:00
Roberto Ostinelli
fa6618f2b4 Add experimental tests= filter without eunit suites 2012-08-20 12:58:31 +02:00
Tuncer Ayaz
fc7df16e31 Clarify comments 2012-08-12 14:03:44 +02:00
Tuncer Ayaz
bdee72fae8 rebar_eunit: add tests= TODO item 2012-08-11 23:10:06 +02:00
Roberto Ostinelli
69dc9ec933 Add experimental tests= filter for eunit suites 2012-08-11 23:08:21 +02:00
Tuncer Ayaz
5d6b82390f rebar_eunit: fix typo 2012-08-10 16:05:00 +02:00
Tuncer Ayaz
e47d643ea3 Use separate dirs for eunit and qc 2012-08-09 18:37:26 +02:00
Tuncer Ayaz
99b645e4a3 Separate eunit and qc compile options 2012-08-09 14:04:53 +02:00
Tuncer Ayaz
803f6e8ecd Replace test-compile with compile_only=true option 2012-08-09 14:04:53 +02:00
Tuncer Ayaz
888bbc8ee2 Fix whitespace error 2012-08-07 14:03:58 +02:00
Tuncer Ayaz
fdc1425a3b Use rebar_utils:test_dir/0 for coverdata export file 2012-08-07 14:02:13 +02:00
David Åberg
43d5b6257e Enable export of cover data from eunit testrun 2012-08-07 13:44:40 +02:00
Tuncer Ayaz
c9ddb8325a Quote EUnit User's guide about _tests.beam handling 2012-07-31 16:39:25 +02:00
Tuncer Ayaz
ad2e94b96b Add experimental notice to test-compile and shell 2012-07-31 15:39:36 +02:00
Tuncer Ayaz
636c02f0be Fix R13B03 build (Reported-by: Sergey Nartimov) 2012-07-28 19:51:57 +02:00
Tuncer Ayaz
228f39efa1 Rename old eunit compile options for consistency with test-compile 2012-07-26 17:15:01 +02:00
Tuncer Ayaz
c0644dc195 Finalize app=, skip_app=, suite= deprecations 2012-07-23 16:48:15 +02:00