Skip to content
Snippets Groups Projects
Commit 2592eb5e authored by jette's avatar jette
Browse files

Make test more robust

Make test work if current working directory not in the search path
Check for appropriate task rank on POE based systems
Disable the entire test on POE systems
parent 48e164e0
No related branches found
No related tags found
No related merge requests found
......@@ -40,6 +40,11 @@ set prompt "PROMPT:"
print_header $test_id
if { [test_launch_poe] } {
send_user "\nWARNING: This test is incompatible with launch/poe systems\n"
exit 0
}
#
# Test if memory affinity support is supported.
#
......@@ -136,7 +141,7 @@ expect {
#
set full_mask -1
set timeout $max_job_delay
send "$srun -c1 $file_prog\r"
send "$srun -c1 ./$file_prog\r"
expect {
-re "numa support not available" {
send "exit\r"
......@@ -190,7 +195,7 @@ if {$full_mask == 1} {
#
set cpu_mask 0
set mem_mask 0
send "$srun -n $task_cnt --mem_bind=rank $file_prog\r"
send "$srun -n $task_cnt --mem_bind=rank ./$file_prog\r"
expect {
-re "TASK_ID:($number),CPU_MASK:($number),MEM_MASK:($number)" {
incr cpu_mask $expect_out(2,string)
......@@ -219,7 +224,7 @@ if {$mem_mask != $full_mask} {
#
set task_mask 0
set verbose_cnt 0
send "$srun -n $task_cnt --mem_bind=verbose,map_mem:0 $file_prog\r"
send "$srun -n $task_cnt --mem_bind=verbose,map_mem:0 ./$file_prog\r"
expect {
-re "TASK_ID:($number),CPU_MASK:($number),MEM_MASK:($number)" {
incr task_mask $expect_out(3,string)
......@@ -242,7 +247,7 @@ if {$task_mask != $task_cnt} {
set exit_code 1
}
set verbose_cnt 0
send "$srun -n $task_cnt --mem_bind=verbose,map_mem:0 $file_prog\r"
send "$srun -n $task_cnt --mem_bind=verbose,map_mem:0 ./$file_prog\r"
expect {
-re "mem_bind=MAP" {
incr verbose_cnt
......@@ -268,7 +273,7 @@ if {$verbose_cnt != $task_cnt} {
#
# Run all tasks all bound to the same CPU's memory (local CPU)
#
send "$srun -n $task_cnt --cpu_bind=rank --mem_bind=local $file_prog\r"
send "$srun -n $task_cnt --cpu_bind=rank --mem_bind=local ./$file_prog\r"
expect {
-re "TASK_ID:($number),CPU_MASK:($number),MEM_MASK:($number)" {
if {$expect_out(2,string) != $expect_out(3,string)} {
......@@ -298,7 +303,7 @@ set cpu_cnt 0
while {$cpu_cnt < $task_cnt} {
set mask_sum 0
set mask [ expr 1 << $cpu_cnt ]
send "$srun -n $task_cnt --mem_bind=map_mem:$cpu_cnt $file_prog\r"
send "$srun -n $task_cnt --mem_bind=map_mem:$cpu_cnt ./$file_prog\r"
expect {
-re "TASK_ID:($number),CPU_MASK:($number),MEM_MASK:($number)" {
incr mask_sum $expect_out(3,string)
......@@ -332,7 +337,7 @@ while {$cpu_cnt < $task_cnt} {
set mask_sum 0
set mask [ expr 1 << $cpu_cnt ]
set mstr [ dec2hex $mask]
send "$srun -n $task_cnt --mem_bind=mask_mem:$mstr $file_prog\r"
send "$srun -n $task_cnt --mem_bind=mask_mem:$mstr ./$file_prog\r"
expect {
-re "TASK_ID:($number),CPU_MASK:($number),MEM_MASK:($number)" {
incr mask_sum $expect_out(3,string)
......@@ -408,7 +413,7 @@ send_user "alt_mask: $alt_mask\n"
# Run all tasks bound to a different CPU's memory by specifying a forward map
#
set task_mask 0
send "$srun -n $task_cnt --mem_bind=map_mem:$fwd_map $file_prog\r"
send "$srun -n $task_cnt --mem_bind=map_mem:$fwd_map ./$file_prog\r"
expect {
-re "TASK_ID:($number),CPU_MASK:($number),MEM_MASK:($number)" {
incr task_mask $expect_out(3,string)
......@@ -436,7 +441,7 @@ if {$task_mask != $full_mask} {
# Run all tasks bound to a different CPU's memory by specifying a reverse map
#
set task_mask 0
send "$srun -n $task_cnt --mem_bind=map_mem:$rev_map $file_prog\r"
send "$srun -n $task_cnt --mem_bind=map_mem:$rev_map ./$file_prog\r"
expect {
-re "TASK_ID:($number),CPU_MASK:($number),MEM_MASK:($number)" {
incr task_mask $expect_out(3,string)
......@@ -464,7 +469,7 @@ if {$task_mask != $full_mask} {
# Run all tasks bound to a different CPU's memroy by specifying an alternating map
#
set task_mask 0
send "$srun -n $task_cnt --mem_bind=map_mem:$alt_map $file_prog\r"
send "$srun -n $task_cnt --mem_bind=map_mem:$alt_map ./$file_prog\r"
expect {
-re "TASK_ID:($number),CPU_MASK:($number),MEM_MASK:($number)" {
incr task_mask $expect_out(3,string)
......@@ -492,7 +497,7 @@ if {$task_mask != $full_mask} {
# Run all tasks bound to a different CPU's memory by specifying a forward mask
#
set task_mask 0
send "$srun -n $task_cnt --mem_bind=mask_mem:$fwd_mask $file_prog\r"
send "$srun -n $task_cnt --mem_bind=mask_mem:$fwd_mask ./$file_prog\r"
expect {
-re "TASK_ID:($number),CPU_MASK:($number),MEM_MASK:($number)" {
incr task_mask $expect_out(3,string)
......@@ -520,7 +525,7 @@ if {$task_mask != $full_mask} {
# Run all tasks bound to a different CPU's memory by specifying a reverse mask
#
set task_mask 0
send "$srun -n $task_cnt --mem_bind=mask_mem:$rev_mask $file_prog\r"
send "$srun -n $task_cnt --mem_bind=mask_mem:$rev_mask ./$file_prog\r"
expect {
-re "TASK_ID:($number),CPU_MASK:($number),MEM_MASK:($number)" {
incr task_mask $expect_out(3,string)
......@@ -548,7 +553,7 @@ if {$task_mask != $full_mask} {
# Run all tasks bound to a different CPU's memory by specifying an alternating mask
#
set task_mask 0
send "$srun -n $task_cnt --mem_bind=mask_mem:$alt_mask $file_prog\r"
send "$srun -n $task_cnt --mem_bind=mask_mem:$alt_mask ./$file_prog\r"
expect {
-re "TASK_ID:($number),CPU_MASK:($number),MEM_MASK:($number)" {
incr task_mask $expect_out(3,string)
......
......@@ -81,7 +81,9 @@ main (int argc, char **argv)
exit(0);
}
if ((task_str = getenv("SLURM_PROCID")) == NULL) {
/* On POE systems, MP_CHILD is equivalent to SLURM_PROCID */
if (((task_str = getenv("SLURM_PROCID")) == NULL) &&
((task_str = getenv("MP_CHILD")) == NULL)) {
fprintf(stderr, "ERROR: getenv(SLURM_PROCID) failed\n");
exit(1);
}
......
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