Age | Commit message (Collapse) | Author |
|
|
|
|
|
Also do some minor logging improvements
|
|
* peppe/common_test/missing_start_flag_in_doc:
Add missing -group flag in ct_run help text
OTP-12433
|
|
|
|
|
|
This addresses several bugs in common_test (ct) when using the cover
analysis mechanism:
In a ct test run, one can give a cover spec file which indicates that
cover analysis shall be run, including a number of modules and a
number of nodes. During the ct test run, multiple jobs may be started
in test_server, and when the cover option is used, test_server would
cover compile and analyse all given modules for each job. This commit
instead allows the compilation and analysis to be explicitly ordered
by ct for each test run. This way each module will only be cover
compiled and analysed once. The cover log will be located in the
common_test log directory (ct_run.<timestamp>), and the "Coverage log"
link in each suite.log.html will point to this file. A new button is
also added in the top level ct index file, which points to the cover
log.
This change also reduces the need of using the 'export' and 'import'
options, since there is no longer any need to accumulate cover data
over multiple test_server jobs. However, these options may still be
used for importing and exporting cover data in order to store or
accumulate data from multiple ct test runs.
The 'nodes' option was earlier only used by ct to start cover on the
given nodes before starting the first test_server job. After this job
was completed, test_server would stop cover completely and then start
it again for the next job without any knowledge of the 'nodes'
options. For the next test_server jobs cover would therefore no longer
be running on these nodes. Explcit calls to ct_cover:add_nodes had to
be done in order to collect data through all test_server jobs. This
bug has now been solved, since cover is no longer stopped between each
test_server job.
Finally, ct no longer stores cover data using
ct_util:set_testdata. This was earlier used by ct_cover:add_nodes to
make sure no node was added twice.This did, however, cause some
problems when ct and cover were out of sync. ct could belive that a
node was running cover and thus reject adding this node, while in
reality cover had been stopped on the node (e.g. by test_server) so no
cover data was collected. ct_cover:add_nodes will now instead use
cover:which_nodes to check if a node is already running.
|
|
OTP-11769
|
|
|
|
|
|
* peppe/common_test/log_cache:
Implement cache for the CT logger
OTP-10855
|
|
OTP-10855
|
|
To allow a repeated test to finish immediatly, 'skip_rest' option can
now be used in combination with 'force_stop'. If this option is used,
only the current testcase will be completed after timeout is reached
when repeating with 'duration' or 'until'.
|
|
* origin/peppe/common_test/force_stop:
Repair broken force_stop functionality
OTP-10832
|
|
|
|
|
|
* peppe/common_test/testspec_include:
Add more tests
Update documentation
Add tests and correct errors
Update CT Master
Implement support for including test specifications
Make it possible to execute one test run per test specification
Conflicts:
lib/common_test/src/ct_master.erl
lib/common_test/src/ct_run.erl
lib/common_test/src/ct_testspec.erl
OTP-9881
|
|
* Use UTF-8 encoding for all HTML files, except the HTML version of
the test suite generated with erl2html2:convert, which will have the
same encoding as the original test suite (.erl) file.
* Encode link targets in HTML files with
test_server_ctrl:uri_encode/1.
* Use unicode modifier 't' with ~s when appropriate.
* Use unicode:characters_to_list and unicode:characters_to_binary for
conversion between binaries and strings instead of binary_to_list
and list_to_binary.
|
|
OTP-9881
|
|
OTP-9881
|
|
Conflicts:
lib/common_test/test/Makefile
|
|
* origin/peppe/common_test/group_search_r15b03:
Fix problem with test case order in group specifications
Finish the test suite and correct remaining bugs
Implement new group search functionality
OTP-10466
|
|
|
|
OTP-10466
|
|
OTP-10466
|
|
OTP-10495
|
|
By default, test_server will always stop cover (and thus load back the
non cover compiled original beam files) after a test with code
coverage analysis is completed. The new option allows the common_test
user to specify that cover shall not be stopped. This can be useful if
there are processes still running old code, i.e. processes that have
not done any fully qualified function call after the cover
compilation, since loading the original code then will kill those
processes. This is only recommended if the erlang node is to be
stopped after the test run, or if cover can be manually stopped.
|
|
If a severe error occurs in test_server (e.g. failing to write to
log files), test_server would terminate without commont_test knowing
about it. Since ct_run can now return an exit code, it is important
that common_test is aware of severe problem so that it can indicate
that an error has occurred.
|
|
|
|
|
|
|
|
|
|
* origin/peppe/common_test/break_and_continue:
Fix error in documentation
Implement support for test case execution break/continue
Conflicts:
lib/common_test/src/ct.erl
lib/common_test/src/ct_run.erl
OTP-10127
OTP-10172
|
|
* origin/peppe/common_test/verbosity_level:
Fix doc build error
Implement verbosity levels and parameter for log printout importance
Conflicts:
lib/common_test/src/ct_logs.erl
lib/common_test/src/ct_run.erl
lib/common_test/src/ct_testspec.erl
lib/common_test/src/ct_util.hrl
lib/common_test/test/Makefile
OTP-9625
OTP-10067
|
|
* origin/peppe/common_test/testspec_updates:
Test new testspec functionality and correct bugs
Implement constants and new features for test specifications
Conflicts:
lib/common_test/src/ct_run.erl
lib/common_test/test/Makefile
OTP-10049
OTP-10089
OTP-10145
|
|
OTP-10049
OTP-10089
|
|
OTP-10049
OTP-10089
|
|
|
|
|
|
Also change the return value of the ct:run_test/1 function.
OTP-9865
OTP-10087
|
|
|
|
'lukas/common_test/fix_disable_builtin_hooks_from_spec/OTP-10009' into maint
* lukas/common_test/fix_disable_builtin_hooks_from_spec/OTP-10009:
Change default of enable builtin hooks to undefined
Disable built in hooks for emulator
|
|
|
|
|
|
|
|
* origin/peppe/common_test/otp-9634_9659:
Change the option name 'unique_priv_dir' to 'create_priv_dir'
Add test suite for the unique_priv_dir feature
Make it possible to use unique priv_dir names
Create entry for every repeated test in index.html
OTP-9634
OTP-9659
|
|
* origin/peppe/common_test/otp-9899:
Fix broken repeat functionality
OTP-9899
|
|
The new values for create_priv_dir are:
auto_per_run, auto_per_tc, manual_per_tc
|
|
|
|
Introduce the optional feature to have Test Server generate
priv_dir directory names that are unique for each test case
or config function. The name of the option/flag is
'unique_priv_dir' and it can be set to value 'auto' or
'manual'. If auto, Test Server creates each priv_dir
automatically (can be expensive in case of many and/or repeated
cases). If manual, the user needs to create the priv_dir
explicitly by calling ct:make_priv_dir/0.
|