From 8c4fdffec1ad55bd23d10ad88a12d896d764deb6 Mon Sep 17 00:00:00 2001 From: Brian Christiansen <brian@schedmd.com> Date: Mon, 29 Apr 2019 13:27:16 -0600 Subject: [PATCH] Update test7.20 to catch passing/failing het jobs when one offset passes and other fails. Bug 6892 --- testsuite/expect/test7.20 | 83 ++++++++++++-------- testsuite/expect/test7.20_scripts/reject.lua | 3 + 2 files changed, 53 insertions(+), 33 deletions(-) diff --git a/testsuite/expect/test7.20 b/testsuite/expect/test7.20 index e895ab9fc23..1c424d0eb7b 100755 --- a/testsuite/expect/test7.20 +++ b/testsuite/expect/test7.20 @@ -176,7 +176,7 @@ proc check_rc { exit_code } { } } -proc test_bin_pass { bin args count } { +proc test_bin_pass { bin args het_job count } { global salloc ta1 tq2 srun number set got_init 0 @@ -193,15 +193,21 @@ proc test_bin_pass { bin args count } { } # salloc: 0: submit1 -re "^(srun|salloc|sbatch): ($number: |)submit1\r\n" { - incr got_sub1 + if {!$het_job || $expect_out(2,string) != ""} { + incr got_sub1 + } exp_continue } -re "^(srun|salloc|sbatch): ($number: |)submit2\r\n" { - incr got_sub2 + if {!$het_job || $expect_out(2,string) != ""} { + incr got_sub2 + } exp_continue } -re "^(srun|salloc|sbatch): ($number: |)submit3\r\n" { - incr got_sub3 + if {!$het_job || $expect_out(2,string) != ""} { + incr got_sub3 + } exp_continue } timeout { @@ -219,14 +225,16 @@ proc test_bin_pass { bin args count } { log_info "$bin rc:$rc init:$got_init sub1:$got_sub1 sub2:$got_sub2 sub3:$got_sub3 expected:$count" - if {$rc != 0 || $got_sub1 != $count || $got_sub2 != $count || - $got_sub3 != $count} { + if {($rc != 0) || + ($got_sub1 != $count) || + ($got_sub2 != $count) || + ($got_sub3 != $count)} { log_error "Invalid $bin response" endit 1 } } -proc test_bin_fail { bin args count } { +proc test_bin_fail { bin args het_job count } { global ta1 tq1 tq2 srun number set got_init 0 @@ -244,15 +252,21 @@ proc test_bin_fail { bin args count } { #srun: error: submit1\r\n #salloc: error: 0: submit1\r\n -re "^(srun|salloc|sbatch): error: ($number: |)submit1\r\n" { - incr got_sub1 + if {!$het_job || $expect_out(2,string) != ""} { + incr got_sub1 + } exp_continue } -re "^(srun|salloc|sbatch): error: ($number: |)submit2\r\n" { - incr got_sub2 + if {!$het_job || $expect_out(2,string) != ""} { + incr got_sub2 + } exp_continue } -re "^(srun|salloc|sbatch): error: ($number: |)submit3\r\n" { - incr got_sub3 + if {!$het_job || $expect_out(2,string) != ""} { + incr got_sub3 + } exp_continue } timeout { @@ -270,8 +284,10 @@ proc test_bin_fail { bin args count } { log_info "$bin rc:$rc init:$got_init sub1:$got_sub1 sub2:$got_sub2 sub3:$got_sub3 expected:$count" - if {$rc == 0 || $got_sub1 != $count || $got_sub2 != $count || - $got_sub3 != $count} { + if {($rc == 0) || + ($got_sub1 != $count) || + ($got_sub2 != $count) || + ($got_sub3 != $count)} { log_error "Invalid $bin response" endit 1 } @@ -328,13 +344,14 @@ sleep 1 file mtime $config_dir/job_submit.lua [timestamp] # Check that all job types are rejected -test_bin_fail $salloc {-A $ta1 --qos $tq2 -n5 "/bin/true"} 1 -test_bin_fail $salloc {-A $ta1 --qos $tq2 -n5 : -n3 : -n1 "/bin/true"} 1 -test_bin_fail $srun {-A $ta1 --qos $tq2 -n5 /bin/true} 1 -test_bin_fail $srun {-A $ta1 --qos $tq2 -n5 : -n3 : -n1 /bin/true} 1 -test_bin_fail $sbatch {-W -A $ta1 --qos $tq2 -n5 --wrap /bin/true} 1 -test_bin_fail $sbatch {-W -A $ta1 --qos $tq2 -n5 --array 10 --wrap /bin/true} 1 -test_bin_fail $sbatch {-W -A $ta1 --qos $tq2 -n5 : -n3 : -n1 --wrap /bin/true} 1 +test_bin_fail $salloc {-A $ta1 --qos $tq2 -n5 "/bin/true"} 0 1 +test_bin_fail $salloc {-A $ta1 --qos $tq2 -n5 : -n3 : -n1 "/bin/true"} 1 1 +test_bin_fail $srun {-A $ta1 --qos $tq2 -n5 /bin/true} 0 1 +test_bin_fail $srun {-A $ta1 --qos $tq2 -n5 : -n3 : -n1 /bin/true} 1 1 +test_bin_fail $sbatch {-W -A $ta1 --qos $tq2 -n5 --wrap /bin/true} 0 1 +test_bin_fail $sbatch {-W -A $ta1 --qos $tq2 -n5 --array 10 --wrap /bin/true} 0 1 +test_bin_fail $sbatch {-W -A $ta1 --qos $tq2 -n5 : -n3 : -n1 --wrap /bin/true} 1 1 +test_bin_fail $sbatch {-W -A $ta1 --qos $tq2 -n1 -J pass : -n3 -J error : -n5 --wrap /bin/true} 1 2 do_copy $test_lua_pass $config_dir/job_submit.lua # Sleep for 1 second to make sure that modify time is different from last copy. @@ -342,22 +359,22 @@ sleep 1 file mtime $config_dir/job_submit.lua [timestamp] # Check that passing works -test_bin_pass $salloc {-A $ta1 --qos $tq2 -n5 "/bin/true"} 1 -test_bin_pass $salloc {-A $ta1 --qos $tq2 -n5 : -n3 : -n1 "/bin/true"} 3 -test_bin_pass $srun {-A $ta1 --qos $tq2 -n5 /bin/true} 1 -test_bin_pass $srun {-A $ta1 --qos $tq2 -n5 : -n3 : -n1 /bin/true} 3 -test_bin_pass $sbatch {-W -A $ta1 --qos $tq2 -n5 --wrap /bin/true} 1 -test_bin_pass $sbatch {-W -A $ta1 --qos $tq2 -n5 --array 10 --wrap /bin/true} 1 -test_bin_pass $sbatch {-W -A $ta1 --qos $tq2 -n5 : -n3 : -n1 --wrap /bin/true} 3 +test_bin_pass $salloc {-A $ta1 --qos $tq2 -n5 "/bin/true"} 0 1 +test_bin_pass $salloc {-A $ta1 --qos $tq2 -n5 : -n3 : -n1 "/bin/true"} 1 3 +test_bin_pass $srun {-A $ta1 --qos $tq2 -n5 /bin/true} 0 1 +test_bin_pass $srun {-A $ta1 --qos $tq2 -n5 : -n3 : -n1 /bin/true} 1 3 +test_bin_pass $sbatch {-W -A $ta1 --qos $tq2 -n5 --wrap /bin/true} 0 1 +test_bin_pass $sbatch {-W -A $ta1 --qos $tq2 -n5 --array 10 --wrap /bin/true} 0 1 +test_bin_pass $sbatch {-W -A $ta1 --qos $tq2 -n5 : -n3 : -n1 --wrap /bin/true} 1 3 # Check that messages are still sent with failing QOS but passing filter -test_bin_fail $salloc {-A $ta1 --qos $tq1 -n5 "/bin/true"} 1 -test_bin_fail $salloc {-A $ta1 --qos $tq1 -n5 : -n3 : -n1 "/bin/true"} 1 -test_bin_fail $srun {-A $ta1 --qos $tq1 -n5 /bin/true} 1 -test_bin_fail $srun {-A $ta1 --qos $tq1 -n5 : -n3 : -n1 /bin/true} 1 -test_bin_fail $sbatch {-W -A $ta1 --qos $tq1 -n5 --wrap /bin/true} 1 -test_bin_fail $sbatch {-W -A $ta1 --qos $tq1 -n5 --array 10 --wrap /bin/true} 1 -test_bin_fail $sbatch {-W -A $ta1 --qos $tq1 -n5 : -n3 : -n1 --wrap /bin/true} 3 +test_bin_fail $salloc {-A $ta1 --qos $tq1 -n5 "/bin/true"} 0 1 +test_bin_fail $salloc {-A $ta1 --qos $tq1 -n5 : -n3 : -n1 "/bin/true"} 1 1 +test_bin_fail $srun {-A $ta1 --qos $tq1 -n5 /bin/true} 0 1 +test_bin_fail $srun {-A $ta1 --qos $tq1 -n5 : -n3 : -n1 /bin/true} 1 1 +test_bin_fail $sbatch {-W -A $ta1 --qos $tq1 -n5 --wrap /bin/true} 0 1 +test_bin_fail $sbatch {-W -A $ta1 --qos $tq1 -n5 --array 10 --wrap /bin/true} 0 1 +test_bin_fail $sbatch {-W -A $ta1 --qos $tq1 -n5 : -n3 : -n1 --wrap /bin/true} 1 3 check_rc $exit_code diff --git a/testsuite/expect/test7.20_scripts/reject.lua b/testsuite/expect/test7.20_scripts/reject.lua index 6d87c7f921f..73417ecc053 100644 --- a/testsuite/expect/test7.20_scripts/reject.lua +++ b/testsuite/expect/test7.20_scripts/reject.lua @@ -6,6 +6,9 @@ function slurm_job_submit(job_desc, part_list, submit_uid) slurm.log_user("submit1") slurm.log_user("submit2") slurm.log_user("submit3") + if (job_desc.name == "pass") then + return slurm.SUCCESS + end return slurm.ERROR end -- GitLab