Ravenbrook / Projects / Perforce Defect Tracking Integration / Master Product Sources

Perforce Defect Tracking Integration Project


Product Tests

Richard Brooksby, Ravenbrook Limited, 2000-12-13

1. Introduction

This document lists the test scripts and supporting files which have been written to measure the quality of the Perforce Defect Tracking Integration product.

This document will be updated as new tests are created.

The readership of this document is anyone developing or extending the product sources.

This document is not confidential.

The test design document [GDR 2001-07-02] describes how the tests are implemented and how to run them.

2. Test files

bugzilla-2.10-mysqldump Output of mysqldump on a Bugzilla 2.10 installation.
bugzilla-2.14.3-win32-patch A pre-cooked patch for Bugzilla 2.14.3 to enable it to run on Windows.
bugzilla-2.14-mysqldump Output of mysqldump on a Bugzilla 2.14 installation set up according to [NB 2001-10-17]. Used by the test cases in test_p4dti.py.
bugzilla-2.14-ravenbrook Output of mysqldump 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.
bugzilla-2.14-win32-patch A pre-cooked patch for Bugzilla 2.14 to enable it to run on Windows.
check_xhtml.py Python module for checking that a document uses XHTML correctly.
config_grouse.py Test configuration for the Bugzilla integration on grouse.ravenbrook.com.
config_parrus.py Test configuration for the Bugzilla integration on a parrus.com server. Contributed by parrus.com.
config_ravenbrook_bz.py Test configuration for migrating Ravenbrook jobs to Bugzilla.
config_sandpiper_bz.py Test configuration for the Bugzilla integration on sandpiper.ravenbrook.com (Windows).
config_swan.py Test configuration for the Bugzilla integration on swan.ravenbrook.com.
config_thrush.py Test configuration for the Bugzilla integration on thrush.ravenbrook.com (FreeBSD).
coverage.py Python module for computing statement coverage of source code by a test suite.
fake_p4d_no_changelevel.py 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 test_p4dti.py.
fake_p4d_old_changelevel.py 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 test_p4dti.py.
fake_p4.py Python script that pretends to be a Perforce client that isn't supported by the P4DTI. This allows the "bogus" test case in test_p4dti.py to check that this is detected and the correct error message produced.
job000352-mysqldump Output of mysqldump on a Bugzilla 2.14 installation set up according to [NB 2001-10-17] 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 test_p4dti.py (regression test for job000352).
job000445-mysqldump Output of mysqldump on a Bugzilla 2.14 installation set up according to [NB 2001-10-17] and then updated so that it has enumerated fields with spaces in them. Used by the "enum_spaces" test case in test_p4dti.py (regression test for job000445).
p4dti_unittest.py Extension to the PyUnit test framework [PyUnit] that supports data-driven tests [GDR 2001-04-24].
perforce_sample_data.py Script that generates a sample Perforce repository and which generates bug-fixing activity in that repository.
run_tests.py Python script: run all tests in this directory.
test_catalog.py Unit tests for the catalog module.
test_check_config.py Unit tests for the check_config module.
test_check_xhtml.py Unit tests for the check_xhtml module.
test_logger.py Unit tests for the logger module.
test_message.py Unit tests for the message module.
test_p4dti.py Unit tests for the P4DTI (starting, configuration, operation, errors, ...).
test_translator.py Unit tests for the translator module.
test_xhtml.py Unit tests checking that project documents use XHTML correctly.

A. References

[NB 2001-10-17] "making a better bugzilla test database" (e-mail message); Nick Barnes; Ravenbrook Limited; 2001-10-17.
[GDR 2001-04-24] "Data-driven tests" (e-mail message); Gareth Rees; Ravenbrook Limited; 2001-04-24.
[GDR 2001-07-02] "Test design"; Gareth Rees; Ravenbrook Limited; 2001-07-02.
[PyUnit] "PyUnit - a unit testing framework for Python"; Steve Purcell.

B. Document History

2000-12-13 RB Created as placeholder.
2001-02-27 GDR Added TeamTrack test procedure, sample TeamTrack database, and two test scripts.
2001-03-02 RB Transferred copyright to Perforce under their license.
2001-03-13 GDR Added test framework (section 2) and unit tests (section 3); old test material is now under the heading "system tests" (section 4).
2001-03-14 GDR Added test_catalog.py and test_check_config.py.
2001-04-19 GDR Added test_teamtrack.py.
2001-07-02 GDR Brought list of files up to date. Moved design to [GDR 2001-07-02].
2001-07-03 GDR Added teamtrack-4.5c5.0.mdb.
2001-07-25 GDR Added check_xhtml.py, test_check_xhtml.py and test_xhtml.py.
2001-12-05 GDR Added coverage.py.
2001-12-07 GDR Added test_logger.py.
2002-01-24 GDR Added job000352-mysqldump, job000445-mysqldump, teamtrack-5.02.mdb.
2003-05-23 NB Brought up-to-date.

This document is copyright © 2001 Perforce Software, Inc. All rights reserved.

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.

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.

$Id: //info.ravenbrook.com/project/p4dti/branch/2005-03-02/agena-extension/test/index.html#1 $

Ravenbrook / Projects / Perforce Defect Tracking Integration / Master Product Sources