The Wire-Cell Toolkit (WCT) includes a large number of tests. Developers and users are strongly encouraged to contribute even more.
The tests are not built nor run by default. Typically, normal users to not need to expend the processing time to build and run them. Tests are most needed by developers as they create and fix bugs, release managers preparing a release and expert users that are porting WCT to new platforms.
If you wish to write tests (and, developers, this means you!) read the first topics on the framework and the general document on how to write tests. You may then skip to a specific language. The topics on the data repository will be of interest for basic tests needing input and for historical tests which are then explained.
General topics on WCT testing are available at:
Tests may be developed in a few programming languages. A specific topic for each supported language is avilable:
Follow this procedure for a major release or merge.
Check out the branch to release/merge and build it in your favorite local environment.
$ ./wcb configure [...] $ ./wcb $ ./wcb install $ ./wcb --tests --alltests
Fix and commit any failures found.
Apply wide-coverage tests using winch.
$ uv tool install git+https://github.com/brettviren/winch
To install and get the configuration file if needed.
$ wget https://raw.githubusercontent.com/brettviren/winch/refs/heads/master/example/wct.toml $ emacs wct.toml
Change the gitref
in [wctdev]
to be set (or include) the branch for release/merge and then:
$ winch -c wct.toml list $ winch -c wct.toml build -i all
Fix and commit any failures found. To exercise code in a layer
$ podman run -it <image-name> > cd /winch/toolkit
Changes made to the image are not saved.
Add them as WCT tests.