diff --git a/testsuite/expect/Makefile.am b/testsuite/expect/Makefile.am index e970e8fc33b68e997fc896e2208d38b0fc605c9a..a806ec956404a7b956f9ef3ccfe8b7fa7c3c3b4f 100644 --- a/testsuite/expect/Makefile.am +++ b/testsuite/expect/Makefile.am @@ -232,6 +232,8 @@ EXTRA_DIST = \ test6.13.prog.c \ test6.14 \ test6.15 \ + test6.16 \ + test6.17 \ test7.1 \ test7.2 \ test7.2.prog.c \ diff --git a/testsuite/expect/Makefile.in b/testsuite/expect/Makefile.in index cfcdc093d505ba87c4010eaf5a7f13b37c364c24..0caa240bcbf410afa360eab8a98d982087f16135 100644 --- a/testsuite/expect/Makefile.in +++ b/testsuite/expect/Makefile.in @@ -646,6 +646,8 @@ EXTRA_DIST = \ test6.13.prog.c \ test6.14 \ test6.15 \ + test6.16 \ + test6.17 \ test7.1 \ test7.2 \ test7.2.prog.c \ diff --git a/testsuite/expect/README b/testsuite/expect/README index 22d562611e9fec14e5e4d60bf1ff4839e6d7f572..615692cbb6161a0e9cb2731030ad19e22fac0aa5 100644 --- a/testsuite/expect/README +++ b/testsuite/expect/README @@ -336,6 +336,7 @@ test6.13 Test routing all signals through slurmctld rather than slurmd test6.14 Test scancel nodelist option (--nodelist or -w). test6.15 Test scancel signal of full job including batch script (--full option). test6.16 Validate scancel of multiple job steps (job.step specification). +test6.17 Test scancel handling of invalid job IDs and filters. test7.# Testing of other functionality. ========================================== diff --git a/testsuite/expect/test6.17 b/testsuite/expect/test6.17 new file mode 100755 index 0000000000000000000000000000000000000000..e72a33c8c4989cca6ec9bb3199cadb07b57683f9 --- /dev/null +++ b/testsuite/expect/test6.17 @@ -0,0 +1,116 @@ +#!/usr/bin/env expect +############################################################################ +# Purpose: Test of SLURM functionality +# Test scancel handling of invalid job IDs and filters. +# +# Output: "TEST: #.#" followed by "SUCCESS" if test was successful, OR +# "FAILURE: ..." otherwise with an explanation of the failure, OR +# anything else indicates a failure mode that must be investigated. +############################################################################ +# Copyright (C) 2017 SchedMD LLC. +# Written by Morris Jette <jette@schedmd.com> +# +# This file is part of SLURM, a resource management program. +# For details, see <http://slurm.schedmd.com/>. +# Please also read the included file: DISCLAIMER. +# +# SLURM 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 2 of the License, or (at your option) +# any later version. +# +# SLURM 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 SLURM; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +############################################################################ +source ./globals + +set test_id "6.17" +set exit_code 0 + +print_header $test_id + +# +# Test scancel with name filter that finds no jobs +# +set matches 0 +spawn $scancel --name=INVALID --qos=INVALID --verbose +expect { + -re "No active jobs match ALL" { + incr matches + exp_continue + } + timeout { + send_user "\nFAILURE: scancel not responding\n" + set exit_code 1 + } + eof { + wait + } +} +if {$matches != 1} { + send_user "\nFAILURE: scancel failed to log no matching jobs\n" + set exit_code 1 +} + +# +# Test scancel with invalid job ID +# +set matches 0 +spawn $scancel INVALID +expect { + -re "Invalid job id" { + send_user "\nError is expected, no worries.\n" + incr matches + exp_continue + } + timeout { + send_user "\nFAILURE: scancel not responding\n" + set exit_code 1 + } + eof { + wait + } +} +if {$matches != 1} { + send_user "\nFAILURE: scancel failed to log invalid job ID\n" + set exit_code 1 +} +send_user "\n\n\n" + +# +# Test scancel with invalid job ID +# +set matches 0 +spawn $scancel 0 +expect { + -re "Invalid job id" { + send_user "\nError is expected, no worries.\n" + incr matches + exp_continue + } + timeout { + send_user "\nFAILURE: scancel not responding\n" + set exit_code 1 + } + eof { + wait + } +} +if {$matches != 1} { + send_user "\nFAILURE: scancel failed to log invalid job ID\n" + set exit_code 1 +} + +if {$exit_code == 0} { + send_user "\nSUCCESS\n" +} else { + send_user "\nFAILURE\n" +} +exit $exit_code +