diff --git a/testsuite/expect/globals b/testsuite/expect/globals index e5966229e0ab4d611902ba35980d628b63bb9cbf..2a26eab4d9016abd630d1129412cc3c770b0d4fd 100755 --- a/testsuite/expect/globals +++ b/testsuite/expect/globals @@ -1193,6 +1193,38 @@ proc test_cray { } { return $cray } + +################################################################ +# +# Proc: test_emulated +# +# Purpose: Determine if the system is emulated (not running on +# actual Cray or Bluegene hardware +# +# Returns 1 if the system is emulated otherwise +# +################################################################ + +proc test_emulated { } { + global scontrol bin_bash + + log_user 0 + set emulated 0 + spawn -noecho $bin_bash -c "exec $scontrol show config" + expect { + "Emulated * = yes" { + set emulated 1 + exp_continue + } + eof { + wait + } + } + log_user 1 + + return $emulated +} + ################################################################ # # Proc: get_cycle_count diff --git a/testsuite/expect/test1.31 b/testsuite/expect/test1.31 index 2770779934097a447243fc9f6fe8086f36949ee9..68f229007e310a2612903ad17b8c647dcd7f9653 100755 --- a/testsuite/expect/test1.31 +++ b/testsuite/expect/test1.31 @@ -43,7 +43,11 @@ set env_name_nnodes "SLURM_NNODES" if { [test_bluegene] } { set min_nodes 1 set max_nodes 1024 - set env_valu_nprocs 5 + if { [test_emulated] } { + set env_valu_nprocs 1 + } else { + set env_valu_nprocs 32 + } } else { set min_nodes 1 set max_nodes 2 @@ -142,19 +146,22 @@ expect { if {$task_cnt != $env_valu_nprocs} { send_user "\nFAILURE: did not process" - send_user " $env_name_nprocs environment variable\n" + send_user " $env_name_nprocs environment variable" + send_user " ($task_cnt != $env_valu_nprocs)\n" set exit_code 1 } # Note zero origin conversion incr max_node_val if {$max_node_val < $min_nodes} { send_user "\nFAILURE: did not process" - send_user " $env_name_nnodes environment variable\n" + send_user " $env_name_nnodes environment variable" + send_user " ($max_node_val < $min_nodes)\n" set exit_code 1 } if {$max_node_val > $max_nodes} { send_user "\nFAILURE: did not process" - send_user " $env_name_nnodes environment variable\n" + send_user " $env_name_nnodes environment variable" + send_user " ($max_node_val > $max_nodes)\n" set exit_code 1 } diff --git a/testsuite/expect/test1.49 b/testsuite/expect/test1.49 index fab8ea0d3eff5963f61d1b806bb99c5027b3bf29..95f1b8bfd357876db5b3b05cc27b7f67c9187113 100755 --- a/testsuite/expect/test1.49 +++ b/testsuite/expect/test1.49 @@ -35,7 +35,6 @@ source ./globals set test_id "1.49" set exit_code 0 set cwd "[$bin_pwd]" -set tasks 4 set file_in "$cwd/test$test_id.in" set task_prolog "$cwd/test$test_id.prolog" set task_epilog "$cwd/test$test_id.epilog" @@ -84,8 +83,14 @@ make_bash_script $file_in " # set matches 0 set timeout [expr $max_job_delay + 30] +set tasks 4 if { [test_bluegene] } { - set node_cnt 1-1024 + if { [test_emulated] } { + set node_cnt 1 + set tasks 1 + } else { + set node_cnt 1-1024 + } } else { set node_cnt 1-1 } diff --git a/testsuite/expect/test15.24 b/testsuite/expect/test15.24 index b9ef99614f60659748488b128127a4d17b3062b3..faa4addff95634a45db6eacf86f8a6795f113851 100755 --- a/testsuite/expect/test15.24 +++ b/testsuite/expect/test15.24 @@ -37,7 +37,6 @@ set exit_code 0 set file_in "test$test_id.input" set file_out "test$test_id.output" set job_id 0 -set task_cnt 10 print_header $test_id @@ -45,6 +44,15 @@ if {[test_cray]} { send_user "\nWARNING: This test is incompatible with Cray systems\n" exit $exit_code } +if { [test_bluegene] } { + if { [test_emulated] } { + set task_cnt 1 + } else { + set task_cnt 10 + } +} else { + set task_cnt 10 +} # # Submit a slurm job that will print slurm env vars and execute 'id' diff --git a/testsuite/expect/test16.4 b/testsuite/expect/test16.4 index 527b0f724c441a9b23a51e89d8c03250d022bda8..71ba7ed922a4b307218e90896b309fcd41676f59 100755 --- a/testsuite/expect/test16.4 +++ b/testsuite/expect/test16.4 @@ -49,6 +49,18 @@ if { [test_xcpu] } { send_user "\nWARNING: This test is incompatible with XCPU systems\n" exit 0 } +if { [test_bluegene] } { + if { [test_emulated] } { + set node_cnt 1 + set task_cnt 1 + } else { + set node_cnt 1-4 + set task_cnt 4 + } +} else { + set node_cnt 1-4 + set task_cnt 4 +} # # Delete left-over program and rebuild it @@ -61,7 +73,7 @@ exec $bin_chmod 700 $file_prog # Spawn initial program via srun # set timeout $max_job_delay -set salloc_pid [spawn $salloc -N1-4 -t2 $srun -n4 --overcommit $file_prog] +set salloc_pid [spawn $salloc -N $node_cnt -t2 $srun -n $task_cnt --overcommit $file_prog] set init_id $spawn_id expect { -i $init_id @@ -71,7 +83,7 @@ expect { } -re "WAITING" { incr matches - if {$matches != 4} { + if {$matches != $task_cnt} { exp_continue } } @@ -91,7 +103,7 @@ if {$job_id == 0} { send_user "\nFAILURE: job submit failure\n" exit 1 } -if {$matches != 4} { +if {$matches != $task_cnt} { send_user "\nFAILURE: job run time failure\n" exit 1 } @@ -104,7 +116,7 @@ spawn $sattach --layout $job_id.0 set attach_id $spawn_id expect { -i $attach_id - -re "4 tasks, ($number) nodes" { + -re "($number) tasks, ($number) nodes" { incr matches exp_continue } @@ -126,12 +138,12 @@ if {$matches == 0} { # set matches 0 set timeout 10 -set attach_pid [spawn $sattach -l --output-filter=2 $job_id.0] +set attach_pid [spawn $sattach -l --output-filter=[expr $task_cnt - 1] $job_id.0] set attach_id $spawn_id expect { -i $attach_id -re "($number): WAITING" { - if {$expect_out(1,string) != 2} { + if {$expect_out(1,string) != [expr $task_cnt - 1]} { send_user "\nFAILURE: output filtering by task failed\n" set exit_code 1 } else { @@ -168,7 +180,7 @@ expect { } -re "($number): WAITING" { incr matches - if {$matches == 4} { + if {$matches == [expr $task_cnt + 1]} { send -i $attach_id "exit\r" } exp_continue @@ -181,8 +193,8 @@ expect { wait } } -if {$matches != 5} { - send_user "\nFAILURE: job run time failure\n" +if {$matches != [expr $task_cnt + 1]} { + send_user "\nFAILURE: job run time failure ($matches != [expr $task_cnt + 1])\n" set exit_code 1 } diff --git a/testsuite/expect/test17.32 b/testsuite/expect/test17.32 index a278f00442c4c68ba56846440eab2038c94a9f9e..6762483fbc620ed9abd3b44fa8158334d48f4a80 100755 --- a/testsuite/expect/test17.32 +++ b/testsuite/expect/test17.32 @@ -37,7 +37,6 @@ set exit_code 0 set file_in "test$test_id.input" set file_out "test$test_id.output" set job_id 0 -set task_cnt 10 print_header $test_id @@ -57,6 +56,15 @@ make_bash_script $file_in " # # Submit a slurm job that will execute 'id' on 1 node and over task_cnt tasks # +if { [test_bluegene] } { + if { [test_emulated] } { + set task_cnt 1 + } else { + set task_cnt 10 + } +} else { + set task_cnt 10 +} spawn $sbatch --ntasks=$task_cnt --overcommit -N1 --output=$file_out -t1 $file_in expect { -re "Submitted batch job ($number)" { @@ -113,7 +121,7 @@ if {$matches != 2} { } if {$task_cnt != $tasks} { send_user "\nFAILURE: Did not get proper number of tasks: " - send_user "$task_cnt, $tasks\n" + send_user "($task_cnt != $tasks)\n" set exit_code 1 } diff --git a/testsuite/expect/test7.2 b/testsuite/expect/test7.2 index 87bb5a29ea94390dd163cce5ac89fbd91e58f43a..49c5e69f0bed6de852287a078642489e33338417 100755 --- a/testsuite/expect/test7.2 +++ b/testsuite/expect/test7.2 @@ -87,8 +87,13 @@ if { $exit_code == 0 } { # set timeout $max_job_delay if { [test_bluegene] } { - set node_cnt 1-1024 - set task_cnt 8 + if { [test_emulated] } { + set node_cnt 1 + set task_cnt 1 + } else { + set node_cnt 1-1024 + set task_cnt 8 + } } else { if { [test_xcpu] } { set node_cnt 1-1 diff --git a/testsuite/expect/test9.1 b/testsuite/expect/test9.1 index 10568c42af77ee8af539f300b3c501d381baa7c7..e3bf2689ec7abaf73d40f2c6b4de4e3a6f41477d 100755 --- a/testsuite/expect/test9.1 +++ b/testsuite/expect/test9.1 @@ -40,11 +40,16 @@ set exit_code 0 set file_in "test$test_id.input" set file_out "test$test_id.output" set job_name "test$test_id" -set task_cnt $max_stress_tasks set cycle_count [get_cycle_count] +set task_cnt $max_stress_tasks if { [test_bluegene] } { - set node_cnt 1-2048 + if { [test_emulated] } { + set node_cnt 1 + set task_cnt 1 + } else { + set node_cnt 1-2048 + } } else { if { [test_xcpu] } { set node_cnt 1-1 diff --git a/testsuite/expect/test9.2 b/testsuite/expect/test9.2 index 71f5873e507783ea14950f1b37aaddc8080b9c0a..c7b9535d6e0bf16849e0ca86ef7d1e24c748b453 100755 --- a/testsuite/expect/test9.2 +++ b/testsuite/expect/test9.2 @@ -41,8 +41,14 @@ set file_out "test$test_id.output" set job_name "test$test_id" set cycle_count [get_cycle_count] +set task_cnt $max_stress_tasks if { [test_bluegene] } { - set node_cnt 1-2048 + if { [test_emulated] } { + set node_cnt 1 + set task_cnt 1 + } else { + set node_cnt 1-2048 + } } else { if { [test_xcpu] } { set node_cnt 1-1 @@ -51,7 +57,6 @@ if { [test_bluegene] } { } } set other_opts "-O" -set task_cnt $max_stress_tasks print_header $test_id diff --git a/testsuite/expect/test9.3 b/testsuite/expect/test9.3 index f54318bef8b817ed1474e0b6c62aa31ce61fc67b..7e41c4db73b552ecc25ace21ac1656331d03fb14 100755 --- a/testsuite/expect/test9.3 +++ b/testsuite/expect/test9.3 @@ -42,8 +42,14 @@ set file_out "test$test_id.output" set job_name "test$test_id" set cycle_count [get_cycle_count] +set task_cnt $max_stress_tasks if { [test_bluegene] } { - set node_cnt 1-2048 + if { [test_emulated] } { + set node_cnt 1 + set task_cnt 1 + } else { + set node_cnt 1-2048 + } } else { if { [test_xcpu] } { set node_cnt 1-1 @@ -52,7 +58,6 @@ if { [test_bluegene] } { } } set other_opts "-O" -set task_cnt $max_stress_tasks print_header $test_id diff --git a/testsuite/expect/test9.4 b/testsuite/expect/test9.4 index 65dbbec8c4d9021cd88510e2bbec11e0ac771e07..6f6f4635c5ced2484eacbfb76a73b89535a762f6 100755 --- a/testsuite/expect/test9.4 +++ b/testsuite/expect/test9.4 @@ -48,8 +48,14 @@ set file_out_task "test$test_id.%t.output" set job_name "test$test_id" set cycle_count [get_cycle_count] +set task_cnt $max_stress_tasks if { [test_bluegene] } { - set node_cnt 1-2048 + if { [test_emulated] } { + set node_cnt 1 + set task_cnt 1 + } else { + set node_cnt 1-2048 + } } else { if { [test_xcpu] } { set node_cnt 1-1 @@ -57,9 +63,7 @@ if { [test_bluegene] } { set node_cnt 1-4 } } - set other_opts "-O" -set task_cnt $max_stress_tasks print_header $test_id @@ -148,6 +152,7 @@ for {set inx 0} {$inx < $cycle_count} {incr inx} { send_user "\nFAILURE:stdout is incomplete\n" } set exit_code 1 + break } else { incr success_cnt } diff --git a/testsuite/expect/test9.5 b/testsuite/expect/test9.5 index a5691b117081682fa2d8568af06f989d359656a9..b8f2936c2b167d500726cc9886393cab2714868a 100755 --- a/testsuite/expect/test9.5 +++ b/testsuite/expect/test9.5 @@ -40,8 +40,14 @@ set file_out "test$test_id.output" set job_name "test$test_id" set cycle_count [get_cycle_count] +set task_cnt $max_stress_tasks if { [test_bluegene] } { - set node_cnt 1-2048 + if { [test_emulated] } { + set node_cnt 1 + set task_cnt 1 + } else { + set node_cnt 1-2048 + } } else { if { [test_xcpu] } { set node_cnt 1-1 @@ -50,7 +56,6 @@ if { [test_bluegene] } { } } set other_opts "-O" -set task_cnt $max_stress_tasks print_header $test_id @@ -132,6 +137,7 @@ for {set inx 0} {$inx < $cycle_count} {incr inx} { send_user "\nFAILURE:stdout is incomplete\n" } set exit_code 1 + break } else { incr success_cnt } diff --git a/testsuite/expect/test9.6 b/testsuite/expect/test9.6 index 2952e1f8922c3e742d38e2a2d425542ac34cdbd3..9c50cbc9ade0b3ddb3120778c48de6c0e2318f07 100755 --- a/testsuite/expect/test9.6 +++ b/testsuite/expect/test9.6 @@ -42,8 +42,14 @@ set file_out "test$test_id.output" set job_name "test$test_id" set cycle_count [get_cycle_count] +set task_cnt $max_stress_tasks if { [test_bluegene] } { - set node_cnt 1-2048 + if { [test_emulated] } { + set node_cnt 1 + set task_cnt 1 + } else { + set node_cnt 1-2048 + } } else { if { [test_xcpu] } { set node_cnt 1-1 @@ -51,9 +57,7 @@ if { [test_bluegene] } { set node_cnt 1-4 } } - set other_opts "-O" -set task_cnt $max_stress_tasks print_header $test_id