## Test Server 3.1.1

### Improvements and new features

Added functions test_server:break/1 and test_server:continue/0 for semiautomatic testing.

test_server:timetrap/1 can now also take {hours,H} | {minutes,M | {seconds,S}.

Added function test_server_ctrl:multiply_timetraps/1, test_server_ctrl:add_case/3, test_server_ctrl:add_cases/2/3.

Added test suite functions init_per_suite/1 and end_per_suite/1.

fin_per_testcase/2 is changed to end_per_testcase/2. fin_per_testcase is kept for backwards compatibility.

Added support for writing own test server frameworks. Callback functions init_tc/1, end_tc/3, get_suite/2, report/2, warn/1.

## Test Server 3.1

### Improvements and New Features

Added the options cover and cover_details to ts:run. When one of these options is used, the tested application will be cover compiled before the test is run. The cover compiled code will also be loaded on all slave or peer nodes started with test_server:start_node. When the test is completed coverage data from all nodes is collected and merged, and presented in the coverage log to which there will be a link from the test suite result page (i.e. the one with the heading "Test suite ... results").

The cover_details option will do cover:analyse_to_file for each cover compiled module, while the cover option only will produce a list of modules and the number of covered/uncovered lines in each module.

To make it possible to run all test from a script (like in the OTP daily builds), the following is added: ts:run([all_tests | Options]).

This means that e.g. the following is possible: erl -s ts run all_tests batch cover.

Note that it is also possible to run tests with cover even if you don't use ts. See test_server_ctrl:cover/2/3.

Own Id: OTP-4703

Removed module ts_save.erl and function ts:save/0/1(incompatible).

Added config variable ipv6_hosts to ts:install/1 and test spec file.

No longer removing duplicates of test cases from test spec (incompatible).

Added function test_server:run_on_shielded_node/2.

Creation of html files for test suite source does no longer crash if suite contains more than 9999 lines of code.

Added functionality for cross cover compilation, i.e. collection of cover data from all tests.

Multiplying timetrap times with 10 when running with cover.

Added ts:r/3 for running tests with cover.

*** POTENTIAL INCOMPATIBILITY ***

Own Id: OTP-5040