From edcaa605b628f6764e7c780161ee5f45ef1c17fd Mon Sep 17 00:00:00 2001
From: Jorrit Schaap <schaap@astron.nl>
Date: Tue, 22 Dec 2020 12:39:35 +0100
Subject: [PATCH] TMSS-493: exit with code 3 if skipping unit/integration tests

---
 LCS/PyCommon/test/t_cache.py                | 3 ++-
 LCS/PyCommon/test/t_cep4_utils.py           | 3 +++
 LCS/PyCommon/test/t_dbcredentials.py        | 3 +++
 LCS/PyCommon/test/t_defaultmailaddresses.py | 3 +++
 LCS/PyCommon/test/t_json_utils.py           | 3 +++
 LCS/PyCommon/test/t_methodtrigger.py        | 3 +++
 LCS/PyCommon/test/t_postgres.py             | 3 +++
 LCS/PyCommon/test/t_test_utils.py           | 3 +++
 LCS/PyCommon/test/t_util.py                 | 3 +++
 LCS/PyCommon/test_utils.py                  | 9 +++++++++
 10 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/LCS/PyCommon/test/t_cache.py b/LCS/PyCommon/test/t_cache.py
index f8e48e0d6d3..2cf8ef0aa01 100644
--- a/LCS/PyCommon/test/t_cache.py
+++ b/LCS/PyCommon/test/t_cache.py
@@ -1,6 +1,7 @@
 import unittest
 from lofar.common.cache import cache
-from lofar.common.test_utils import unit_test
+from lofar.common.test_utils import unit_test, exit_with_skipped_code_if_skip_unit_tests
+exit_with_skipped_code_if_skip_unit_tests()
 
 class TestCache(unittest.TestCase):
 
diff --git a/LCS/PyCommon/test/t_cep4_utils.py b/LCS/PyCommon/test/t_cep4_utils.py
index cbd90b9ed8e..5db79942744 100755
--- a/LCS/PyCommon/test/t_cep4_utils.py
+++ b/LCS/PyCommon/test/t_cep4_utils.py
@@ -24,6 +24,9 @@ import logging
 from lofar.common.cep4_utils import *
 from lofar.common.test_utils import integration_test
 
+from lofar.common.test_utils import exit_with_skipped_code_if_skip_integration_tests
+exit_with_skipped_code_if_skip_integration_tests()
+
 logger = logging.getLogger(__name__)
 
 @integration_test
diff --git a/LCS/PyCommon/test/t_dbcredentials.py b/LCS/PyCommon/test/t_dbcredentials.py
index 87369fe6de6..d2693657507 100644
--- a/LCS/PyCommon/test/t_dbcredentials.py
+++ b/LCS/PyCommon/test/t_dbcredentials.py
@@ -1,5 +1,8 @@
 #!/usr/bin/env python3
 
+from lofar.common.test_utils import exit_with_skipped_code_if_skip_unit_tests
+exit_with_skipped_code_if_skip_unit_tests()
+
 import os
 import unittest
 import tempfile
diff --git a/LCS/PyCommon/test/t_defaultmailaddresses.py b/LCS/PyCommon/test/t_defaultmailaddresses.py
index 4ec4d01fd8f..315cfb68f77 100644
--- a/LCS/PyCommon/test/t_defaultmailaddresses.py
+++ b/LCS/PyCommon/test/t_defaultmailaddresses.py
@@ -1,5 +1,8 @@
 #!/usr/bin/env python3
 
+from lofar.common.test_utils import exit_with_skipped_code_if_skip_unit_tests
+exit_with_skipped_code_if_skip_unit_tests()
+
 import unittest
 import tempfile
 from lofar.common.defaultmailaddresses import PipelineEmailConfig
diff --git a/LCS/PyCommon/test/t_json_utils.py b/LCS/PyCommon/test/t_json_utils.py
index 78609dbf21d..a315632d8d5 100755
--- a/LCS/PyCommon/test/t_json_utils.py
+++ b/LCS/PyCommon/test/t_json_utils.py
@@ -17,6 +17,9 @@
 # You should have received a copy of the GNU General Public License along
 # with the LOFAR software suite. If not, see <http://www.gnu.org/licenses/>.
 
