Skip to content

Latest commit

 

History

History
83 lines (58 loc) · 2.48 KB

README.org

File metadata and controls

83 lines (58 loc) · 2.48 KB

Wire-Cell Toolkit Testing

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

General topics on WCT testing are available at:

Languages

Tests may be developed in a few programming languages. A specific topic for each supported language is avilable:

Release procedure

Follow this procedure for a major release or merge.

Local tests

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.

Wide coverage tests

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.

Other tests

Add them as WCT tests.