A suite of regression tests to help automate validation of new builds/features in j2ms2/tConvert/other tools
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
haavee 1ced4db1e5 Pull fixed jive-toolchain-verify submodule 4 months ago
ES085A If run from "main" all test res in same tempdir 1 year ago
N20L2 add documentation + image 1 year ago
jive-toolchain-verify@a21efada2a Pull fixed jive-toolchain-verify submodule 4 months ago
python Download testdata 1 year ago
.gitignore Important files that shoulda been added 2 years ago
.gitmodules git submodule should be gotten from https 1 year ago
.run_main_from_here Important files that shoulda been added 2 years ago
README.md add documentation + image 1 year ago
data-to-archive.cmd save location of data dir on archive 1 year ago
main Handle ^C during execution gracefully 1 year ago



Provide regression test(s) for j2ms2 / tConvert that can be run in (semi)automated fashion. The programs translate JIVE software correlator (SFXC) output into CASA MeasurementSet and FITS-IDI format.

The goal of this testsuite is to verify that changes in the source code do not alter the data and meta data content unexpectedly by running the toolchain-under-test on data with known properties.

The test suite tests the following:

  • verify that the j2ms2 and tConvert under test run succesfully
  • compare several aspects of the newly created output with pre-existing known-good output:
    • data content is still the same (integrated weight per baseline/source combination)
    • meta data content is still the same (antenna, source, and frequency table content)

The test cleans up after itself if all tests have passed without errors. Otherwise all artefacts (produced data sets and log files) will be left and a message is printed containing the location of the artefacts.

Check the subdirectories' README.md for detailed information about which tests are performed.


The regression test suite depends on the following other tools:


j2ms2 and tConvert come in a pair, typically built or installed from the same source distribution. The framework uses Python unittest to execute. However, due to the fact that python -m unittest discover does not allow passing of any arguments to subsequent tests, a workaround was introduced.

$> cd /path/to/checked-out-jive-toolchain-regression
$> ./main [options]

You can run ./main -h for help on [options]

Which python and/or jplotter to use?

Pass any/all of the following options to main to set the path to the desired version to use:

--python PATH       Path to the Python interpreter to use
--jplotter PATH     Path to the jplotter program to use

Which j2ms2/tConvert to test?

The (optional) parameter to pass is which j2ms2/tConvert to test. By default the program looks in your $PATH environment for j2ms2 and tConvert and uses those.

Since the toolchain moved to using CMake, the binaries can be in slightly different locations, depending on whether the freshly built binaries or the installed binaries are desired.

The test code supports the following (mutually exclusive) command line options:

--cmake-build-dir DIR       use binaries DIR/app/{j2ms2,tConvert}/{j2ms2,tConvert}
--cmake-install-dir DIR     use binaries DIR/bin/{j2ms2,tConvert}