+from lofar.common.test_utils import exit_with_skipped_code_if_skip_unit_tests
+exit_with_skipped_code_if_skip_unit_tests()
+
 import logging
 logger = logging.getLogger(__name__)
 logging.basicConfig(format='%(asctime)s %(process)s %(threadName)s %(levelname)s %(message)s', level=logging.DEBUG)
diff --git a/LCS/PyCommon/test/t_methodtrigger.py b/LCS/PyCommon/test/t_methodtrigger.py
index 5df4e2cf85f..064085e7077 100644
--- a/LCS/PyCommon/test/t_methodtrigger.py
+++ b/LCS/PyCommon/test/t_methodtrigger.py
@@ -1,3 +1,6 @@
+from lofar.common.test_utils import exit_with_skipped_code_if_skip_unit_tests
+exit_with_skipped_code_if_skip_unit_tests()
+
 import unittest
 from lofar.common.methodtrigger import MethodTrigger
 from lofar.common.test_utils import unit_test
diff --git a/LCS/PyCommon/test/t_postgres.py b/LCS/PyCommon/test/t_postgres.py
index 24d59b095a9..8d8b77463e8 100755
--- a/LCS/PyCommon/test/t_postgres.py
+++ b/LCS/PyCommon/test/t_postgres.py
@@ -1,5 +1,8 @@
 #!/usr/bin/env python3
 
+from lofar.common.test_utils import exit_with_skipped_code_if_skip_integration_tests
+exit_with_skipped_code_if_skip_integration_tests()
+
 import unittest
 from unittest import mock
 from lofar.common.postgres import *
diff --git a/LCS/PyCommon/test/t_test_utils.py b/LCS/PyCommon/test/t_test_utils.py
index 976fe5e0410..eeabd724a00 100644
--- a/LCS/PyCommon/test/t_test_utils.py
+++ b/LCS/PyCommon/test/t_test_utils.py
@@ -1,5 +1,8 @@
 #!/usr/bin/env python3
 
+from lofar.common.test_utils import exit_with_skipped_code_if_skip_unit_tests
+exit_with_skipped_code_if_skip_unit_tests()
+
 import unittest
 import tempfile
 from lofar.common.test_utils import *
diff --git a/LCS/PyCommon/test/t_util.py b/LCS/PyCommon/test/t_util.py
index b150d0c29e9..fdb48f516ca 100644
--- a/LCS/PyCommon/test/t_util.py
+++ b/LCS/PyCommon/test/t_util.py
@@ -1,5 +1,8 @@
 #!/usr/bin/env python3
 
+from lofar.common.test_utils import exit_with_skipped_code_if_skip_unit_tests
+exit_with_skipped_code_if_skip_unit_tests()
+
 import unittest
 import tempfile
 from lofar.common.util import *
diff --git a/LCS/PyCommon/test_utils.py b/LCS/PyCommon/test_utils.py
index d4fb731466f..e62df41336e 100644
--- a/LCS/PyCommon/test_utils.py
+++ b/LCS/PyCommon/test_utils.py
@@ -52,6 +52,15 @@ def skip_unit_tests() -> bool:
     '''returns a boolen True of the environment var SKIP_UNIT_TESTS has been set to a 'true' value'''
     return os.environ.get('SKIP_UNIT_TESTS', default='False').lower() in ['1', 'true', 'on']
 
+def exit_with_skipped_code_if_skip_unit_tests():
+    '''exit with code 3 (SKIPPED) when the environment var SKIP_UNIT_TESTS has been set to a 'true' value'''
+    if skip_unit_tests():
+        exit(3)
+
+def exit_with_skipped_code_if_skip_integration_tests():
+    '''exit with code 3 (SKIPPED) when the environment var SKIP_INTEGRATION_TESTS has been set to a 'true' value'''
+    if skip_integration_tests():
+        exit(3)
 
 # decorators for selective tests
 integration_test = unittest.skipIf(skip_integration_tests(),
-- 
GitLab