comptests
=========
Testing utilities built on top of [ConfTools][conftools], [CompMake][compmake]
and [QuickApp][quickapp].
Basic Usage
-----------
This is the usage for packages that register objects using [ConfTools][conftools].
# Defining tests
Call the function ``comptests_for_all`` to create a decorator:
# get the library (ObjSpec)
library_robots = get_conftools_robots()
# Create a test decorator
for_all_robots = comptests_for_all(library_robots)
# Use the decorator to specify tests. Test functions
# must take two arguments: id object and object itself
@for_all_robots
def check_robot_type(id_robot, robot):
assert isinstance(robot, RobotInterface)
You can also register tests for pairs:
library_nuisances = get_conftools_nuisances()
for_all_robot_nuisance_pairs = comptests_for_all_pairs(library_robots, library_nuisances)
@for_all_robot_nuisance_pairs
def check_nuisances_obs(id_robot, robot, id_nuisance, nuisance):
check_conversions(robot.get_spec().get_observations(), nuisance)
# Running tests
Use the command line:
comptests <module>
This looks for the ``get_comptests()`` function in ``<module>``:
def get_comptests():
get_comptests():
# get testing configuration directory
from pkg_resources import resource_filename
dirname = resource_filename("boot_agents", "configs")
# load unittests
from . import unittests
from comptests import get_comptests_app
# Get the Quickapp for the boot_config
app = get_comptests_app(get_boot_config())
return [app]
Finding coverage information
============================
It's very usuful to use the ``coverage`` tool together with comptests.
Install the ``coverage`` tool:
pip install coverage
If ``coverage`` is installed then comptests automatically computes
the coverage information for nosetests execution.
To do the coverage information for the comptests, run like this:
coverage run =comptests -c "make recurse=1" <package>
Note that you cannot use parallel testing (using ``parmake``) otherwise
coverage gets confused.
This displays the results:
coverage report -m
Then create the HTML report:
coverage html -d outdir
Metadata
Release files for comptests 1.4.34
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 |
|---|---|---|---|---|
| comptests-1.4.34.tar.gz | 21.8 kB | Without provenance | Details for comptests-1.4.34.tar.gz |
Release files / comptests-1.4.34.tar.gz
| Download URL | comptests-1.4.34.tar.gz |
|---|---|
| Size | 21.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
09bf3a2e3b062879add62c62f3afb454f22474823992b3a8a9549af21614062d
|
|
BLAKE2b-256 checksum How to use checksums |
7c1f79709787695701063936731f9a0519268ed453d8a3b36c19bb2c944f222c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
|
Security for comptests 1.4.34
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.