Skip to content

Commit

Permalink
Merge pull request #15794 from edsantiago/bats_races
Browse files Browse the repository at this point in the history
System tests: fix three races
  • Loading branch information
openshift-merge-robot authored Sep 14, 2022
2 parents 5d11440 + d4a62ff commit 9b6cb7e
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 6 deletions.
2 changes: 1 addition & 1 deletion pkg/domain/infra/tunnel/containers.go
Original file line number Diff line number Diff line change
Expand Up @@ -517,7 +517,7 @@ func (ic *ContainerEngine) ContainerLogs(_ context.Context, nameOrIDs []string,
stdout := opts.StdoutWriter != nil
stderr := opts.StderrWriter != nil
options := new(containers.LogOptions).WithFollow(opts.Follow).WithSince(since).WithUntil(until).WithStderr(stderr)
options.WithStdout(stdout).WithTail(tail)
options.WithStdout(stdout).WithTail(tail).WithTimestamps(opts.Timestamps)

var err error
stdoutCh := make(chan string)
Expand Down
23 changes: 19 additions & 4 deletions test/system/035-logs.bats
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,28 @@ function _log_test_tail() {
run_podman run -d --log-driver=$driver $IMAGE sh -c "echo test1; echo test2"
cid="$output"

run_podman logs --tail 1 $cid
is "$output" "test2" "logs should only show last line"
run_podman wait $cid
run_podman logs --tail 1 --timestamps $cid
log1="$output"
assert "$log1" =~ "^[0-9-]+T[0-9:.]+([\+-][0-9:]+|Z) test2" \
"logs should only show last line"

# Sigh. I hate doing this, but podman-remote --timestamp only has 1-second
# resolution (regular podman has sub-second). For the timestamps-differ
# check below, we need to force a different second.
if is_remote; then
sleep 2
fi

run_podman restart $cid
run_podman wait $cid

run_podman logs -t --tail 1 $cid
log2="$output"
assert "$log2" =~ "^[0-9-]+T[0-9:.]+([\+-][0-9:]+|Z) test2" \
"logs, after restart, shows only last line"

run_podman logs --tail 1 $cid
is "$output" "test2" "logs should only show last line after restart"
assert "$log2" != "$log1" "log timestamps should differ"

run_podman rm $cid
}
Expand Down
2 changes: 2 additions & 0 deletions test/system/045-start.bats
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ load helpers
@test "podman start --filter - start only containers that match the filter" {
run_podman run -d $IMAGE /bin/true
cid="$output"
run_podman wait $cid

run_podman start --filter restart-policy=always $cid
is "$output" "" "CID of restart-policy=always container"

Expand Down
5 changes: 4 additions & 1 deletion test/system/420-cgroups.bats
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ load helpers
esac

run_podman --cgroup-manager=$other run --name myc $IMAGE true
assert "$output" = "" "run true, with cgroup-manager=$other, is silent"

run_podman container inspect --format '{{.HostConfig.CgroupManager}}' myc
is "$output" "$other" "podman preserved .HostConfig.CgroupManager"

Expand All @@ -29,7 +31,8 @@ load helpers

# Restart the container, without --cgroup-manager option (ie use default)
# Prior to #7970, this would fail with an OCI runtime error
run_podman start myc
run_podman start -a myc
assert "$output" = "" "restarted container emits no output"

run_podman rm myc
}
Expand Down

0 comments on commit 9b6cb7e

Please sign in to comment.