pysys package

Module contents

PySys System Test Framework.

PySys is an easy-to-use cross-platform framework for writing and orchestrating all your system/integration tests, combined seamlessly with your unit and manual tests.

It provides a comprehensive package of utility methods to make all the common system/integration testing operations a breeze, as well as the flexibility to add whatever test execution and validation logic you need using the full power of the Python language.

For more information see https://pypi.org/project/PySys/

Testcases are instances of a base test class (pysys.basetest.BaseTest) which provides core functionality for cross platform process management, monitoring and manipulation; in this manner an application under test (AUT) can be started and interacted with directly within a testcase. The base test class additionally provides a set of standard validation techniques based predominantly on regular expression matching within text files (e.g. stdout, logfile of the AUT etc). Testcases are executed through a base runner (pysys.baserunner.BaseRunner) which provides the mechanism to control concurrent testcase flow and auditing. In both cases the base test and runner classes have been designed to be extended for a particular AUT, e.g. to allow a higher level of abstraction over the AUT, tear up and tear down prior to executing a set of testcases etc.

PySys allows automated regression testcases to be built rapidly. Where an AUT cannot be tested in an automated fashion, testcases can be written to make use of a manual test user interface (pysys.manual.ui.ManualTester) which allows the steps required to execute the test to be presented to a tester in a concise and navigable manner. The tight integration of both manual and automated testcases provides a single framework for all test organisation requirements.

pysys.process_lock = <unlocked _thread.lock object>

Lock to be held when creating processes also while holding any resources we don’t want being passed to child processes e.g. sockets, files.