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

Add test for sbatch command line args.

parent 2903db4d
No related branches found
No related tags found
No related merge requests found
...@@ -423,6 +423,7 @@ test17.26 Test of --input option. ...@@ -423,6 +423,7 @@ test17.26 Test of --input option.
test17.27 Test that a job executes with the specified nodes, requires multiple test17.27 Test that a job executes with the specified nodes, requires multiple
nodes (--nodes, --nodelist and --exclude options). nodes (--nodes, --nodelist and --exclude options).
test17.28 Tests #SBATCH entry functionality in a batch script. test17.28 Tests #SBATCH entry functionality in a batch script.
test17.29 Verify that command arguments get forwarded to job script.
test18.# Testing of slaunch options. test18.# Testing of slaunch options.
......
#!/usr/bin/expect
############################################################################
# Purpose: Test of SLURM functionality
# Verify that arguments get forwarded to job script.
#
# 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-2006 The Regents of the University of California.
# Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
# Written by Morris Jette <jette1@llnl.gov>
# UCRL-CODE-217948.
#
# 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.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
############################################################################
source ./globals
set test_id "17.29"
set file_in "test$test_id.input"
set file_out "test$test_id.output"
set file_err "test$test_id.error"
set arg1 "arg_one"
set arg2 "arg_two"
set arg_match 0
set exit_code 0
set job_id 0
print_header $test_id
#
# Delete left-over input script plus stdout/err files
# Build input script file
#
exec $bin_rm -f $file_in $file_out $file_err
make_bash_script $file_in "$bin_echo \$1,\$2"
#
# Spawn a srun batch job with arguments
#
set timeout $max_job_delay
spawn $sbatch --output=$file_out --error=$file_err -t1 $file_in $arg1 $arg2
expect {
-re "Submitted batch job ($number)" {
set job_id $expect_out(1,string)
exp_continue
}
timeout {
send_user "\nFAILURE: sbatch not responding\n"
set exit_code 1
}
eof {
wait
}
}
if {$job_id == 0} {
send_user "\nFAILURE: batch submit failure\n"
exit 1
}
#
# Wait for job to complete
#
if {[wait_for_job $job_id "DONE"] != 0} {
send_user "\nFAILURE: waiting for job to complete\n"
set exit_code 1
}
#
# Check arguments returned in stdout
#
if {[wait_for_file $file_out] == 0} {
spawn $bin_cat $file_out
expect {
-re "$arg1,$arg2" {
set arg_match 1
exp_continue
}
eof {
wait
}
}
}
if {$arg_match == 0} {
send_user "\nFAILURE: Failed to pass script arguments\n"
set exit_code 1
}
if {$exit_code == 0} {
send_user "\nSUCCESS\n"
exec $bin_rm -f $file_in $file_out $file_err
}
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