From e075b3f289e6f98c0b2e4289ed58ab9af1480b6c Mon Sep 17 00:00:00 2001
From: chausman <chausman@nrao.edu>
Date: Thu, 6 Jun 2024 10:12:29 -0600
Subject: [PATCH] try splitting pytest call

---
 ci/unit-test.template.yml            |  4 +++-
 services/capability/poetry.lock      | 13 ++++++++++++-
 services/capability/pyproject.toml   |  1 +
 services/notification/poetry.lock    | 13 ++++++++++++-
 services/notification/pyproject.toml |  1 +
 services/workflow/poetry.lock        | 13 ++++++++++++-
 services/workflow/pyproject.toml     |  1 +
 7 files changed, 42 insertions(+), 4 deletions(-)

diff --git a/ci/unit-test.template.yml b/ci/unit-test.template.yml
index ea4bfc286..a76417c6e 100644
--- a/ci/unit-test.template.yml
+++ b/ci/unit-test.template.yml
@@ -6,7 +6,9 @@
         # use the poetry virtual environment and packages
         - poetry install --with test
         - pwd
-        - $(poetry env info -p)/bin/pytest . ../../${TEST_PREFIX2}${SERVICE_NAME} --junitxml=tests.xml --cov=${SERVICE_NAME} --cov=../../${PATH_PREFIX2}${SERVICE_NAME} --cov-report=
+        - $(poetry env info -p)/bin/pytest . --junitxml=tests-service.xml --cov=${SERVICE_NAME} --cov-report=
+        - $(poetry env info -p)/bin/pytest ../../${TEST_PREFIX2}${SERVICE_NAME} --junitxml=tests-shared.xml --cov=../../${PATH_PREFIX2}${SERVICE_NAME} --cov-append --cov-report=
+        - junitparser merge tests-service.xml tests-shared.xml tests.xml
         - mv ./.coverage ${CI_PROJECT_DIR}/.coverage.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}
         - mv ./tests.xml ${CI_PROJECT_DIR}/tests.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}.xml
     artifacts:
