Skip to main content

System test framework with serial and parallel execution.

Project description

buildstatus

Installation

pip install systest

Description

Execute a sequence of test cases in serial and/or parallel.

Test cases in a list are executed in serial and test cases in a tuple are executed in parallel in separate Python threads.

This framework is created with production test in mind, trying to make it possible to minimize the test execution time by executing tests in parallel. The framework is not indended as a replacement for unittest, but rather to be a complement to it.

Documentation: http://systest.readthedocs.org/en/latest

Example usage

See the test suite: https://github.com/eerimoq/systest/blob/master/tests/test_systest.py

For example, the sequence below starts with test case MyTestCase("1"). When MyTestCase("1") has been executed, MyTestCase("2") and the list of MyTestCase("3") and MyTestCase("4") are executed in parallel. When both MyTestCase("2") and the list of MyTestCase("3") and MyTestCase("4") has been executed, MyTestCase("5") is executed. Then the sequence ends.

from systest import TestCase, Sequencer

class MyTestCase(TestCase):
    def __init__(self, name):
        super(MyTestCase, self).__init__()
        self.name = "my_testcase_" + name
    def run(self):
        print("Hello!")

sequencer = Sequencer("my_sequence")

sequencer.run([
        MyTestCase("1"),
        (
            MyTestCase("2"),
            [
                MyTestCase("3"),
                MyTestCase("4")
            ]
        ),
        MyTestCase("5")
    ])

sequencer.report()

The output is:

Name: my_sequence
Date: 2016-02-02 18:42:40.446213
Node: erik-VirtualBox
User: erik
---------------------------------------------------------------
Name: my_testcase_1
Description:
None
Hello!

my_testcase_1: PASSED in 0m 0s
---------------------------------------------------------------
Name: my_testcase_2
Description:
None
Hello!

my_testcase_2: PASSED in 0m 0s
---------------------------------------------------------------
Name: my_testcase_3
Description:
None
Hello!

my_testcase_3: PASSED in 0m 0s
---------------------------------------------------------------
Name: my_testcase_4
Description:
None
Hello!

my_testcase_4: PASSED in 0m 0s
---------------------------------------------------------------
Name: my_testcase_5
Description:
None
Hello!

my_testcase_5: PASSED in 0m 0s

---------------------- Test summary begin ----------------------

[
    [
        my_testcase_1: PASSED,
        (
            my_testcase_2: PASSED,
            [
                my_testcase_3: PASSED,
                my_testcase_4: PASSED
            ]
        ),
        my_testcase_5: PASSED
    ]
]

Execution time: 0m 0s

----------------------- Test summary end -----------------------

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

systest-1.3.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

systest-1.3.0-py2.py3-none-any.whl (7.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file systest-1.3.0.tar.gz.

File metadata

  • Download URL: systest-1.3.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for systest-1.3.0.tar.gz
Algorithm Hash digest
SHA256 91ebae14876761b953c780c86e853399d24e5aff223f2faf7fae5d79f5605e4a
MD5 21dda78bb0d2a3a943f39c74afb74d3d
BLAKE2b-256 701a21712d6162486ae8092689279748f703f48d8aedb185ee51dcd4846e0fd9

See more details on using hashes here.

File details

Details for the file systest-1.3.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for systest-1.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2867378a2b5058fee057e3a132d30208d13c0978464a94a2bf26c19b35f5fd1c
MD5 9b7f8af1c25172b442a6b6370f32eb77
BLAKE2b-256 587205b4dd9db6f2e44ff438cfd6749aaf487b066b8db50cd63da7b3f0bfb6c3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page