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.
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| cs.testutils-20240623.tar.gz | 3.6 kB | Without provenance | Details for cs.testutils-20240623.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cs.testutils-20240623-py3-none-any.whl | Python 3 | none | any | Details for cs.testutils-20240623-py3-none-any.whl |
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
|
Security for cs-testutils 20240623
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.