diff --git a/services/capability/poetry.lock b/services/capability/poetry.lock
index f04b8a2d2..3189c6160 100644
--- a/services/capability/poetry.lock
+++ b/services/capability/poetry.lock
@@ -636,6 +636,17 @@ files = [
     {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"},
 ]
 
+[[package]]
+name = "junitparser"
+version = "3.1.2"
+description = "Manipulates JUnit/xUnit Result XML files"
+optional = false
+python-versions = "*"
+files = [
+    {file = "junitparser-3.1.2-py2.py3-none-any.whl", hash = "sha256:2a86664ae7abf0ece4ce928121c7dbdb0f95f2c781a3f09ee9e2ac0e91e77a60"},
+    {file = "junitparser-3.1.2.tar.gz", hash = "sha256:d37ca5b35569dd7ebfdee976f2396b7d95cc46aa3c5910a0a7771c80751a5524"},
+]
+
 [[package]]
 name = "kombu"
 version = "5.3.2"
@@ -1681,4 +1692,4 @@ test = ["zope.testing"]
 [metadata]
 lock-version = "2.0"
 python-versions = "~3.10"
-content-hash = "fe8417a02c3de534ff5492efe37b174adaa428701ff567a2ea30d3d3a79ab155"
+content-hash = "ca90bb899a8f236f17421756fd5694a5e43f8cd0149f6961ff5bbdeb547d0c08"
diff --git a/services/capability/pyproject.toml b/services/capability/pyproject.toml
index b4d2c7f11..04f43461e 100644
--- a/services/capability/pyproject.toml
+++ b/services/capability/pyproject.toml
@@ -41,6 +41,7 @@ pytest = "7.4.2"
 pytest-cov = "4.1.0"
 mock_alchemy = "0.2.1"
 hypothesis = "6.87.1"
+junitparser = "3.1.2"
 
 [tool.poetry.scripts]
 launch_capability = "capability.capability_launcher:main"
diff --git a/services/notification/poetry.lock b/services/notification/poetry.lock
index 0b470f259..3f004628f 100644
--- a/services/notification/poetry.lock
+++ b/services/notification/poetry.lock
@@ -537,6 +537,17 @@ files = [
     {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"},
 ]
 
+[[package]]
+name = "junitparser"
+version = "3.1.2"
+description = "Manipulates JUnit/xUnit Result XML files"
+optional = false
+python-versions = "*"
+files = [
+    {file = "junitparser-3.1.2-py2.py3-none-any.whl", hash = "sha256:2a86664ae7abf0ece4ce928121c7dbdb0f95f2c781a3f09ee9e2ac0e91e77a60"},
+    {file = "junitparser-3.1.2.tar.gz", hash = "sha256:d37ca5b35569dd7ebfdee976f2396b7d95cc46aa3c5910a0a7771c80751a5524"},
+]
+
 [[package]]
 name = "kombu"
 version = "5.3.2"
@@ -1459,4 +1470,4 @@ test = ["zope.testing"]
 [metadata]
 lock-version = "2.0"
 python-versions = "~3.10"
-content-hash = "90ca09f918a2d4cf59915b20fe97bbc503fe620c2ba77b4b88ab7058cc96eb21"
+content-hash = "ef7cb127878914295c50f6d9754c6097afedde7e899bc75f7f0de27e0ccc3a6c"
diff --git a/services/notification/pyproject.toml b/services/notification/pyproject.toml
index 2779d84b3..13d276f27 100644
--- a/services/notification/pyproject.toml
+++ b/services/notification/pyproject.toml
@@ -31,6 +31,7 @@ pytest = "7.4.2"
 pytest-cov = "4.1.0"
 mock_alchemy = "0.2.1"
 messaging = {path = "../../shared/messaging"}
+junitparser = "3.1.2"
 
 
 [build-system]
diff --git a/services/workflow/poetry.lock b/services/workflow/poetry.lock
index d5c81ca3c..29076e2ba 100644
--- a/services/workflow/poetry.lock
+++ b/services/workflow/poetry.lock
@@ -476,6 +476,17 @@ files = [
     {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"},
 ]
 
+[[package]]
+name = "junitparser"
+version = "3.1.2"
+description = "Manipulates JUnit/xUnit Result XML files"
+optional = false
+python-versions = "*"
+files = [
+    {file = "junitparser-3.1.2-py2.py3-none-any.whl", hash = "sha256:2a86664ae7abf0ece4ce928121c7dbdb0f95f2c781a3f09ee9e2ac0e91e77a60"},
+    {file = "junitparser-3.1.2.tar.gz", hash = "sha256:d37ca5b35569dd7ebfdee976f2396b7d95cc46aa3c5910a0a7771c80751a5524"},
+]
+
 [[package]]
 name = "kombu"
 version = "5.3.2"
@@ -1499,4 +1510,4 @@ test = ["zope.testing"]
 [metadata]
 lock-version = "2.0"
 python-versions = "~3.10"
-content-hash = "78d5a9d3f8146164629db8ae20d0b31cf09fba07f431f5d748ba2c07fb157b63"
+content-hash = "29544546ea7cc0a69a631dceee4244aec01c1993a3a9fc0bbf44f48671ef8e65"
diff --git a/services/workflow/pyproject.toml b/services/workflow/pyproject.toml
index 1b3250605..202987aee 100644
--- a/services/workflow/pyproject.toml
+++ b/services/workflow/pyproject.toml
@@ -35,6 +35,7 @@ pyramid-debugtoolbar = "4.10"
 pytest = "7.4.2"
 pytest-cov = "4.1.0"
 mock_alchemy = "0.2.1"
+junitparser = "3.1.2"
 
 [build-system]
 requires = ["poetry-core"]
-- 
GitLab