diff --git a/testsuite/expect/test17.8 b/testsuite/expect/test17.8 index 9f7965f8e4d30222416c15c69cdab0f4c101342c..c813f541b0b84ec4f577ef2044a545986dd1165e 100755 --- a/testsuite/expect/test17.8 +++ b/testsuite/expect/test17.8 @@ -41,6 +41,44 @@ set time_get 0 print_header $test_id +# +# We must be SlurmUser or root in order to change the partition MaxTime limit, +# otherwise this test may fail. +# +if {[test_super_user] == 0} { + log_warn "You must be SlurmUser or root to run this test." + exit 0 +} + +set default_part [default_partition] +if { $default_part == "" } { + log_error "Unable to get the default partition." + exit 1 +} + +# +# Ensure that MaxTime is UNLIMITED so this test won't fail due to trying to set +# time limits greater than MaxTime. +# +spawn $scontrol update partitionname=$default_part MaxTime=-1 +expect { + timeout { + log_error "scontrol not responding" + set exit_code 1 + } + eof { + wait + } +} +if { $exit_code == 1 } { + exit $exit_code +} +set maxtime [get_partition_maximum_time_limit $default_part] +if { $maxtime != -1 } { + log_error "Unable to update partition MaxTime" + exit 1 +} + # # Delete left-over stdin/out/err files # Build stdin file @@ -184,6 +222,12 @@ if {$time_get != 1500} { } cancel_job $job_id +# +# Restore partition MaxTime. +# reconfigure will set exit_code and log any errors if it fails. +# +reconfigure + if {$exit_code == 0} { exec $bin_rm -f $file_in send_user "\nSUCCESS\n"