That's a nice display! This may be a question for Andy Clements but I would be a lot more comfortable passing this epic if Jenkins also ran the Python unit tests tests/*.py. I hope it will not be too onerous to add that. As a point of information: i just ran these tests myself on the latest "develop" and many failed. Worrisome...
For the record, to run those tests:`scons` is the simplest method, if it's available to Jenkins. This builds the Test and Script SALPY libraries and then runs the tests in the "tests" directory using (at least approximately) pytest -n <N> tests/*.py where <N> is the number of cores (and I don't know how scons picks that).
Note that pytest writes a file that is supposed to be easily machine parseable, to determine if the tests pass. I believe Tim Jenness is an expert on that.
The -n <N> is optional; it speeds up the tests and stresses SAL a bit more by running things in parallel.
If you want to avoid using eups and scons then I think the following steps are needed for ts_sal:
- Copy any *.py files from bin.src/ to bin/
- Add bin/ to the PATH environment variable
- Add python/ to the PYTHONPATH environment variable
- Create text file python/lsst/ts/sal/version.py that contains an entry __version__.py=v1.0.0 or some other valid tag (it doesn't have to be the right tag, nothing checks that).
Define the following environment variables:
- TS_SAL_DIR: path to ts_sal
- TS_XML_DIR: path to ts_xml
- SAL_WORK_DIR: the usual, presumably already defined
- LD_LIBRARY_PATH: add the path to ts_sal/lib
When we get to testing other packages then the lack of scons and eups will be more keenly felt, as these steps will have to be done not only for the package being tested, but also all ts_ packages it depends on. It might be simpler to use a Docker container such as queue/lsst and use eups and scons in the usual way.
Rob Bovill two questions: