Hacks to assist with testing.
Latest release 20240623: New assertSingleThread() function to check that there are no left over Threads.
Function assertSingleThread(include_daemon=False)
Test that the is only one Thread still running.
Function product_test(*da, **dkw)
Decorator for test methods which should run subTests
against the Cartesian products from params.
A specific TestCase would define its own decorator and apply it throughout the suite. Here is an example from cs.vt.datadir_tests:
def multitest(test_method): return product_test( test_method, datadirclass=[DataDir, RawDataDir], indexclass=[ indexclass_by_name(indexname) for indexname in sorted(indexclass_names()) ], hashclass=[ HASHCLASS_BY_NAME[hashname] for hashname in sorted(HASHCLASS_BY_NAME.keys()) ], )
whose test suite then just decorates each method with @multitest:
@multitest
def test000IndexEntry(self):
....
Note that because there must be setup and teardown for each product,
the TestCase class may well have empty setUp and tearDown methods
and instead is expected to provide:
product_setup(self,**params): a setup method taking keyword arguments for each productproduct_teardown(self): the corresponding testdown method There are called around eachsubTest.
Class SetupTeardownMixin
A mixin to support a single setupTeardown() context manager method.
Method SetupTeardownMixin.setUp(self):
Run super().setUp() then the set up step of self.setupTeardown().
Method SetupTeardownMixin.tearDown(self):
Run the tear down step of self.setupTeardown(),
then super().tearDown().
Release Log
Release 20240623: New assertSingleThread() function to check that there are no left over Threads.
Release 20230109:
- @product_test decorator for running test matrices.
- SetupTeardownMixin providing unittest setUp/tearDown from setupTeardown context manager method.
Release files for cs-testutils 20240623
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cs.testutils-20240623.tar.gz | 3.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cs.testutils-20240623-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.6 kB
Release files / cs.testutils-20240623.tar.gz
| Download URL | cs.testutils-20240623.tar.gz |
|---|---|
| Size | 3.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
39518669cfc74f612ba7edafb8a867d95c545b12839630733648fd1809fdca5f
|
|
BLAKE2b-256 checksum How to use checksums |
7fa581014b4ee062a5df1d6ec9cc27abf8d47f9e64ea8f78c8be44290f4c98a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.6
|
Release files / cs.testutils-20240623-py3-none-any.whl
| Download URL | cs.testutils-20240623-py3-none-any.whl |
|---|---|
| Size | 4.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
858e73f18c12e0301ac87014c29c39f4dfe7c5d7320e23df175f9f7ba4b446af
|
|
BLAKE2b-256 checksum How to use checksums |
5eb71805442143484300836e28f431645c5b68d4e8b227c56488d952357e0f7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.6
|