<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Product Tests</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#000099" vlink="#660066" alink="#FF0000">
<div align="center">
<p>
<a href="http://www.ravenbrook.com/">Ravenbrook</a> /
<a href="http://www.ravenbrook.com/project/">Projects</a> /
<a href="http://www.ravenbrook.com/project/p4dti/">Perforce Defect Tracking Integration</a> /
<a href="../index.html">Version 2.1 Product Sources</a>
</p>
<p><i><a href="http://www.ravenbrook.com/project/p4dti/">Perforce Defect Tracking Integration Project</a></i></p>
<hr />
<h1>Product Tests</h1>
<address>
<a href="mailto:rb@ravenbrook.com">Richard Brooksby</a>,
<a href="http://www.ravenbrook.com/">Ravenbrook Limited</a>,
2000-12-13
</address>
</div>
<h2><a id="section-1" name="section-1">1. Introduction</a></h2>
<p> This document lists the test scripts and supporting files which have been written to measure the quality of the Perforce Defect Tracking Integration product. </p>
<p> This document will be updated as new tests are created. </p>
<p> The readership of this document is anyone developing or extending the product sources. </p>
<p> This document is not confidential. </p>
<p> The test design document [<a title="Test design"
href="../design/test/index.html">GDR 2001-07-02</a>]
describes how the tests are implemented and how to run them. </p>
<h2><a id="section-2" name="section-2">2. Test files</a></h2>
<table>
<tr valign="top">
<td> <code><a href="bugzilla-2.10-mysqldump">bugzilla-2.10-mysqldump</a></code> </td>
<td> Output of <code>mysqldump</code> on a Bugzilla 2.10
installation. </td>
</tr>
<tr valign="top">
<td> <code><a href="bugzilla-2.14.3-win32-patch">bugzilla-2.14.3-win32-patch</a></code> </td>
<td> A pre-cooked patch for Bugzilla 2.14.3 to enable it to run on Windows.</td>
</tr>
<tr valign="top">
<td> <code><a href="bugzilla-2.14-mysqldump">bugzilla-2.14-mysqldump</a></code> </td>
<td> Output of <code>mysqldump</code> on a Bugzilla 2.14 installation
set up according to [<a title="making a better bugzilla test database"
href="http://info.ravenbrook.com/mail/2001/10/16/14-49-45/0.txt">NB
2001-10-17</a>]. Used by the test cases in
<a href="test_p4dti.py"><code>test_p4dti.py</code></a>. </td>
</tr>
<tr valign="top">
<td> <code><a href="bugzilla-2.14-ravenbrook">bugzilla-2.14-ravenbrook</a></code> </td>
<td> Output of <code>mysqldump</code> on a Bugzilla 2.14 installation
set up to match (as closely as possible given the limitations of
Bugzilla) Ravenbrook's issue schema. Used for testing
migration. </td>
</tr>
<tr valign="top">
<td> <code><a href="bugzilla-2.14-win32-patch">bugzilla-2.14-win32-patch</a></code> </td>
<td> A pre-cooked patch for Bugzilla 2.14 to enable it to run on Windows.</td>
</tr>
<tr valign="top">
<td> <code><a href="check_xhtml.py">check_xhtml.py</a></code> </td>
<td> Python module for checking that a document uses XHTML correctly. </td>
</tr>
<tr valign="top">
<td> <code><a href="config_grouse.py">config_grouse.py</a></code> </td>
<td> Test configuration for the Bugzilla integration on grouse.ravenbrook.com. </td>
</tr>
<tr valign="top">
<td> <code><a href="config_parrus.py">config_parrus.py</a></code> </td>
<td> Test configuration for the Bugzilla integration on a parrus.com server. Contributed by parrus.com. </td>
</tr>
<tr valign="top">
<td> <code><a href="config_ravenbrook_bz.py">config_ravenbrook_bz.py</a></code> </td>
<td> Test configuration for migrating Ravenbrook jobs to Bugzilla. </td>
</tr>
<tr valign="top">
<td> <code><a href="config_sandpiper_bz.py">config_sandpiper_bz.py</a></code> </td>
<td> Test configuration for the Bugzilla integration on sandpiper.ravenbrook.com (Windows). </td>
</tr>
<tr valign="top">
<td> <code><a href="config_swan.py">config_swan.py</a></code> </td>
<td> Test configuration for the Bugzilla integration on swan.ravenbrook.com. </td>
</tr>
<tr valign="top">
<td> <code><a href="config_thrush.py">config_thrush.py</a></code> </td>
<td> Test configuration for the Bugzilla integration on thrush.ravenbrook.com (FreeBSD). </td>
</tr>
<tr valign="top">
<td> <code><a href="coverage.py">coverage.py</a></code> </td>
<td> Python module for computing statement coverage of source code by
a test suite. </td>
</tr>
<tr valign="top">
<td> <code><a href="fake_p4d_no_changelevel.py">fake_p4d_no_changelevel.py</a></code> </td>
<td> Python script that pretends to be a Perforce client (that is
supported by the P4DTI) connected to a Perforce server that doesn't
provide a recognizable changelevel. Used by the "bogus" test case in
<a href="test_p4dti.py"><code>test_p4dti.py</code></a>. </td>
</tr>
<tr valign="top">
<td> <code><a href="fake_p4d_old_changelevel.py">fake_p4d_old_changelevel.py</a></code> </td>
<td> Python script that pretends to be a Perforce client (that is
supported by the P4DTI) connected to a Perforce server that isn't
supported by the P4DTI (because its changelevel is too old). Used by
the "bogus" test case in <a
href="test_p4dti.py"><code>test_p4dti.py</code></a>. </td>
</tr>
<tr valign="top">
<td> <code><a href="fake_p4.py">fake_p4.py</a></code> </td>
<td> Python script that pretends to be a Perforce client that isn't
supported by the P4DTI. This allows the "bogus" test case in
<a href="test_p4dti.py"><code>test_p4dti.py</code></a> to check that this is detected and the
correct error message produced. </td>
</tr>
<tr valign="top">
<td> <code><a href="job000352-mysqldump">job000352-mysqldump</a></code> </td>
<td> Output of <code>mysqldump</code> on a Bugzilla 2.14 installation
set up according to [<a title="making a better bugzilla test database"
href="http://info.ravenbrook.com/mail/2001/10/16/14-49-45/0.txt">NB
2001-10-17</a>] and then updated so that login names are the local
part of the e-mail address (so suitable for use in a Bugzilla
installation with emailsuffix parameter turned on). Used by the
"emailsuffix" test case in <a
href="test_p4dti.py"><code>test_p4dti.py</code></a> (regression test
for <a href="http://www.ravenbrook.com/project/p4dti/issue/job000352/">job000352</a>). </td>
</tr>
<tr valign="top">
<td> <code><a href="job000445-mysqldump">job000445-mysqldump</a></code> </td>
<td> Output of <code>mysqldump</code> on a Bugzilla 2.14 installation
set up according to [<a title="making a better bugzilla test database"
href="http://info.ravenbrook.com/mail/2001/10/16/14-49-45/0.txt">NB
2001-10-17</a>] and then updated so that it has enumerated fields with
spaces in them. Used by the "enum_spaces" test case in <a
href="test_p4dti.py"><code>test_p4dti.py</code></a> (regression test
for <a href="http://www.ravenbrook.com/project/p4dti/issue/job000445/">job000445</a>). </td>
</tr>
<tr valign="top">
<td> <code><a href="p4dti_unittest.py">p4dti_unittest.py</a></code> </td>
<td> Extension to the PyUnit test framework [<a title="PyUnit - a unit
testing framework for Python"
href="http://pyunit.sourceforge.net/">PyUnit</a>] that supports
data-driven tests [<a title="Data-driven tests"
href="http://info.ravenbrook.com/mail/2001/04/28/17-52-55/0.txt">GDR
2001-04-24</a>]. </td>
</tr>
<tr valign="top">
<td> <code><a href="perforce_sample_data.py">perforce_sample_data.py</a></code> </td>
<td> Script that generates a sample Perforce repository and which generates bug-fixing activity in that repository. </td>
</tr>
<tr valign="top">
<td> <code><a href="run_tests.py">run_tests.py</a></code> </td>
<td> Python script: run all tests in this directory. </td>
</tr>
<tr valign="top">
<td> <code><a href="test_catalog.py">test_catalog.py</a></code> </td>
<td> Unit tests for the <a href="../code/replicator/catalog.py"><code>catalog</code></a> module. </td>
</tr>
<tr valign="top">
<td> <code><a href="test_check_config.py">test_check_config.py</a></code> </td>
<td> Unit tests for the <a href="../code/replicator/check_config.py"><code>check_config</code></a> module. </td>
</tr>
<tr valign="top">
<td> <code><a href="test_check_xhtml.py">test_check_xhtml.py</a></code> </td>
<td> Unit tests for the <a href="check_xhtml.py"><code>check_xhtml</code></a> module. </td>
</tr>
<tr valign="top">
<td> <code><a href="test_logger.py">test_logger.py</a></code> </td>
<td> Unit tests for the <a href="../code/replicator/logger.py"><code>logger</code></a> module. </td>
</tr>
<tr valign="top">
<td> <code><a href="test_message.py">test_message.py</a></code> </td>
<td> Unit tests for the <a href="../code/replicator/message.py"><code>message</code></a> module. </td>
</tr>
<tr valign="top">
<td> <code><a href="test_p4dti.py">test_p4dti.py</a></code> </td>
<td> Unit tests for the P4DTI (starting, configuration, operation, errors, ...). </td>
</tr>
<tr valign="top">
<td> <code><a href="test_translator.py">test_translator.py</a></code> </td>
<td> Unit tests for the <a href="../code/replicator/translator.py"><code>translator</code></a> module. </td>
</tr>
<tr valign="top">
<td> <code><a href="test_xhtml.py">test_xhtml.py</a></code> </td>
<td> Unit tests checking that project documents use XHTML correctly. </td>
</tr>
</table>
<h2><a id="section-A" name="section-A">A. References</a></h2>
<table>
<tr valign="top">
<td>[<a id="ref-NB-2001-10-17" name="ref-NB-2001-10-17" href="http://info.ravenbrook.com/mail/2001/10/16/14-49-45/0.txt">NB 2001-10-17</a>]</td>
<td>
"making a better bugzilla test database" (e-mail message);
<a href="mailto:nb@ravenbrook.com">Nick Barnes</a>;
<a href="http://www.ravenbrook.com/">Ravenbrook Limited</a>;
2001-10-17.
</td>
</tr>
<tr valign="top">
<td>[<a id="ref-GDR-2001-04-24" name="ref-GDR-2001-04-24" href="http://info.ravenbrook.com/mail/2001/04/28/17-52-55/0.txt">GDR 2001-04-24</a>]</td>
<td>
"Data-driven tests" (e-mail message);
<a href="mailto:gdr@ravenbrook.com">Gareth Rees</a>;
<a href="http://www.ravenbrook.com/">Ravenbrook Limited</a>;
2001-04-24.
</td>
</tr>
<tr valign="top">
<td>[<a id="ref-GDR-2001-07-02" name="ref-GDR-2001-07-02" href="../design/test/index.html">GDR 2001-07-02</a>]</td>
<td>
"Test design";
<a href="mailto:gdr@ravenbrook.com">Gareth Rees</a>;
<a href="http://www.ravenbrook.com/">Ravenbrook Limited</a>;
2001-07-02.
</td>
</tr>
<tr valign="top">
<td>[<a id="ref-PyUnit" name="ref-PyUnit" href="http://pyunit.sourceforge.net/">PyUnit</a>]</td>
<td>
"PyUnit - a unit testing framework for Python";
<a href="mailto:stephen_purcell@yahoo.com">Steve Purcell</a>.
</td>
</tr>
</table>
<h2><a id="section-B" name="section-B">B. Document History</a></h2>
<table>
<tr valign="top">
<td>2000-12-13</td>
<td><a href="mailto:rb@ravenbrook.com">RB</a></td>
<td>Created as placeholder.</td>
</tr>
<tr valign="top">
<td>2001-02-27</td>
<td><a href="mailto:gdr@ravenbrook.com">GDR</a></td>
<td>Added TeamTrack test procedure, sample TeamTrack database, and two test scripts.</td>
</tr>
<tr valign="top">
<td> 2001-03-02 </td>
<td> <a href="mailto:rb@ravenbrook.com">RB</a> </td>
<td> Transferred copyright to Perforce under their license. </td>
</tr>
<tr valign="top">
<td>2001-03-13</td>
<td><a href="mailto:gdr@ravenbrook.com">GDR</a></td>
<td>Added test framework (section 2) and unit tests (section 3); old test material is now under the heading "system tests" (section 4).</td>
</tr>
<tr valign="top">
<td>2001-03-14</td>
<td><a href="mailto:gdr@ravenbrook.com">GDR</a></td>
<td>Added <code>test_catalog.py</code> and <code>test_check_config.py</code>.</td>
</tr>
<tr valign="top">
<td>2001-04-19</td>
<td><a href="mailto:gdr@ravenbrook.com">GDR</a></td>
<td>Added <code>test_teamtrack.py</code>.</td>
</tr>
<tr valign="top">
<td>2001-07-02</td>
<td><a href="mailto:gdr@ravenbrook.com">GDR</a></td>
<td>Brought list of files up to date. Moved design to [<a title="Test design" href="../design/test/index.html">GDR 2001-07-02</a>]. </td>
</tr>
<tr valign="top">
<td>2001-07-03</td>
<td><a href="mailto:gdr@ravenbrook.com">GDR</a></td>
<td>Added <code>teamtrack-4.5c5.0.mdb</code>.</td>
</tr>
<tr valign="top">
<td>2001-07-25</td>
<td><a href="mailto:gdr@ravenbrook.com">GDR</a></td>
<td>Added <code>check_xhtml.py</code>, <code>test_check_xhtml.py</code> and <code>test_xhtml.py</code>.</td>
</tr>
<tr valign="top">
<td>2001-12-05</td>
<td><a href="mailto:gdr@ravenbrook.com">GDR</a></td>
<td>Added <code>coverage.py</code>.</td>
</tr>
<tr valign="top">
<td>2001-12-07</td>
<td><a href="mailto:gdr@ravenbrook.com">GDR</a></td>
<td>Added <code>test_logger.py</code>.</td>
</tr>
<tr valign="top">
<td>2002-01-24</td>
<td><a href="mailto:gdr@ravenbrook.com">GDR</a></td>
<td>Added <code>job000352-mysqldump</code>, <code>job000445-mysqldump</code>, <code>teamtrack-5.02.mdb</code>.</td>
</tr>
<tr valign="top">
<td>2003-05-23</td>
<td><a href="mailto:nb@swan.ravenbrook.com">NB</a></td>
<td>Brought up-to-date.</td>
</tr>
</table>
<hr />
<p> <small>This document is copyright © 2001 Perforce Software, Inc. All rights reserved.</small> </p>
<p> <small>Redistribution and use of this document in any form, with or without modification, is permitted provided that redistributions of this document retain the above copyright notice, this condition and the following disclaimer.</small> </p>
<p> <small> <strong> This document is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright holders and contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this document, even if advised of the possibility of such damage. </strong> </small> </p>
<div align="center">
<p><code>$Id: //info.ravenbrook.com/project/p4dti/version/2.1/test/index.html#2 $</code></p>
<p>
<a href="http://www.ravenbrook.com/">Ravenbrook</a> /
<a href="http://www.ravenbrook.com/project/">Projects</a> /
<a href="http://www.ravenbrook.com/project/p4dti/">Perforce Defect Tracking Integration</a> /
<a href="../index.html">Version 2.1 Product Sources</a>
</p>
</div>
</body>
</html>