From cdb781e4e89f4d2909b5b07f93c39450e6c1f319 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 26 Jan 2025 11:53:53 +0000 Subject: 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. --- tests/slurm-api.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 tests/slurm-api.scm (limited to 'tests') 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 +;;; +;;; 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 . + +(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") -- cgit v1.2.3