Skip to content

Commit bb6b2e9

Browse files
Merge pull request #24046 from edsantiago/parallelize-035
CI: parallelize logs test as much as possible
2 parents edcee32 + 4be6bf2 commit bb6b2e9

File tree

1 file changed

+27
-10
lines changed

1 file changed

+27
-10
lines changed

test/system/035-logs.bats

+27-10
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
load helpers
77

8+
# bats test_tags=ci:parallel
89
@test "podman logs - basic test" {
910
rand_string=$(random_string 40)
1011

@@ -62,10 +63,12 @@ function _log_test_tail() {
6263
run_podman rm $cid
6364
}
6465

66+
# CANNOT BE PARALLELIZED - #23750, events-backend=file cannot coexist with journal
6567
@test "podman logs - tail test, k8s-file" {
6668
_log_test_tail k8s-file
6769
}
6870

71+
# bats test_tags=ci:parallel
6972
@test "podman logs - tail test, journald" {
7073
# We can't use journald on RHEL as rootless: rhbz#1895105
7174
skip_if_journald_unavailable
@@ -117,10 +120,12 @@ ${cid[1]} b2" "Sequential output from c2"
117120
run_podman rm -f -t0 ${cid[0]} ${cid[1]}
118121
}
119122

123+
# CANNOT BE PARALLELIZED - #23750, events-backend=file cannot coexist with journal
120124
@test "podman logs - multi k8s-file" {
121125
_log_test_multi k8s-file
122126
}
123127

128+
# bats test_tags=ci:parallel
124129
@test "podman logs - multi journald" {
125130
# We can't use journald on RHEL as rootless: rhbz#1895105
126131
skip_if_journald_unavailable
@@ -146,17 +151,20 @@ function _log_test_restarted() {
146151
run_podman rm -f -t0 $cname
147152
}
148153

154+
# CANNOT BE PARALLELIZED - #23750, events-backend=file cannot coexist with journal
149155
@test "podman logs restarted - k8s-file" {
150156
_log_test_restarted k8s-file
151157
}
152158

159+
# bats test_tags=ci:parallel
153160
@test "podman logs restarted journald" {
154161
# We can't use journald on RHEL as rootless: rhbz#1895105
155162
skip_if_journald_unavailable
156163

157164
_log_test_restarted journald
158165
}
159166

167+
# CANNOT BE PARALLELIZED - #23750, events-backend=file cannot coexist with journal
160168
@test "podman logs - journald log driver requires journald events backend" {
161169
skip_if_remote "remote does not support --events-backend"
162170
# We can't use journald on RHEL as rootless: rhbz#1895105
@@ -203,10 +211,12 @@ $s_after"
203211
run_podman rm -t 1 -f $cname
204212
}
205213

214+
# CANNOT BE PARALLELIZED - #23750, events-backend=file cannot coexist with journal
206215
@test "podman logs - since k8s-file" {
207216
_log_test_since k8s-file
208217
}
209218

219+
# bats test_tags=ci:parallel
210220
@test "podman logs - since journald" {
211221
# We can't use journald on RHEL as rootless: rhbz#1895105
212222
skip_if_journald_unavailable
@@ -256,10 +266,12 @@ $s_after"
256266
run_podman rm -t 0 -f $cname
257267
}
258268

269+
# CANNOT BE PARALLELIZED - #23750, events-backend=file cannot coexist with journal
259270
@test "podman logs - until k8s-file" {
260271
_log_test_until k8s-file
261272
}
262273

274+
# bats test_tags=ci:parallel
263275
@test "podman logs - until journald" {
264276
# We can't use journald on RHEL as rootless: rhbz#1895105
265277
skip_if_journald_unavailable
@@ -289,10 +301,12 @@ $contentC" "logs -f on exited container works"
289301
run_podman ${events_backend} rm -t 0 -f $cname
290302
}
291303

304+
# CANNOT BE PARALLELIZED - #23750, events-backend=file cannot coexist with journal
292305
@test "podman logs - --follow k8s-file" {
293306
_log_test_follow k8s-file
294307
}
295308

309+
# bats test_tags=ci:parallel
296310
@test "podman logs - --follow journald" {
297311
# We can't use journald on RHEL as rootless: rhbz#1895105
298312
skip_if_journald_unavailable
@@ -320,25 +334,26 @@ function _log_test_follow_since() {
320334

321335
# Now do the same with a running container to check #16950.
322336
run_podman ${events_backend} run --log-driver=$driver --name $cname -d $IMAGE \
323-
sh -c "sleep 1; while :; do echo $content && sleep 5; done"
337+
sh -c "sleep 1; while :; do echo $content && sleep 1; done"
324338

325339
# sleep is required to make sure the podman event backend no longer sees the start event in the log
326340
# This value must be greater or equal than the value given in --since below
327341
sleep 0.2
328342

329343
# Make sure podman logs actually follows by giving a low timeout and check that the command times out
330344
PODMAN_TIMEOUT=3 run_podman 124 ${events_backend} logs --since 0.1s -f $cname
331-
assert "$output" =~ "^$content
345+
assert "$output" =~ "$content
332346
timeout: sending signal TERM to command.*" "logs --since -f on running container works"
333347

334348
run_podman ${events_backend} rm -t 0 -f $cname
335349
}
336350

351+
# CANNOT BE PARALLELIZED - #23750, events-backend=file cannot coexist with journal
337352
@test "podman logs - --since --follow k8s-file" {
338353
_log_test_follow_since k8s-file
339354
}
340355

341-
# bats test_tags=distro-integration
356+
# bats test_tags=distro-integration, ci:parallel
342357
@test "podman logs - --since --follow journald" {
343358
# We can't use journald on RHEL as rootless: rhbz#1895105
344359
skip_if_journald_unavailable
@@ -359,16 +374,16 @@ function _log_test_follow_until() {
359374
run_podman ${events_backend} run --log-driver=$driver --name $cname -d $IMAGE \
360375
sh -c "n=1;while :; do echo $content--\$n; n=\$((n+1));sleep 0.1; done"
361376

362-
t0=$SECONDS
377+
t0=$(date +%s%3N)
363378
# The logs command should exit after the until time even when follow is set
364379
PODMAN_TIMEOUT=10 run_podman ${events_backend} logs --until 3s -f $cname
365-
t1=$SECONDS
380+
t1=$(date +%s%3N)
366381
logs_seen="$output"
367382

368-
# The delta should be 3 but because it could be a bit longer on a slow system such as CI we also accept 4.
369-
delta_t=$(( $t1 - $t0 ))
370-
assert $delta_t -gt 2 "podman logs --until: exited too early!"
371-
assert $delta_t -lt 5 "podman logs --until: exited too late!"
383+
# The delta should be 3 but could be longer on a slow CI system
384+
delta_t_ms=$(( $t1 - $t0 ))
385+
assert $delta_t_ms -gt 2000 "podman logs --until: exited too early!"
386+
assert $delta_t_ms -lt 5000 "podman logs --until: exited too late!"
372387

373388
# Impossible to know how many lines we'll see, but require at least two
374389
assert "$logs_seen" =~ "$content--1
@@ -377,11 +392,12 @@ $content--2.*" "logs --until -f on running container works"
377392
run_podman ${events_backend} rm -t 0 -f $cname
378393
}
379394

395+
# CANNOT BE PARALLELIZED - #23750, events-backend=file cannot coexist with journal
380396
@test "podman logs - --until --follow k8s-file" {
381397
_log_test_follow_until k8s-file
382398
}
383399

384-
# bats test_tags=distro-integration
400+
# bats test_tags=distro-integration, ci:parallel
385401
@test "podman logs - --until --follow journald" {
386402
# We can't use journald on RHEL as rootless: rhbz#1895105
387403
skip_if_journald_unavailable
@@ -390,6 +406,7 @@ $content--2.*" "logs --until -f on running container works"
390406
}
391407

392408
# https://github.com/containers/podman/issues/19545
409+
# CANNOT BE PARALLELIZED - #23750, events-backend=file cannot coexist with journal
393410
@test "podman logs --tail, k8s-file with partial lines" {
394411
cname="c-$(safename)"
395412

0 commit comments

Comments
 (0)