Hacks to assist with testing.
Project description
Hacks to assist with testing.
Latest release 20241122: assertSingleThread: new optional exclude parameter which is a callable to test where a Thread should be ignored.
assertSingleThread(include_daemon=False, exclude=None)
Test that there is only one Thread
still running.
Parameters:
include_daemon
: also count daemonThread
s, normally skippedexclude
: optionalCallable[Thread]
to test for otherThread
s to exclude
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.
SetupTeardownMixin.setUp(self)
:
Run super().setUp()
then the set up step of self.setupTeardown()
.
SetupTeardownMixin.tearDown(self)
:
Run the tear down step of self.setupTeardown()
,
then super().tearDown()
.
Release Log
Release 20241122: assertSingleThread: new optional exclude parameter which is a callable to test where a Thread should be ignored.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cs_testutils-20241122.tar.gz
.
File metadata
- Download URL: cs_testutils-20241122.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39704928812f3a2147f33c043e1bd37e6eca0bc174d066798ece7f18386975aa |
|
MD5 | 57e041b6e9751d1f5cb73a604d5a77fd |
|
BLAKE2b-256 | 177ba53b272e1a0692d52a329ad2eb5841a3ccb30fd69de1ff34da914d53b8d3 |
File details
Details for the file cs_testutils-20241122-py3-none-any.whl
.
File metadata
- Download URL: cs_testutils-20241122-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98d5b98bcaa6d2ac05850427bca39bac3a803d4ad5180f9c4ec057fe5967eeb9 |
|
MD5 | becc4c5e0db7e1fed7fe661d00b21fa2 |
|
BLAKE2b-256 | 11d598d045706dc6f8ef2ad1d5eac25f156d5a18b713d99b93b160780064eb78 |