diff --git a/testsuite/expect/test17.31 b/testsuite/expect/test17.31 index 0f54069faf4a2773004ad991efbacfbd14c71bdf..681f2e6b71e05b036daa4805466cb191ee4fdb68 100755 --- a/testsuite/expect/test17.31 +++ b/testsuite/expect/test17.31 @@ -42,8 +42,6 @@ set node_cnt 3 set ppn_cnt 2 set min_mem 1024 -append min_mem_mb $min_mem "mb" - print_header $test_id set available [available_nodes [default_partition]] @@ -53,6 +51,35 @@ if {$available < $node_cnt} { exit $exit_code } +log_user 0 +set scontrol_pid [spawn $scontrol show nodes] +expect { + -re "CPUS=($number)" { + if {$expect_out(1,string) < $ppn_cnt} { + set ppn_cnt $expect_out(1,string) + } + exp_continue + } + -re "RealMemory=($number)" { + if {$expect_out(1,string) < $min_mem} { + set min_mem $expect_out(1,string) + } + exp_continue + } + timeout { + send_user "\nFAILURE: scontrol not responding\n" + set exit_code 1 + slow_kill $scontrol_pid + exp_continue + } + eof { + wait + } +} +log_user 1 +send_user "Actual configuration: min_cpus=$ppn_cnt min_mem=$min_mem\n\n" +append min_mem_mb $min_mem "mb" + # # Build input script file # NOTE: The initial sleep is so that all of the submissions have time @@ -65,7 +92,7 @@ $bin_sleep $delay " set matches 0 -spawn $sbatch -vv -o $file_out $file_in +set sbatch_pid [spawn $sbatch -vv -o $file_out $file_in] #exp_internal 1 expect { -re "nprocs$whitespace: ($number) \\(set\\)" { @@ -79,27 +106,26 @@ expect { } exp_continue } - -re "mem=($number)" { - set mem $expect_out(1,string) - if { $mem != $min_mem } { - send_user "\nFAILURE: Min memory is different ($mem) than requested ($min_mem)\n" + -re "nodes$whitespace: ($number)" { + set nodes $expect_out(1,string) + if { $nodes != $node_cnt } { + send_user "\nFAILURE: Bad node count allocated\n" set exit_code 1 } else { incr matches } exp_continue } - -re "nodes$whitespace: ($number)" { - set nodes $expect_out(1,string) - if { $nodes != $node_cnt } { - send_user "\nFAILURE: Bad node count allocated\n" + -re "mem=($number)" { + set mem $expect_out(1,string) + if { $mem != $min_mem } { + send_user "\nFAILURE: Min memory is different ($mem) than requested ($min_mem)\n" set exit_code 1 } else { incr matches } exp_continue } - -re "batch job ($number)" { set job_id $expect_out(1,string) exp_continue @@ -113,6 +139,7 @@ expect { timeout { send_user "\nFAILURE: sbatch not responding\n" set exit_code 1 + slow_kill $sbatch_pid exp_continue } eof {