rugnux gained --model - R-free and 2Fo-Fc/Fo-Fc maps against an atomic model, and with it the resolution of the enantiomorph and of a merohedral indexing ambiguity - without the page ever mentioning it. It was the only option missing; the two lists now agree in both directions, checked against the usage the binary prints. The viewer page still said results are never saved and that no Windows package exists. Both have been false for a while: the Processing panel runs full rugnux jobs on the open dataset, writes _process.h5 and the merged reflections, registers each run as a selectable view so runs can be compared, and can hand out the equivalent command line for a cluster; and the installer is published with every release. The mask menu also loads TIFFs now, and the View menu has layout presets. The writer page documented -R for the root directory, which is the back-compatibility alias for -d, and an HTTP status interface that no longer exists - status reaches the broker over the writer notification socket, and a writer is stopped with a signal. The test page pointed at .gitlab-ci.yml and at jfjoch_offline_process, which is not a binary any more; the CrystFEL fixture pointed at HDF5DatasetWriteTest, which is not either. The broker page linked ../broker/redoc-static.html, which MyST resolved by copying the 700 kB file into _downloads/ rather than using the copy already in _static. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1.6 KiB
Tests
The unit and integration tests are written with Catch2 and
collected into a single binary, tests/jfjoch_test. Build and run it with:
make -j$(nproc) jfjoch_test
cd tests
./jfjoch_test # everything
./jfjoch_test "<test name>" # one test case
./jfjoch_test "[tag]" # by tag
There are also benchmark and hardware routines, each printing its own usage:
jfjoch_hdf5_testto measure HDF5 dataset writing speed (single threaded). It doubles as the generator of the HDF5 files used by the external-software tests below.jfjoch_lite_perf_testto measure the CPU/GPU ("lite") analysis path - indexing, integration and optional file writing.jfjoch_fpga_testto test quality/performance of FPGA card(s) and software routines. With-Hit runs the high-level-synthesis C model on the CPU, so no FPGA device is needed.
Out-of-space handling is covered separately by jfjoch_hdf5_enospc_test, run under the enospc_shim
LD_PRELOAD module that makes writes fail with ENOSPC.
In addition, tests are executed to verify that datasets written by Jungfraujoch are readable by
other MX software (see Integration with MX data processing software) -
XDS through the Jungfraujoch, Durin and Neggia plugins, and DIALS xia2.ssx - for each of the
NXmx layouts. Input files for these programs are placed in the tests/xds, tests/xds_durin,
tests/xds_neggia and tests/crystfel folders. See .gitea/workflows/build_and_test.yml for the
exact commands; the CrystFEL fixtures are run by hand rather than in the pipeline.