From 910c8d46a095fcdd6039b595d0a94d37552197ad Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Wed, 21 Nov 2007 22:32:38 +0000 Subject: [PATCH] update some tests to remove vestigial jobs on failure --- testsuite/expect/test17.18 | 5 +++++ testsuite/expect/test17.20 | 5 +++-- testsuite/expect/test17.25 | 1 + testsuite/expect/test17.27 | 7 ++++++- testsuite/expect/test17.28 | 22 +++++++++++++++++++++- testsuite/expect/test17.29 | 1 + testsuite/expect/test17.31 | 8 ++++++-- testsuite/expect/test17.32 | 1 + 8 files changed, 44 insertions(+), 6 deletions(-) diff --git a/testsuite/expect/test17.18 b/testsuite/expect/test17.18 index 3a23344af31..78974a8c0c6 100755 --- a/testsuite/expect/test17.18 +++ b/testsuite/expect/test17.18 @@ -101,8 +101,11 @@ if {$job_id2 == 0} { # if {[wait_for_job $job_id2 "DONE"] != 0} { send_user "\nFAILURE: waiting for job to complete\n" + cancel_job $job_id2 + cancel_job $job_id1 exit 1 } +cancel_job $job_id1 # # Inspect the job's output file @@ -185,6 +188,7 @@ if {$job_id1 == 0} { send_user "\nFAILURE: batch submit failure\n" exit 1 } + exec $bin_sleep 5 set match 0 spawn $scontrol show job $job_id1 @@ -214,6 +218,7 @@ if {$match != 2} { send_user "\nFAILURE: unexpected JobState or StartTime\n" set exit_code 1 } + # Reset start time and test for completion spawn $scontrol update JobId=$job_id1 StartTime=now expect { diff --git a/testsuite/expect/test17.20 b/testsuite/expect/test17.20 index 934e92836cd..30b0197dca0 100755 --- a/testsuite/expect/test17.20 +++ b/testsuite/expect/test17.20 @@ -96,8 +96,9 @@ if {$job_id == 0} { # Wait for job to complete # if {[wait_for_job $job_id "DONE"] != 0} { - send_user "\nFAILURE: waiting for job to complete\n" - set exit_code 1 + send_user "\nFAILURE: waiting for job to complete\n" + cancel_job $job_id + exit 1 } if {[wait_for_file $file_out] != 0} { diff --git a/testsuite/expect/test17.25 b/testsuite/expect/test17.25 index 2f392080953..f92f050b3da 100755 --- a/testsuite/expect/test17.25 +++ b/testsuite/expect/test17.25 @@ -99,4 +99,5 @@ if {$exit_code == 0} { exec $bin_rm -f $file_in send_user "\nSUCCESS\n" } +cancel_job $job_id exit $exit_code diff --git a/testsuite/expect/test17.27 b/testsuite/expect/test17.27 index ec6893c64a7..a57c2707444 100755 --- a/testsuite/expect/test17.27 +++ b/testsuite/expect/test17.27 @@ -95,9 +95,14 @@ expect { wait } } +if {$job_id == 0} { + send_user "\nFAILURE: job not submitted\n" + exit 1 +} if {[wait_for_job $job_id "DONE"] != 0} { send_user "\nFAILURE: job did not complete\n" - set exit_code 1 + cancel_job $job_id + exit 1 } if {[wait_for_file $file_out] != 0} { send_user "\nFAILURE: no output file\n" diff --git a/testsuite/expect/test17.28 b/testsuite/expect/test17.28 index 8921309bec1..5c0ffcdf92a 100755 --- a/testsuite/expect/test17.28 +++ b/testsuite/expect/test17.28 @@ -91,6 +91,7 @@ if {$matches != 2} { send_user "\nFAILURE: did not set job name and account from batch script\n" set exit_code 1 } +cancel_job $job_id # # Build input script file @@ -102,7 +103,7 @@ make_bash_script $file_in " #SBATCH -N1000000k $bin_sleep $delay " - +set job_id 0 set matches 0 spawn $sbatch -o $file_out $file_in expect { @@ -111,6 +112,10 @@ expect { incr matches exp_continue } + -re "Submitted batch job ($number)" { + set job_id $expect_out(1,string) + exp_continue + } timeout { send_user "\nFAILURE: sbatch not responding\n" set exit_code 1 @@ -124,12 +129,18 @@ if {$matches != 1} { send_user "\nFAILURE: sbatch didn't read the correct options from batch file\n" set exit_code 1 } +if {$job_id == 0} { + send_user "\nFAILURE: sbatch didn't reject job with invalid size\n" + cancel_job $job_id + set exit_code 1 +} make_bash_script $file_in " #SBATCH -N650000 $bin_sleep $delay " +set job_id 0 spawn $sbatch -N1 -o $file_out $file_in expect { -re "More nodes requested than permitted" { @@ -138,6 +149,10 @@ expect { set exit_code 1 exp_continue } + -re "Submitted batch job ($number)" { + set job_id $expect_out(1,string) + exp_continue + } timeout { send_user "\nFAILURE: sbatch not responding\n" set exit_code 1 @@ -147,6 +162,11 @@ expect { wait } } +if {$job_id == 0} { + send_user "\nFAILURE: sbatch didn't reject job with invalid size\n" + cancel_job $job_id + set exit_code 1 +} # # Post-processing diff --git a/testsuite/expect/test17.29 b/testsuite/expect/test17.29 index 9d4d783a807..897f71b55b5 100755 --- a/testsuite/expect/test17.29 +++ b/testsuite/expect/test17.29 @@ -80,6 +80,7 @@ if {$job_id == 0} { # if {[wait_for_job $job_id "DONE"] != 0} { send_user "\nFAILURE: waiting for job to complete\n" + cancel_job $job_id set exit_code 1 } diff --git a/testsuite/expect/test17.31 b/testsuite/expect/test17.31 index 681f2e6b71e..a4a2daef43b 100755 --- a/testsuite/expect/test17.31 +++ b/testsuite/expect/test17.31 @@ -146,12 +146,16 @@ expect { wait } } - - if {$matches != 3} { send_user "\nFAILURE: sbatch didn't read the correct options from batch file\n" set exit_code 1 } +if {$job_id == 0} { + send_user "\nFAILURE: sbatch failed to submit the job\n" + set exit_code 1 +} else { + cancel_job $job_id +} # # Post-processing diff --git a/testsuite/expect/test17.32 b/testsuite/expect/test17.32 index 0a408b0197b..9039c9e830f 100755 --- a/testsuite/expect/test17.32 +++ b/testsuite/expect/test17.32 @@ -76,6 +76,7 @@ expect { # if {[wait_for_job $job_id "DONE"] != 0} { send_user "\nFAILURE: waiting for job to complete\n" + cancel_job $job_id set exit_code 1 } set matches 0 -- GitLab