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

add very basic checkpoint test

parent db6d2d95
No related branches found
No related tags found
No related merge requests found
...@@ -69,7 +69,8 @@ test1.8 Confirm that basic srun stdin, stdout, and stderr options work ...@@ -69,7 +69,8 @@ test1.8 Confirm that basic srun stdin, stdout, and stderr options work
test1.9 Test of srun verbose mode (--verbose option). test1.9 Test of srun verbose mode (--verbose option).
test1.10 Test of srun/slurmd debug mode (--debug option). test1.10 Test of srun/slurmd debug mode (--debug option).
test1.11 Test job name option (--job-name). test1.11 Test job name option (--job-name).
test1.12 REMOVED test1.12 Test of --checkpoint option. This does not validate the
checkpoint file itself.
test1.13 Test of immediate allocation option (--immediate option). test1.13 Test of immediate allocation option (--immediate option).
test1.14 REMOVED test1.14 REMOVED
test1.15 Test of wait option (--wait option). test1.15 Test of wait option (--wait option).
......
#!/usr/bin/expect
############################################################################
# Purpose: Test of SLURM functionality
# Test of --checkpoint option. This does not validate the
# checkpoint file itself.
#
# 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) 2007 The Regents of the University of California.
# Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
# Written by Morris Jette <jette1@llnl.gov>
# UCRL-CODE-226842.
#
# This file is part of SLURM, a resource management program.
# For details, see <http://www.llnl.gov/linux/slurm/>.
#
# 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.,
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
############################################################################
source ./globals
set test_id "1.12"
set exit_code 0
set file_in "test$test_id.input"
set ckpt_in 12
set ckpt_out -1
print_header $test_id
#
# Submit a slurm job that print it's info from scontrol
#
exec $bin_rm -f $file_in
make_bash_script $file_in "
$scontrol show step \$SLURM_JOBID.\$SLURM_STEPID
"
set srun_pid [spawn $srun -N1 -t1 --checkpoint=$ckpt_in $file_in]
expect {
-re "Checkpoint=($number)" {
set ckpt_out $expect_out(1,string)
exp_continue
}
-re "Unable to contact" {
send_user "\nFAILURE: slurm appears to be down\n"
exit 1
}
timeout {
send_user "\nFAILURE: srun not responding\n"
slow_kill $srun_pid
set exit_code 1
}
eof {
wait
}
}
if {$ckpt_out == -1} {
send_user "\nFAILURE: No Checkpoint time reported for job step\n"
set exit_code 1
} elseif {$ckpt_in != $ckpt_out} {
send_user "\nFAILURE: No Checkpoint time not set properly\n"
set exit_code 1
}
if {$exit_code == 0} {
exec $bin_rm -f $file_in
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