Skip to content

Commit 2230264

Browse files
committed
testsuite: decrease reliance on log messages
Problem: the t1006-qmanager-multiqueue.t test relies on alloc/free log messages to probe internal queue configuration. Simplify tests to assume that a job submitted to a queue that successfully ran must have used the correct qmanager queue. Add some extra probing of qmanager's queue enumerations and policy to ensure the queues are still being used as expected.
1 parent e6d239a commit 2230264

File tree

1 file changed

+37
-65
lines changed

1 file changed

+37
-65
lines changed

t/t1006-qmanager-multiqueue.t

Lines changed: 37 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,6 @@ mkdir -p config
99
export FLUX_SCHED_MODULE=none
1010
test_under_flux 1 full -o,--config-path=$(pwd)/config
1111

12-
get_queue() {
13-
queue=$1 &&
14-
jobid=$(flux job id $2) &&
15-
flux dmesg | grep ${queue} | grep ${jobid} | awk '{print $5}' \
16-
| awk -F= '{print $2}'
17-
}
18-
1912
test_expect_success 'qmanager: load resource' '
2013
load_resource prune-filters=ALL:core subsystems=containment policy=low
2114
'
@@ -34,44 +27,30 @@ test_expect_success 'qmanager: loading qmanager with multiple queues' '
3427
load_qmanager
3528
'
3629

30+
get_policy() {
31+
jq -e -r .params.$1.\"queue-policy\"
32+
}
33+
34+
test_expect_success 'qmanager: all,batch,debug are fcfs queues' '
35+
test $(flux qmanager-params | get_policy all) = "fcfs" &&
36+
test $(flux qmanager-params | get_policy batch) = "fcfs" &&
37+
test $(flux qmanager-params | get_policy debug) = "fcfs"
38+
'
39+
3740
test_expect_success 'qmanager: job can be submitted to queue=all' '
38-
jobid=$(flux submit -n 1 --queue=all hostname) &&
39-
flux job wait-event -t 10 ${jobid} finish &&
40-
queue=$(get_queue alloc ${jobid}) &&
41-
test ${queue} = all &&
42-
queue=$(get_queue free ${jobid}) &&
43-
test ${queue} = all &&
44-
flux dmesg -C
41+
flux run -n1 --queue=all true
4542
'
4643

4744
test_expect_success 'qmanager: job can be submitted to queue=batch' '
48-
jobid=$(flux submit -n 1 --queue=batch hostname) &&
49-
flux job wait-event -t 10 ${jobid} finish &&
50-
queue=$(get_queue alloc ${jobid}) &&
51-
test ${queue} = batch &&
52-
queue=$(get_queue free ${jobid}) &&
53-
test ${queue} = batch &&
54-
flux dmesg -C
45+
flux run -n1 --queue=batch true
5546
'
5647

5748
test_expect_success 'qmanager: job can be submitted to queue=debug' '
58-
jobid=$(flux submit -n 1 --queue=debug hostname) &&
59-
flux job wait-event -t 10 ${jobid} finish &&
60-
queue=$(get_queue alloc ${jobid}) &&
61-
test ${queue} = debug &&
62-
queue=$(get_queue free ${jobid}) &&
63-
test ${queue} = debug &&
64-
flux dmesg -C
49+
flux run -n1 --queue=debug true
6550
'
6651

67-
test_expect_success 'qmanager: job enqueued into implicitly default queue' '
68-
jobid=$(flux submit -n 1 hostname) &&
69-
flux job wait-event -t 10 ${jobid} finish &&
70-
queue=$(get_queue alloc ${jobid}) &&
71-
test ${queue} = all &&
72-
queue=$(get_queue free ${jobid}) &&
73-
test ${queue} = all &&
74-
flux dmesg -C
52+
test_expect_success 'qmanager: job enqueued into default queue' '
53+
flux run -n1 true
7554
'
7655

