Resolve "aceDRG job can be marked succeeded even when it has failed"
Closes #428 (closed) Fixed one job that can silently fail:
- AceDRG: If it cannot parse the SMILES string it will not create the files but still return a
0
return code and appear a a success. Added a check for the output files.
Two others that I chose not to fix: relion import movies and motioncorr. Import can produce and empty starfile if no movies are found and motioncorr can operate on an empty file.
I didn't fix these ones because they can be used in on-the-fly processing where they may not have any results and we don't want them to fail in that situation.
In the future we can add a on-the-fly job option that toggles a check for empty result files.
The ctffind job checks for silent failures of ctffind4
by looking for an empty output file so this technically might break on-the-fly processing in the same manner. All three should be updated with a toggle. Opened a separate issue for this #429
I also changed a test for writing submission scripts for jobs that operate in a working dir. The test originally used the AceDRG job as as sample job, but because AceDRG now has two commands the way the mocking was done broke the test. I just changed the sample job to EMplacement, which only has a single command.