aboutsummaryrefslogtreecommitdiffstats
path: root/lib/test_server
AgeCommit message (Collapse)Author
2013-02-19Merge remote branch 'origin/peppe/common_test/force_stop'Peter Andersson
* origin/peppe/common_test/force_stop: Repair broken force_stop functionality OTP-10832
2013-02-18Merge branch 'sverk/valgrind-cuddling'Sverker Eriksson
* sverk/valgrind-cuddling: test_server: Increase timeout for VALGRIND erts: Use native atomics and fallback spinlock to mutex for VALGRIND
2013-02-18Repair broken force_stop functionalityPeter Andersson
2013-02-14Update config.guess and config.sub to latest versionsLukas Larsson
2013-02-13test_server: Increase timeout for VALGRINDSverker Eriksson
2013-02-07[test_server] Add error printouts in case writing to test case html log failsSiri Hansen
Errors are printed to unexpected_io log.
2013-02-04[test_server] Don't write unicode strings to latin1 log filesSiri Hansen
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...
2013-01-29Prepare releaseOTP_R16A_RELEASE_CANDIDATEErlang/OTP
2013-01-25Merge branch 'siri/unicode'Siri Hansen
* siri/unicode: [test_server] Don't escape : and @ in test log links [test_server] Don't create latin1 filenames if filename mode is utf8 [test_server] Ensure correct encoding in header for erl2html2:convert [common_test] Update common test modules to handle unicode [ts] Use unicode:characters_to_list/2 instead of binary_to_list/1 [test_server] Add tests for unicode support [test_server] Write link target with correct encoding in erl2html2 [test_server] Update test_server to handle unicode Update preloaded init.beam Make arguments given with -s option to erl aware of file name encoding OTP-10702 OTP-10783
2013-01-25Update copyright yearsBjörn-Egil Dahlberg
2013-01-25[test_server] Don't escape : and @ in test log linksSiri Hansen
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.
2013-01-25[test_server] Don't create latin1 filenames if filename mode is utf8Siri Hansen
Skipping test_server_latin1_***_SUITE if filename:native_name_encoding is utf8.
2013-01-25[test_server] Ensure correct encoding in header for erl2html2:convertSiri Hansen
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.
2013-01-25[ts] Use unicode:characters_to_list/2 instead of binary_to_list/1Siri Hansen
When reading text files with file:read_file/1, assume that the file has the default encding (epp:default_encoding()) and covert the binary to string by unicode:characters_to_list(Bin,DefaultEncoding) instead of binary_to_list(Bin) as before.
2013-01-25[test_server] Add tests for unicode supportSiri Hansen
2013-01-25[test_server] Write link target with correct encoding in erl2html2Siri Hansen
If the encoding of the source file was utf-8, then the link target could be faulty encoded in the resulting HTML file. This has been corrected.
2013-01-25[test_server] Update test_server to handle unicodeSiri Hansen
* 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.
2013-01-25[test_server] Fix copyright in erl2html2_SUITE.erlSiri Hansen
2013-01-23Turn warnings to errors on selected applicationsBjörn Gustavsson
2013-01-22Merge branch 'lh/forget-mnemosyne/OTP-10729'Fredrik Gustafsson
* lh/forget-mnemosyne/OTP-10729: Remove what remains of the Mnemosyne code Remove support for the query keyword and query expressions
2013-01-18Merge branch 'nox/enable-silent-rules/OTP-10726'Björn-Egil Dahlberg
* nox/enable-silent-rules/OTP-10726: Implement ./otp_build configure --enable-silent-rules
2013-01-16Remove what remains of the Mnemosyne codeLoïc Hoguin
2013-01-15Implement ./otp_build configure --enable-silent-rulesAnthony Ramine
With silent rules, the output of make is less verbose and compilation warnings are easier to spot. Silent rules are disabled by default and can be disabled or enabled at will by make V=0 and make V=1.
2013-01-10Merge branch 'siri/cross-cover/OTP-9870'Siri Hansen
* 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
2013-01-09test_server: Remove support for packagesBjörn Gustavsson
2013-01-09Merge branch 'siri/cover/new-bugs-r16/OTP-10638'Siri Hansen
* siri/cover/new-bugs-r16/OTP-10638: [cover] Cleanup by stopping cover between tests [common_test] Stop cover on slave node after node is terminated [test_server] Stop cover on node after node is terminated [cover] Fix timing dependent bug in cover_SUITE:reconnect [cover] Remove stopped node also from lost_nodes list [cover] Don't mark stopped node as lost
2013-01-02[test_server] Add Unicode support to module listingHans Bolinder
Code written by Siri Hansen.
2012-12-20[test_server] Stop cover on node after node is terminatedSiri Hansen
Before terminating slave nodes, test_server calls cover:flush/1 to fetch data from the node without actually stopping cover on this node. If cover is not stopped for the node and a new node with the same name is started, then cover will be started on the new node. To avoid this test_server now calls cover:stop/1 after the slave node is terminated.
2012-12-13[test_server] Don't use print/3 in cross_cover_analyseSiri Hansen
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).
2012-12-04[test_server] Update documentation about cross coverSiri Hansen
Add info about cross statement in cover file: {cross,[{Tag,Modules}]}. Add parameter Tests = [{Tag,Dir}] to test_server_ctrl:cross_cover_analyse
2012-12-04[test_server] Add test of code cover mechanismSiri Hansen
2012-12-04[test_server,common_test] Fix cross cover mechansimSiri Hansen
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.
2012-11-27Merge tag 'OTP_R15B03'Björn-Egil Dahlberg
The R15B03 release
2012-11-26Prepare releaseOTP_R15B03Erlang/OTP
2012-11-26Merge branch 'bjorn/ct/separate-io-server/OTP-10101'Björn Gustavsson
* bjorn/ct/separate-io-server/OTP-10101: Fix race condition in test_server_io
2012-11-26Merge branch 'maint'Raimo Niskanen
2012-11-26Fix erroneous skipping for jinterface, erl_interface and icRaimo Niskanen
2012-11-21Merge branch 'siri/test_server/erl2html-indent-problem/OTP-9710'Siri Hansen
* siri/test_server/erl2html-indent-problem/OTP-9710: [test_server] Minimize memory usage in erl2html2:convert/[2,3] [test_server] Fix erl2html2.erl to handle badly indented files
2012-11-20[test_server] Minimize memory usage in erl2html2:convert/[2,3]Siri Hansen
Reading form by form and line by line, instead of reading the complete file in one go.
2012-11-19[test_server] Fix erl2html2.erl to handle badly indented filesSiri Hansen
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.
2012-11-19Fix race condition in test_server_ioBjörn Gustavsson
In test_server_io:gc/1 we collect the group leaders for all processes. We must handle the case that a process has died after processes/0 was called and process_info(P, group_leader) is called.
2012-11-19Merge branch 'siri/test_server/break-in-end_per_testcase/OTP-10046'Siri Hansen
* siri/test_server/break-in-end_per_testcase/OTP-10046: [test_server] Cancel timetrap for break in end_per_testcase
2012-11-16[test_server] Cancel timetrap for break in end_per_testcaseSiri Hansen
Any call to test_server:break/1 should cancel all active timetramps. In some cases, Suite:end_per_testcase/2 is executed on a different process than the test case itself, and if test_server:break/1 would be called from there, the timetraps would not be cancelled. This has been corrected.
2012-11-15Merge branch 'maint'Siri Hansen
2012-11-14[test_server] Recognize and ignore info_reports for ct connectionsSiri Hansen
test_server_h will now recognize info_reports written by ct connection handlers (according to the description in cth_conn_log) and ignore them as they will be completely handled by by ct_conn_log_h. Earlier test_server_h would print a tag (testcase name) before forwarding the report to error_logger_tty_h. This would cause lots of tags in the log with no info report following (since error_logger_tty_h did not handle them).
2012-11-08Merge branch 'bjorn/ct/minor-corrections'Björn Gustavsson
* 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
2012-11-08Remove stale support for remote target nodesBjörn Gustavsson
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.
2012-11-07test_server_io: Correct a few commentsBjörn Gustavsson
2012-11-07Handle ct:abort_current_testcase/1 when executing parallel groupsBjörn Gustavsson
ct:abort_current_testcase/1 (which is a wrapper for the function with the same name in test_server_ctrl) would not work as expected when a group with parallel test cases was executing. Essentially, the abort_current_testcase message would be ignored until the group has finished and would then abort the end_per_group testcase for the group. Since there is no unique current testcase when a parallel group is executing, we must handle the abort_current_testcase message and return an error tuple. Also fix the bug that test_server_ctrl:abort_current_testcase/1 would always return 'ok'.
2012-11-07Make sure that "Cover analysing..." is written to stdoutBjörn Gustavsson
If it is written with io:fwrite/2 it will be written to the unexpected_io log, where it will not be of any use.