<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE chapter SYSTEM "chapter.dtd">

<chapter>
  <header>
    <copyright>
      <year>2006</year><year>2009</year>
      <holder>Ericsson AB. All Rights Reserved.</holder>
    </copyright>
    <legalnotice>
      The contents of this file are subject to the Erlang Public License,
      Version 1.1, (the "License"); you may not use this file except in
      compliance with the License. You should have received a copy of the
      Erlang Public License along with this software. If not, it can be
      retrieved online at http://www.erlang.org/.
    
      Software distributed under the License is distributed on an "AS IS"
      basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
      the License for the specific language governing rights 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>

