diff options
author | Arun Isaac | 2025-01-26 11:53:53 +0000 |
---|---|---|
committer | Arun Isaac | 2025-01-26 11:56:50 +0000 |
commit | cdb781e4e89f4d2909b5b07f93c39450e6c1f319 (patch) | |
tree | 56110ec08882ffff83646eb3b7cc0fd15f46e310 /tests | |
parent | 46252b0457bfccc6394c3c521f48185869f741a9 (diff) | |
download | ravanan-cdb781e4e89f4d2909b5b07f93c39450e6c1f319.tar.gz ravanan-cdb781e4e89f4d2909b5b07f93c39450e6c1f319.tar.lz ravanan-cdb781e4e89f4d2909b5b07f93c39450e6c1f319.zip |
slurm-api: Handle all slurm job state codes.
* ravanan/slurm-api.scm: Import assertion-violation from (rnrs base).
(slurm-state-codes->job-state): New function.
(job-state): Use slurm-state-codes->job-state.
* tests/slurm-api.scm: New file.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/slurm-api.scm | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/slurm-api.scm b/tests/slurm-api.scm new file mode 100644 index 0000000..347c5c3 --- /dev/null +++ b/tests/slurm-api.scm @@ -0,0 +1,48 @@ +;;; ravanan --- High-reproducibility CWL runner powered by Guix +;;; Copyright © 2025 Arun Isaac <arunisaac@systemreboot.net> +;;; +;;; This file is part of ravanan. +;;; +;;; ravanan is free software: you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation, either version 3 of the License, or +;;; (at your option) any later version. +;;; +;;; ravanan is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;;; General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with ravanan. If not, see <https://www.gnu.org/licenses/>. + +(use-modules (srfi srfi-64) + (ravanan slurm-api)) + +(define slurm-state-codes->job-state + (@@ (ravanan slurm-api) + slurm-state-codes->job-state)) + +(test-begin "slurm-api") + +(test-equal "Handle PENDING job state" + 'pending + (slurm-state-codes->job-state #("PENDING"))) + +(test-equal "Handle RUNNING job state" + 'pending + (slurm-state-codes->job-state #("RUNNING"))) + +(test-equal "Handle FAILED job state" + 'failed + (slurm-state-codes->job-state #("FAILED"))) + +(test-equal "Handle COMPLETED job state" + 'completed + (slurm-state-codes->job-state #("COMPLETED"))) + +(test-equal "Handle COMPLETED job state with additional COMPLETING flag" + 'pending + (slurm-state-codes->job-state #("COMPLETED" "COMPLETING"))) + +(test-end "slurm-api") |