A fast, lightweight implementation of the WFDB library and command-line tools, with identical behavior across seven programming languages
The tests shared by the seven implementations. Each implementation also has
unit tests of its own, in its directory (for example python/tests,
cpp/tests, rust/tests).
| Directory | Contents |
|---|---|
conformance/ |
The conformance suite: 1098 command-line test cases, and 877 more for legacy mode, whose expected results were produced by the original C programs (except for 20 inputs on which C crashes, whose results are WFDB-x’s documented behavior), run by a harness that works with any implementation |
data/ |
The test records and input files, most of them written by the original C library |
reference/ |
How the reference results are made: the build of the original C package, the deliberate divergences of WFDB-x as a patch, and the C programs that wrote the test records and the expected values of the library unit tests |
To check an implementation, from the repository root:
PYTHONPATH=$PWD/python/src python3 tests/conformance/harness.py check --impl python -j4
PYTHONPATH=$PWD/python/src python3 tests/conformance/harness.py check --impl python -j4 --legacy
(--impl is one of python, cpp, rust, julia, r, octave,
matlab, kotlin.) docs/conformance.md
describes the suite in full.