<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE chapter SYSTEM "chapter.dtd">

<chapter>
  <header>
    <copyright>
      <year>2006</year><year>2013</year>
      <holder>Ericsson AB. All Rights Reserved.</holder>
    </copyright>
    <legalnotice>
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
 
          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
    
    </legalnotice>

    <title>Test Server Release Notes History</title>
    <prepared></prepared>
    <docno></docno>
    <date></date>
    <rev></rev>
  </header>

  <section>
    <title>Test Server 3.1.1</title>

    <section>
      <title>Improvements and new features</title>
      <list type="bulleted">
        <item>
          <p>Added functions <c>test_server:break/1</c> and
            <c>test_server:continue/0</c> for semiautomatic testing.</p>
          <p><c>test_server:timetrap/1</c> can now also take
            <c>{hours,H} | {minutes,M | {seconds,S}</c>.</p>
          <p>Added function
            <c>test_server_ctrl:multiply_timetraps/1</c>,
            <c>test_server_ctrl:add_case/3</c>,
            <c>test_server_ctrl:add_cases/2/3</c>.</p>
          <p>Added test suite functions <c>init_per_suite/1</c> and
            <c>end_per_suite/1</c>.</p>
          <p><c>fin_per_testcase/2</c> is changed to
            <c>end_per_testcase/2</c>. <c>fin_per_testcase</c> is kept
            for backwards compatibility.</p>
          <p>Added support for writing own test server frameworks.
            Callback functions <c>init_tc/1</c>, <c>end_tc/3</c>, 
            <c>get_suite/2</c>, <c>report/2</c>, <c>warn/1</c>.</p>
        </item>
      </list>
    </section>
  </section>

  <section>
    <title>Test Server 3.1</title>

    <section>
      <title>Improvements and New Features</title>
      <list type="bulleted">
        <item>
          <p>Added the options <c>cover</c> and <c>cover_details</c>
            to <c>ts:run</c>. 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
            <c>test_server:start_node</c>. 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").</p>
          <p>The <c>cover_details</c> option will do 
            <c>cover:analyse_to_file</c> for each cover compiled module,
            while the <c>cover</c> option only will produce a list of
            modules and the number of covered/uncovered lines in each
            module.</p>
          <p>To make it possible to run all test from a script (like in
            the OTP daily builds), the following is added:
            <c>ts:run([all_tests | Options])</c>.</p>
          <p>This means that e.g. the following is possible:
            <c>erl -s ts run all_tests batch cover</c>.</p>
          <p>Note that it is also possible to run tests with cover even 
            if you don't use <c>ts</c>.
            See <c>test_server_ctrl:cover/2/3</c>.</p>
          <p>Own Id: OTP-4703</p>
        </item>
        <item>
          <p>Removed module <c>ts_save.erl</c> and function
            <c>ts:save/0/1</c><em>(incompatible)</em>.</p>
          <p>Added config variable <c>ipv6_hosts</c> to
            <c>ts:install/1</c> and test spec file.</p>
          <p>No longer removing duplicates of test cases from test spec
            <em>(incompatible)</em>.</p>
          <p>Added function <c>test_server:run_on_shielded_node/2</c>.</p>
          <p>Creation of html files for test suite source does no longer
            crash if suite contains more than 9999 lines of code.</p>
          <p>Added functionality for cross cover compilation,
            i.e. collection of cover data from all tests.</p>
          <p>Multiplying timetrap times with 10 when running with cover.</p>
          <p>Added <c>ts:r/3</c> for running tests with cover.</p>
          <p>*** POTENTIAL INCOMPATIBILITY ***</p>
          <p>Own Id: OTP-5040</p>
        </item>
      </list>
    </section>
  </section>
</chapter>

