From e38e2cf9552bb972978e12bc5d1b98d126b3bbf5 Mon Sep 17 00:00:00 2001
From: Matthijs van der Wild <matthijs.van-der-wild@durham.ac.uk>
Date: Thu, 7 Oct 2021 09:53:13 +0000
Subject: [PATCH] Improved error handling

Former-commit-id: 82018ffe7f51fe3bfabdc9d2e4dba71334b827d7 [formerly 436d0ccaedefce554787c82959a97f8645d32f76]
Former-commit-id: c2b5e634a9de28cd936f618cc7eba935c64bbe99
Former-commit-id: 93f1fd05ce7f8c32dc3d8a099d1ea2a18d268745
---
 test_jobs/check_workflow_results.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/test_jobs/check_workflow_results.py b/test_jobs/check_workflow_results.py
index 74a58402..13d508b4 100755
--- a/test_jobs/check_workflow_results.py
+++ b/test_jobs/check_workflow_results.py
@@ -20,6 +20,7 @@ def main(check, control):
     control_path : str
         Path to control results directory
     """
+    error = False
 
     #Check that all expected output files are present
     dcmp = dircmp(check, control)
@@ -30,6 +31,7 @@ def main(check, control):
         if len(dcmp.right_only) > 0:
             print('ERROR: The following files are present in the control but not in the '
                   'output: {}'.format(dcmp.right_only))
+        error = True
 
     check_path = check + '/cal_values/cal_solutions.h5'
     control_path = control + '/cal_values/cal_solutions.h5'
@@ -65,6 +67,7 @@ def main(check, control):
                                         axis=freq_axis_index)
             if not np.allclose(check_soltabval, matching_vals, 
                                rtol=1e-03, atol=1e-03, equal_nan=True):
+                error = True
                 print("Val array of soltab {} does not match the control".format(soltabname))
                 with open("check_soltab.{}.val".format(soltabname), "w") as f:
                     f.write(str(check_soltabval[:]))
@@ -74,7 +77,7 @@ def main(check, control):
                 print("Val array of soltab {} matches the control".format(soltabname))
     check_h5.close()
     control_h5.close()
-    sys.exit(0)
+    sys.exit(error)
 
 if __name__ == '__main__':
     descriptiontext = "Checks the output of a workflow run.\n"
-- 
GitLab