Skip to content
Snippets Groups Projects
Commit 3f2f4a2c authored by Moe Jette's avatar Moe Jette
Browse files

Add tests of srun/salloc interrupt while waiting for an allocation

parent a44957a6
No related branches found
No related tags found
No related merge requests found
...@@ -80,6 +80,7 @@ EXTRA_DIST = \ ...@@ -80,6 +80,7 @@ EXTRA_DIST = \
test1.62.bash \ test1.62.bash \
test1.63 \ test1.63 \
test1.63.prog.c \ test1.63.prog.c \
test1.64 \
test1.80 \ test1.80 \
test1.81 \ test1.81 \
test1.82 \ test1.82 \
...@@ -263,6 +264,7 @@ EXTRA_DIST = \ ...@@ -263,6 +264,7 @@ EXTRA_DIST = \
test15.23 \ test15.23 \
test15.24 \ test15.24 \
test15.25 \ test15.25 \
test15.26 \
test16.1 \ test16.1 \
test16.2 \ test16.2 \
test16.3 \ test16.3 \
......
...@@ -352,6 +352,7 @@ EXTRA_DIST = \ ...@@ -352,6 +352,7 @@ EXTRA_DIST = \
test1.62.bash \ test1.62.bash \
test1.63 \ test1.63 \
test1.63.prog.c \ test1.63.prog.c \
test1.64 \
test1.80 \ test1.80 \
test1.81 \ test1.81 \
test1.82 \ test1.82 \
...@@ -535,6 +536,7 @@ EXTRA_DIST = \ ...@@ -535,6 +536,7 @@ EXTRA_DIST = \
test15.23 \ test15.23 \
test15.24 \ test15.24 \
test15.25 \ test15.25 \
test15.26 \
test16.1 \ test16.1 \
test16.2 \ test16.2 \
test16.3 \ test16.3 \
......
...@@ -166,6 +166,7 @@ test1.60 Test of labelling output when writing a file per task or per node ...@@ -166,6 +166,7 @@ test1.60 Test of labelling output when writing a file per task or per node
test1.61 Test of srun job step time limit test1.61 Test of srun job step time limit
test1.62 Test of gres/gpu plugin (if configured). test1.62 Test of gres/gpu plugin (if configured).
test1.63 Test of srun --disbale-status/-X option, SIGINT to be sent to tasks. test1.63 Test of srun --disbale-status/-X option, SIGINT to be sent to tasks.
test1.64 Test interuption of srun while waiting for resource allocation.
**NOTE** The following tests attempt to utilize multiple CPUs or partitions, **NOTE** The following tests attempt to utilize multiple CPUs or partitions,
The test will print "WARNING" and terminate with an exit code of The test will print "WARNING" and terminate with an exit code of
......
#!/usr/bin/expect
############################################################################
# Purpose: Test of SLURM functionality
# Test interuption of srun while waiting for resource allocation.
#
# 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) 2002-2007 The Regents of the University of California.
# Copyright (C) 2008-2010 Lawrence Livermore National Security
# Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
# Written by Morris Jette <jette1@llnl.gov>
# CODE-OCEC-09-009. All rights reserved.
#
# This file is part of SLURM, a resource management program.
# For details, see <https://computing.llnl.gov/linux/slurm/>.
# 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 "1.64"
set exit_code 0
set matches 0
print_header $test_id
if { [test_xcpu] } {
send_user "\nWARNING: This test is incompatible with XCPU systems\n"
exit $exit_code
}
#
# Spawn initial program via srun
# Send the signal while the srun is waiting for a resource allocation
#
set srun_pid [spawn $srun -N1 -t1 --begin=noon -v $bin_sleep 1]
expect {
-re "queued and waiting for resources" {
incr matches
exec $bin_kill -INT $srun_pid
send_user "\nSent SIGINT\n"
exp_continue
}
-re "Terminated job" {
incr matches
exp_continue
}
timeout {
send_user "\nFAILURE: srun not responding\n"
set matches -999
slow_kill $srun_pid
set exit_code 1
}
eof {
send_user "\nEOF\n"
wait
}
}
if {$matches != 2} {
send_user "\nFAILURE: srun failed to process SIGINT while waiting for allocation\n"
set exit_code 1
}
#
# Post-processing
#
if {$exit_code == 0} {
send_user "\nSUCCESS\n"
}
exit $exit_code
#!/usr/bin/expect
############################################################################
# Purpose: Test of SLURM functionality
# Test interuption of salloc while waiting for resource allocation.
#
# 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) 2002-2007 The Regents of the University of California.
# Copyright (C) 2008-2010 Lawrence Livermore National Security
# Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
# Written by Morris Jette <jette1@llnl.gov>
# CODE-OCEC-09-009. All rights reserved.
#
# This file is part of SLURM, a resource management program.
# For details, see <https://computing.llnl.gov/linux/slurm/>.
# 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 "15.26"
set exit_code 0
set matches 0
print_header $test_id
if { [test_xcpu] } {
send_user "\nWARNING: This test is incompatible with XCPU systems\n"
exit $exit_code
}
#
# Spawn initial program via srun
# Send the signal while the srun is waiting for a resource allocation
#
set salloc_pid [spawn $salloc -N1 -t1 --begin=noon -v $bin_sleep 1]
expect {
-re "queued and waiting for resources" {
incr matches
exec $bin_kill -INT $salloc_pid
send_user "\nSent SIGINT\n"
exp_continue
}
-re "Job allocation ($number) has been revoked" {
incr matches
exp_continue
}
timeout {
send_user "\nFAILURE: salloc not responding\n"
set matches -999
slow_kill $salloc_pid
set exit_code 1
}
eof {
send_user "\nEOF\n"
wait
}
}
if {$matches != 2} {
send_user "\nFAILURE: salloc failed to process SIGINT while waiting for allocation\n"
set exit_code 1
}
#
# Post-processing
#
if {$exit_code == 0} {
send_user "\nSUCCESS\n"
}
exit $exit_code
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment