Details
-
Type:
Story
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: obs_lsst
-
Labels:None
-
Story Points:2
-
Epic Link:
-
Team:Data Release Production
-
Urgent?:No
Description
The nightly build failed because of a photodiode test failure. Looking at the code again it seems that the test is assuming that other tests are run first. This can not be relied upon since in some test environments the order can be randomized or with multi-process testing the test can be allocated to a subprocess that does not have any other relevant tests in it.
The reason it was working at all is that the ingest tests set up a per-testcase butler repo for efficiency reasons and just change the output run per test. Since exposure records are written for any ingest those records then exist for the followup photodiode test.
You can reproduce the error using pytest -k testPhotodiode tests/test_ingest.py.
In particular the error message is not with the command-line execution but is in the butler get that runs afterwards. This suggests that the command-line is returning good exit status even though it should be complaining that it was not able to ingest the file.
Suggestions:
- Rewrite the test to not inherit from ingest test base but to ingest the relevant raw file explicitly.
- Add a second test where that raw file is not ingested that should fail because there is no matching exposure record.
Note that raw-ingest collates all the failure reasons and reports them at the end and does not fail immediately. it tries to ingest what it can first.
I'm sorry I didn't spot this issue in my review.
Attachments
Issue Links
- is triggered by
-
DM-33078 Define ingest path for photodiode data
- Done
https://ci.lsst.codes/blue/organizations/jenkins/stack-os-matrix/detail/stack-os-matrix/35946/pipeline
https://ci.lsst.codes/blue/organizations/jenkins/stack-os-matrix/detail/stack-os-matrix/35959/pipeline