Skip to main content

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 integration/system test in mind. The framework is not intended 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.

import logging
import systest

LOGGER = logging.getLogger(__name__)

# Define a testcase.
class MyTestCase(systest.TestCase):
    """Test case description.

    """

    def __init__(self, name):
        super(MyTestCase, self).__init__()
        self.name = "my_testcase_" + name

    def run(self):
        LOGGER.info("Hello!")
        self.assert_equal(1, 1)
        self.assert_true(1 == 1)
        self.assert_in(1 in [1, 2])
        self.assert_none(None)

        with self.assert_raises(RuntimeError) as cm:
            raise RuntimeError('foo')

        self.assert_equal(str(cm.exception), 'foo')


sequencer = systest.setup("my_sequence")

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

sequencer.report_and_exit()

The output is:

Name: my_sequence
Date: 2020-05-30 11:41:49.712832
Node: erik-GR8
User: erik

---------------------------------------------------------------

Name: my_testcase_1
Description:

    Test case description.

Hello!

my_testcase_1: PASSED in 0 seconds

---------------------------------------------------------------

Name: my_testcase_2
Description:

    Test case description.

Hello!

my_testcase_2: PASSED in 0 seconds

---------------------------------------------------------------

Name: my_testcase_3
Description:

    Test case description.

Hello!

my_testcase_3: PASSED in 0 seconds

---------------------------------------------------------------

Name: my_testcase_4
Description:

    Test case description.

Hello!

my_testcase_4: PASSED in 0 seconds

---------------------------------------------------------------

Name: my_testcase_5
Description:

    Test case description.

Hello!

my_testcase_5: PASSED in 0 seconds

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

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

Execution time: 0.02 seconds
Result: PASSED (5 passed, 5 total)

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

Metadata

Release files for systest 5.19.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for systest 5.19.0
File Size Uploaded
systest-5.19.0.tar.gz 24.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for systest 5.19.0
File Interpreter ABI Platform
systest-5.19.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.4 kB

Release files / systest-5.19.0.tar.gz

Download URL systest-5.19.0.tar.gz
Size 24.0 kB
Tags Source
SHA-256 checksum
How to use checksums
81efd73830e86cf2d4432e258610bd67a1e85f5e137e0893e433ee9bdf6885d6
BLAKE2b-256 checksum
How to use checksums
34608cdb0d556e49d2dc24e85851002a74759e7b2b429a46a18075ddb74fe62f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / systest-5.19.0-py3-none-any.whl

Download URL systest-5.19.0-py3-none-any.whl
Size 11.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3876382324f816cd1ab57044ff70e8ab62c9dbb4b7c714ad2e781d558977bc65
BLAKE2b-256 checksum
How to use checksums
6d5e1d34a89f543e71e251c3e47036c59aa405f9b0ccbe41ca24761d3279312e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

5.20.0

2 release files

This release

5.19.0 This release

2 release files

5.18.1

2 release files

5.18.0

2 release files

5.12.0

2 release files

5.11.0

2 release files

5.10.0

2 release files

5.9.0

2 release files

5.8.0

2 release files

5.7.0

2 release files

5.6.0

2 release files

5.5.0

2 release files

5.4.0

2 release files

5.3.1

2 release files

5.3.0

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.0.0

2 release files

3.9.0

2 release files

3.8.2

2 release files

3.8.1

2 release files

3.8.0

2 release files

3.7.0

2 release files

3.6.0

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page