Skip to content

Commit 3a77f2c

Browse files
committed
testsuite: update job list queue stat tests
Problem: A test in t2260-job-list.t assumes there will be no job queue stats if a job has never been submitted to it. That behavior was recently changed. Update the test to check for non-empty queue stats for queues that should have no jobs "submitted" to it. Also add a new "nosubmitqueue" to the test for additional coverage.
1 parent fb3d7ed commit 3a77f2c

File tree

1 file changed

+52
-4
lines changed

1 file changed

+52
-4
lines changed

t/t2260-job-list.t

Lines changed: 52 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2132,10 +2132,14 @@ test_expect_success 'job-list parses flux-restart events' '
21322132
# jobspec-update event testing
21332133
#
21342134

2135+
# N.B. "defaultqueue" will habe jobs "submitted" to it, but updates
2136+
# make it appear that jobs were not submitted to it. "nosubmitqueue"
2137+
# will never have jobs submitted to it.
21352138
test_expect_success 'configure update queues' '
21362139
flux config load <<-EOT &&
21372140
[queues.defaultqueue]
21382141
[queues.updatequeue]
2142+
[queues.nosubmitqueue]
21392143
EOT
21402144
flux queue start --all
21412145
'
@@ -2173,9 +2177,15 @@ test_expect_success 'job-list returns expected jobspec changes' '
21732177
flux job list -s inactive | grep $(cat update1.id) | jq -e ".duration == 1000.0"
21742178
'
21752179

2180+
#
2181+
# "nosubmitqueue" never has job submitted to it, make sure stats
2182+
# string is non-empty and filled with zeros.
2183+
#
21762184
test_expect_success 'job stats lists jobs in correct state in each queue' '
21772185
defaultq=`flux job stats | jq ".queues[] | select( .name == \"defaultqueue\" )"` &&
21782186
updateq=`flux job stats | jq ".queues[] | select( .name == \"updatequeue\" )"` &&
2187+
nosubmitq=`flux job stats | jq ".queues[] | select( .name == \"nosubmitqueue\" )"` &&
2188+
test -n "$nosubmitq" &&
21792189
echo $defaultq | jq -e ".job_states.depend == 0" &&
21802190
echo $defaultq | jq -e ".job_states.priority == 0" &&
21812191
echo $defaultq | jq -e ".job_states.sched == 0" &&
@@ -2199,7 +2209,19 @@ test_expect_success 'job stats lists jobs in correct state in each queue' '
21992209
echo $updateq | jq -e ".failed == 0" &&
22002210
echo $updateq | jq -e ".canceled == 0" &&
22012211
echo $updateq | jq -e ".timeout == 0" &&
2202-
echo $updateq | jq -e ".inactive_purged == 0"
2212+
echo $updateq | jq -e ".inactive_purged == 0" &&
2213+
echo $nosubmitq | jq -e ".job_states.depend == 0" &&
2214+
echo $nosubmitq | jq -e ".job_states.priority == 0" &&
2215+
echo $nosubmitq | jq -e ".job_states.sched == 0" &&
2216+
echo $nosubmitq | jq -e ".job_states.run == 0" &&
2217+
echo $nosubmitq | jq -e ".job_states.cleanup == 0" &&
2218+
echo $nosubmitq | jq -e ".job_states.inactive == 0" &&
2219+
echo $nosubmitq | jq -e ".job_states.total == 0" &&
2220+
echo $nosubmitq | jq -e ".successful == 0" &&
2221+
echo $nosubmitq | jq -e ".failed == 0" &&
2222+
echo $nosubmitq | jq -e ".canceled == 0" &&
2223+
echo $nosubmitq | jq -e ".timeout == 0" &&
2224+
echo $nosubmitq | jq -e ".inactive_purged == 0"
22032225
'
22042226

22052227
test_expect_success 'reload the job-list module' '
@@ -2215,12 +2237,26 @@ test_expect_success 'job-list returns expected jobspec changes after reload' '
22152237

22162238
#
22172239
# After reload, job-list will not have ever seen any jobs submitted to
2218-
# "defaultqueue" therefore the stats object is empty.
2240+
# "defaultqueue", need to check that stats string is non-empty and all
2241+
# stats are 0.
22192242
#
22202243
test_expect_success 'job stats in each queue correct after reload' '
22212244
defaultq=`flux job stats | jq ".queues[] | select( .name == \"defaultqueue\" )"` &&
22222245
updateq=`flux job stats | jq ".queues[] | select( .name == \"updatequeue\" )"` &&
2223-
test -z "$defaultq" &&
2246+
test -n "$defaultq" &&
2247+
test -n "$nosubmitq" &&
2248+
echo $defaultq | jq -e ".job_states.depend == 0" &&
2249+
echo $defaultq | jq -e ".job_states.priority == 0" &&
2250+
echo $defaultq | jq -e ".job_states.sched == 0" &&
2251+
echo $defaultq | jq -e ".job_states.run == 0" &&
2252+
echo $defaultq | jq -e ".job_states.cleanup == 0" &&
2253+
echo $defaultq | jq -e ".job_states.inactive == 0" &&
2254+
echo $defaultq | jq -e ".job_states.total == 0" &&
2255+
echo $defaultq | jq -e ".successful == 0" &&
2256+
echo $defaultq | jq -e ".failed == 0" &&
2257+
echo $defaultq | jq -e ".canceled == 0" &&
2258+
echo $defaultq | jq -e ".timeout == 0" &&
2259+
echo $defaultq | jq -e ".inactive_purged == 0" &&
22242260
echo $updateq | jq -e ".job_states.depend == 0" &&
22252261
echo $updateq | jq -e ".job_states.priority == 0" &&
22262262
echo $updateq | jq -e ".job_states.sched == 0" &&
@@ -2232,7 +2268,19 @@ test_expect_success 'job stats in each queue correct after reload' '
22322268
echo $updateq | jq -e ".failed == 0" &&
22332269
echo $updateq | jq -e ".canceled == 0" &&
22342270
echo $updateq | jq -e ".timeout == 0" &&
2235-
echo $updateq | jq -e ".inactive_purged == 0"
2271+
echo $updateq | jq -e ".inactive_purged == 0" &&
2272+
echo $nosubmitq | jq -e ".job_states.depend == 0" &&
2273+
echo $nosubmitq | jq -e ".job_states.priority == 0" &&
2274+
echo $nosubmitq | jq -e ".job_states.sched == 0" &&
2275+
echo $nosubmitq | jq -e ".job_states.run == 0" &&
2276+
echo $nosubmitq | jq -e ".job_states.cleanup == 0" &&
2277+
echo $nosubmitq | jq -e ".job_states.inactive == 0" &&
2278+
echo $nosubmitq | jq -e ".job_states.total == 0" &&
2279+
echo $nosubmitq | jq -e ".successful == 0" &&
2280+
echo $nosubmitq | jq -e ".failed == 0" &&
2281+
echo $nosubmitq | jq -e ".canceled == 0" &&
2282+
echo $nosubmitq | jq -e ".timeout == 0" &&
2283+
echo $nosubmitq | jq -e ".inactive_purged == 0"
22362284
'
22372285

22382286
test_expect_success 'remove jobtap plugins and remove queue config' '

0 commit comments

Comments
 (0)