From d2b66c43c441d4b0b5e25e0c9283457e1c355624 Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Wed, 24 Apr 2024 09:11:07 -0500 Subject: [PATCH 1/6] Add flux integration test --- .github/workflows/coverage.yml | 3 ++- tests/test_flux.py | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 0503196..48a25fc 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -21,7 +21,7 @@ jobs: - name: Setup environment run: | cp .ci_support/environment.yml environment.yml - echo "- flux-core" >> environment.yml + echo "- flux-core =0.59.0" >> environment.yml - name: Setup Mambaforge uses: conda-incubator/setup-miniconda@v2 with: @@ -37,6 +37,7 @@ jobs: run: | pip install versioneer[toml]==0.29 pip install . --no-deps --no-build-isolation + flux start coverage run --omit="pysqa/_version.py,tests/*" -m unittest discover tests coverage xml - name: Coveralls diff --git a/tests/test_flux.py b/tests/test_flux.py index 8eee890..651a99e 100644 --- a/tests/test_flux.py +++ b/tests/test_flux.py @@ -2,7 +2,9 @@ # Copyright (c) Jan Janssen import os +from time import sleep import unittest + import pandas from pysqa import QueueAdapter @@ -92,3 +94,15 @@ def execute_command( echo hello""" self.assertEqual(content, output) os.remove("run_queue.sh") + + def test_flux_integration(self): + job_id = self.flux.submit_job( + queue="flux", + job_name="test", + working_directory=".", + cores=1, + command="sleep 1" + ) + self.assertEqual(self.flux.get_status_of_job(process_id=job_id), 'running') + self.flux.delete_job(process_id=job_id) + self.assertEqual(self.flux.get_status_of_job(process_id=job_id), 'error') From f9dddec4424a02b063529cdb27ede1146d41fde4 Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Wed, 24 Apr 2024 09:16:51 -0500 Subject: [PATCH 2/6] fix CI --- .github/workflows/coverage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 48a25fc..a69d320 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -34,7 +34,7 @@ jobs: use-mamba: true - name: Test shell: bash -l {0} - run: | + run: > pip install versioneer[toml]==0.29 pip install . --no-deps --no-build-isolation flux start From e174fd11f1c4b1064546b1f27b81ef127cc2d8fc Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Wed, 24 Apr 2024 09:19:10 -0500 Subject: [PATCH 3/6] split CI tasks --- .github/workflows/coverage.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index a69d320..46d29be 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -32,13 +32,18 @@ jobs: activate-environment: my-env environment-file: environment.yml use-mamba: true - - name: Test + - name: Install shell: bash -l {0} - run: > + run: | pip install versioneer[toml]==0.29 pip install . --no-deps --no-build-isolation + - name: Test + shell: bash -l {0} + run: > flux start coverage run --omit="pysqa/_version.py,tests/*" -m unittest discover tests - coverage xml + - name: Collect Coverage + shell: bash -l {0} + run: coverage xml - name: Coveralls uses: coverallsapp/github-action@v2 From 71432b89572a62e3d5b84df34cc3b5ed20ab6bcc Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Wed, 24 Apr 2024 09:21:28 -0500 Subject: [PATCH 4/6] fix test --- tests/test_flux.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_flux.py b/tests/test_flux.py index 651a99e..431a3eb 100644 --- a/tests/test_flux.py +++ b/tests/test_flux.py @@ -105,4 +105,4 @@ def test_flux_integration(self): ) self.assertEqual(self.flux.get_status_of_job(process_id=job_id), 'running') self.flux.delete_job(process_id=job_id) - self.assertEqual(self.flux.get_status_of_job(process_id=job_id), 'error') + self.assertEqual(self.flux.get_status_of_job(process_id=job_id), 'C') From b3b3f0892b6192ca14c9d2a06e16ae267d55b8b3 Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Wed, 24 Apr 2024 09:22:59 -0500 Subject: [PATCH 5/6] Mark cancelled jobs as error --- pysqa/wrapper/flux.py | 1 + tests/test_flux.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pysqa/wrapper/flux.py b/pysqa/wrapper/flux.py index efa5209..f7b9d2d 100644 --- a/pysqa/wrapper/flux.py +++ b/pysqa/wrapper/flux.py @@ -43,5 +43,6 @@ def convert_queue_status(queue_status_output: str) -> pandas.DataFrame: ) df.loc[df.status == "R", "status"] = "running" df.loc[df.status == "S", "status"] = "pending" + df.loc[df.status == "C", "status"] = "error" df.loc[df.status == "CD", "status"] = "finished" return df diff --git a/tests/test_flux.py b/tests/test_flux.py index 431a3eb..ac0d113 100644 --- a/tests/test_flux.py +++ b/tests/test_flux.py @@ -105,4 +105,4 @@ def test_flux_integration(self): ) self.assertEqual(self.flux.get_status_of_job(process_id=job_id), 'running') self.flux.delete_job(process_id=job_id) - self.assertEqual(self.flux.get_status_of_job(process_id=job_id), 'C') + self.assertEqual(self.flux.get_status_of_job(process_id=job_id), 'erro') From 3e54b369cb00823b550b9f8b16861b8970feb05c Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Wed, 24 Apr 2024 09:24:52 -0500 Subject: [PATCH 6/6] fix typo --- tests/test_flux.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_flux.py b/tests/test_flux.py index ac0d113..651a99e 100644 --- a/tests/test_flux.py +++ b/tests/test_flux.py @@ -105,4 +105,4 @@ def test_flux_integration(self): ) self.assertEqual(self.flux.get_status_of_job(process_id=job_id), 'running') self.flux.delete_job(process_id=job_id) - self.assertEqual(self.flux.get_status_of_job(process_id=job_id), 'erro') + self.assertEqual(self.flux.get_status_of_job(process_id=job_id), 'error')