Age | Commit message (Collapse) | Author |
|
The test_server application has previously been deprecated.
In OTP 19, we will move relevant parts of test_server into the
common_test application. Test suites that include test_server.hrl
must be updated to include ct.hrl instead. Test suites that include
test_server_line.hrl must removed that inclusion. Test suites that
call the test_server module directly will continue to work in OTP 19.
The test suites for Erlang/OTP are built and executed in exactly
the same way as previously.
Here are some more details.
The modules test_server*.erl and erl2html2.erl in lib/test_server/src
have been moved to common_test/src.
The test_server.hrl and test_server_line.hrl include files have
been deleted. The macros in test_server.hrl have been copied into
lib/common_test/include/ct.hrl.
The ts*.erl modules and their associated data files in
lib/test_server/src has been been moved to the new directory
lib/common_test/test_server. The ts* modules are no longer built
to lib/common_test/ebin. They will only built when 'make release_tests'
is executed.
The test suite for test_server has been moved to lib/common_test/test.
The rest of the files have been deleted.
|
|
* bjorn/deprecate-random/OTP-12502:
Deprecate the 'random' module
Eliminate mentions of 'random' in documentation
mnesia tests: Replace 'random' with 'rand'
percept tests: Replace 'random' with 'rand'
system tests: Replace 'random' with 'rand'
common_test tests: Replace 'random' with 'rand'
gs: Remove the contribs directory
wx: Replace 'random' with 'rand'
stdlib tests: Replace 'random' with 'rand'
kernel test: Replace 'random' with 'rand'
debugger tests: Replace 'random' with 'rand'
compiler tests: Replace 'random' with 'rand'
Emulator test suite: Replace use of 'random' with 'rand'
Use 'rand' instead of the obsolete 'random' module
compile: Eliminate use of the obsolete 'random' module
|
|
In most cases, we don't have to seed the random number generator,
as the rand:uniform/1 takes care about that itself.
|
|
|
|
|
|
|
|
Also do some minor logging improvements
|
|
* rickard/time_api/OTP-11997: (22 commits)
Update primary bootstrap
inets: Suppress deprecated warning on erlang:now/0
inets: Cleanup of multiple copies of functions Add inets_lib with common functions used by multiple modules
inets: Update comments
Suppress deprecated warning on erlang:now/0
Use new time API and be back-compatible in inets Remove unused functions and removed redundant test
asn1 test SUITE: Eliminate use of now/0
Disable deprecated warning on erlang:now/0 in diameter_lib
Use new time API and be back-compatible in ssh
Replace all calls to now/0 in CT with new time API functions
test_server: Replace usage of erlang:now() with usage of new API
Replace usage of erlang:now() with usage of new API
Replace usage of erlang:now() with usage of new API
Replace usage of erlang:now() with usage of new API
Replace usage of erlang:now() with usage of new API
otp_SUITE: Warn for calls to erlang:now/0
Replace usage of erlang:now() with usage of new API
Multiple timer wheels
Erlang based BIF timer implementation for scalability
Implement ethread events with timeout
...
Conflicts:
bootstrap/bin/start.boot
bootstrap/bin/start_clean.boot
bootstrap/lib/compiler/ebin/beam_asm.beam
bootstrap/lib/compiler/ebin/compile.beam
bootstrap/lib/kernel/ebin/auth.beam
bootstrap/lib/kernel/ebin/dist_util.beam
bootstrap/lib/kernel/ebin/global.beam
bootstrap/lib/kernel/ebin/hipe_unified_loader.beam
bootstrap/lib/kernel/ebin/inet_db.beam
bootstrap/lib/kernel/ebin/inet_dns.beam
bootstrap/lib/kernel/ebin/inet_res.beam
bootstrap/lib/kernel/ebin/os.beam
bootstrap/lib/kernel/ebin/pg2.beam
bootstrap/lib/stdlib/ebin/dets.beam
bootstrap/lib/stdlib/ebin/dets_utils.beam
bootstrap/lib/stdlib/ebin/erl_tar.beam
bootstrap/lib/stdlib/ebin/escript.beam
bootstrap/lib/stdlib/ebin/file_sorter.beam
bootstrap/lib/stdlib/ebin/otp_internal.beam
bootstrap/lib/stdlib/ebin/qlc.beam
bootstrap/lib/stdlib/ebin/random.beam
bootstrap/lib/stdlib/ebin/supervisor.beam
bootstrap/lib/stdlib/ebin/timer.beam
erts/aclocal.m4
erts/emulator/beam/bif.c
erts/emulator/beam/erl_bif_info.c
erts/emulator/beam/erl_db_hash.c
erts/emulator/beam/erl_init.c
erts/emulator/beam/erl_process.h
erts/emulator/beam/erl_thr_progress.c
erts/emulator/beam/utils.c
erts/emulator/sys/unix/sys.c
erts/preloaded/ebin/erlang.beam
erts/preloaded/ebin/erts_internal.beam
erts/preloaded/ebin/init.beam
erts/preloaded/src/erts_internal.erl
lib/common_test/test/ct_hooks_SUITE_data/cth/tests/empty_cth.erl
lib/diameter/src/base/diameter_lib.erl
lib/kernel/src/os.erl
lib/ssh/test/ssh_basic_SUITE.erl
system/doc/efficiency_guide/advanced.xml
|
|
|
|
|
|
|
|
* peppe/common_test/ct_basic_html_error:
Fix problem with mismatching html tags when running basic_html log mode
OTP-11917
|
|
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.
|
|
|
|
This is in preparation of a future change of the cover API between
common_test and test_server.
|
|
* peppe/common_test/group_events:
Update test suites and fix various remaining problems
Update event protocol and CT Hooks API
Introduce group name for skipped cases in events, hooks and overview log
OTP-11732
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also correct failing test cases and find and fix remaining bugs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When a configuration function returns {skip,Reason}, all affected test
cases will now get status skipped, not auto_skipped.
Furthermore, auto skipped cases will be reported as "auto_skipped" in
the textual log file (not "skipped", as in previous versions).
OTP-11305
|
|
|
|
|
|
OTP-11046
|
|
* siri/cuddle-with-tests:
[sasl] Fix tests that compare execution time
[jinterface] Kill process between tests to avoid consequential error
[jinterface] Make tests handle space in path on windows
[common_test] Extend timers for slave nodes in ct_cover_SUITE
[test_server] Clean up unused code in test_server_SUITE
[reltool] Increase timetrap timeout for reltool_server_SUTIE to 10 minutes
[test_server] Fix encoding of HTML file references to work on windows
[test_server] Use simpler tc name in unicode test to make it work on windows
|
|
After removing the functionality for remote target nodes in R16A,
there was still some unused code left and some documentation that was
not updated. This is now completed.
|
|
The URI encoding when in unicode file name mode did not preserve @, :
and /, and thus some links were did not work on windows (think
c:/). This has been corrected.
|
|
|
|
The unicode update of test_server for R16A introduced a few potential
errors when logging to files. Sometimes ~tp or ~ts was used for
formatting also when writing to files that were not opened with the
{encoding,utf8} option. If then the argument contained unicode
characters above 255, the file descriptor would crash. This has been
corrected by the following modifications:
* Since the 'unexpected_io' log file is used only when the test case
HTML file is not available (e.g. between test cases), this file is
now also a HTML file and as other test_server HTML logs it is always
UTF-8 encoded
* Since it is possible to change which information is going to which
log file (with test_server_ctrl:set_levels/3), we do not have full
control over which information is written to which file. This means
that any printout could be written to the 'major' log file
(suite.log), which was earlier encoded as latin1. To avoid crashing
this file descriptor due to unicode strings, the 'major' log file is
now also encoded in UTF-8 (possible incopatibility).
* The cross_cover.info file is no longer a text file which can be read
with file:consult/1, instead it is written as a pure binary file
using term_to_binary when writing and binary_to_term when reading.
* The encoding of the file named 'last_name', which only content is
the path to the last run.<timestamp> directory, is now dependent on
the file name mode of the VM. If file names are expected to be
unicode, then the 'last_name' file is UTF-8 encoded, else it is
latin1 encoded.
Also, ~tp is changed back to ~p unless it is somehow likely that the
argument includes strings. It is not obvious that this is the correct
thing to do, but some decission had to be taken...
|
|
If escaping :, then links of type "file:///c:/ldisk..." will not work.
Escaping @ does not create any problems, but the link becomes harder
to read and most modern browsers can handle this.
|
|
When running under framework common_test, the encoding statement in
the HTML header of the file generated with erl2html2:convert would
sometimes be faulty. This has been corrected.
|
|
* 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, allowing both special characters
like "/", "&", "?" etc, and latin1 or unicode characters.
* Use unicode modifier 't' with ~s and ~p 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.
|
|
* siri/cross-cover/OTP-9870:
[test_server] Don't use print/3 in cross_cover_analyse
[common_test] Add documentation for cross cover analysis
[common_test] Add test case for cross cover mechanism
[test_server] Update documentation about cross cover
[test_server] Add test of code cover mechanism
[test_server,common_test] Fix cross cover mechansim
|
|
|
|
Cross cover analysis is executed outside the scope of
test_server_ctrl, i.e. test_server_ctrl is not necessarily
started. This may cause test_server_ctrl:print/3 to hang. Instead use
io:fwrite directly (as it was before).
|
|
Update the interface for cross cover analysis (collection of cover
data over multiple tests) so it can be used via common_test and
directly with test server.
The concept of 'application' in the cross cover interface is removed
and replaced with an arbitrary Tag=atom() which identifies a test run.
|
|
Line numbering of erlang files that were not correctly indented could
be wrong after coverting to html with erl2html2:convert/[2,3]. This has
been corrected.
This commit also fixes the following:
* There are now link targets for each line and not only for each 10th
line - meaning that links from test logs are now to the exact line,
and not to the last number for which N rem 10 == 0.
* there will only be one link target per function, i.e. the faulty
link targets for function clauses are removed.
* link targets for function now includes the arity (e.g. func/1 has a
link target "func-1")
And some tests are added.
|
|
* bjorn/ct/minor-corrections:
test_server_io: Correct a few comments
Handle ct:abort_current_testcase/1 when executing parallel groups
Make sure that "Cover analysing..." is written to stdout
Make sure that "Testing..." is not written if testing has finished
|
|
The support for remote target nodes has not worked in a long time.
We are unlikely to ever need remot target node support and if
we'll need it will be easier to start over from scratch.
|