7756
test_expect_success 'reconfigure qmanager with queues with different policies' '
@@ -91,44 +70,26 @@ test_expect_success 'reconfigure qmanager with queues with different policies' '
9170
reload_qmanager
9271
'
9372

73+
test_expect_success 'qmanager: queues have expected policies' '
74+
test $(flux qmanager-params | get_policy queue1) = "easy" &&
75+
test $(flux qmanager-params | get_policy queue2) = "hybrid" &&
76+
test $(flux qmanager-params | get_policy queue3) = "fcfs"
77+
'
78+
9479
test_expect_success 'qmanager: job can be submitted to queue=queue3 (fcfs)' '
95-
jobid=$(flux submit -n 1 --queue=queue3 hostname) &&
96-
flux job wait-event -t 10 ${jobid} finish &&
97-
queue=$(get_queue alloc ${jobid}) &&
98-
test ${queue} = queue3 &&
99-
queue=$(get_queue free ${jobid}) &&
100-
test ${queue} = queue3 &&
101-
flux dmesg -C
80+
flux run -n1 --queue=queue3 true
10281
'
10382

10483
test_expect_success 'qmanager: job can be submitted to queue=queue2 (hybrid)' '
105-
jobid=$(flux submit -n 1 --queue=queue2 hostname) &&
106-
flux job wait-event -t 10 ${jobid} finish &&
107-
queue=$(get_queue alloc ${jobid}) &&
108-
test ${queue} = queue2 &&
109-
queue=$(get_queue free ${jobid}) &&
110-
test ${queue} = queue2 &&
111-
flux dmesg -C
84+
flux run -n1 --queue=queue2 true
11285
'
11386

11487
test_expect_success 'qmanager: job submitted to queue=queue1 (conservative)' '
115-
jobid=$(flux submit -n 1 --queue=queue1 hostname) &&
116-
flux job wait-event -t 10 ${jobid} finish &&
117-
queue=$(get_queue alloc ${jobid}) &&
118-
test ${queue} = queue1 &&
119-
queue=$(get_queue free ${jobid}) &&
120-
test ${queue} = queue1 &&
121-
flux dmesg -C
88+
flux run -n1 --queue=queue1 true
12289
'
12390

124-
test_expect_success 'qmanager: job enqueued into explicitly default queue' '
125-
jobid=$(flux submit -n 1 hostname) &&
126-
flux job wait-event -t 10 ${jobid} finish &&
127-
queue=$(get_queue alloc ${jobid}) &&
128-
test ${queue} = queue3 &&
129-
queue=$(get_queue free ${jobid}) &&
130-
test ${queue} = queue3 &&
131-
flux dmesg -C
91+
test_expect_success 'qmanager: job enqueued into default queue' '
92+
flux run -n1 true
13293
'
13394

13495
test_expect_success 'qmanager: job is denied when submitted to unknown queue' '
@@ -138,6 +99,7 @@ test_expect_success 'qmanager: job is denied when submitted to unknown queue' '
13899
'
139100

140101
test_expect_success 'qmanager: incorrect queue policy can be caught' '
102+
flux dmesg -C &&
141103
cat >config/queues.toml <<-EOT &&
142104
[queues.queue1]
143105
[queues.queue2]
@@ -151,6 +113,16 @@ test_expect_success 'qmanager: incorrect queue policy can be caught' '
151113
reload_qmanager &&
152114
flux dmesg | grep "Unknown queuing policy"
153115
'
116+
test_expect_success 'qmanager: whee, what happened' '
117+
flux dmesg &&
118+
flux qmanager-params
119+
'
120+
121+
test_expect_success 'qmanager: fcfs was used instead of unknown policy' '
122+
test $(flux qmanager-params | get_policy queue1) = "easy" &&
123+
test $(flux qmanager-params | get_policy queue2) = "fcfs" &&
124+
test $(flux qmanager-params | get_policy queue3) = "fcfs"
125+
'
154126

155127
test_expect_success 'unload qmanager and deconfigure queues' '
156128
remove_qmanager &&

0 commit comments

Comments
 (0)