diff --git a/.cirrus.yml b/.cirrus.yml index dbec29c12e..f785857371 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -33,7 +33,7 @@ env: DEBIAN_NAME: "debian-13" # Image identifiers - IMAGE_SUFFIX: "c20241015t085508z-f40f39d13" + IMAGE_SUFFIX: "c20241016t144444z-f40f39d13" # EC2 images FEDORA_AMI: "fedora-aws-${IMAGE_SUFFIX}" diff --git a/test/apiv2/10-images.at b/test/apiv2/10-images.at index 375a9f984e..eb434ba4fc 100644 --- a/test/apiv2/10-images.at +++ b/test/apiv2/10-images.at @@ -85,19 +85,45 @@ t GET libpod/images/nonesuch/history 404 for i in $iid ${iid:0:12} $PODMAN_TEST_IMAGE_NAME:$PODMAN_TEST_IMAGE_TAG; do t GET libpod/images/$i/history 200 \ .[0].Id=$iid \ + .[1].Id="" \ + .[2].Id="" \ + .[3].Id="" \ .[0].Created~[0-9]\\{10\\} \ .[0].Tags[0]="$IMAGE" \ .[0].Size=1024 \ - .[0].Comment="FROM localhost/interim-image:latest" + .[1].Size=0 \ + .[2].Size=0 \ + .[3].Size=0 \ + .[0].Comment="" \ + .[1].Comment="" \ + .[2].Comment="" \ + .[3].Comment="FROM localhost/interim-image:latest" \ + .[0].CreatedBy~".*/echo.*This container is intended for podman CI testing.*" \ + .[1].CreatedBy~".* WORKDIR /home/podman" \ + .[2].CreatedBy~".* LABEL created_at=.*" \ + .[3].CreatedBy~".* LABEL created_by=test/system/build-testimage" done for i in $iid ${iid:0:12} $PODMAN_TEST_IMAGE_NAME:$PODMAN_TEST_IMAGE_TAG; do t GET images/$i/history 200 \ - .[0].Id="sha256:"$iid \ + .[0].Id="sha256:$iid" \ + .[1].Id="sha256:" \ + .[2].Id="sha256:" \ + .[3].Id="sha256:" \ .[0].Created~[0-9]\\{10\\} \ .[0].Tags[0]="$IMAGE" \ .[0].Size=1024 \ - .[0].Comment="FROM localhost/interim-image:latest" + .[1].Size=0 \ + .[2].Size=0 \ + .[3].Size=0 \ + .[0].Comment="" \ + .[1].Comment="" \ + .[2].Comment="" \ + .[3].Comment="FROM localhost/interim-image:latest" \ + .[0].CreatedBy~".*/echo.*This container is intended for podman CI testing.*" \ + .[1].CreatedBy~".* WORKDIR /home/podman" \ + .[2].CreatedBy~".* LABEL created_at=.*" \ + .[3].CreatedBy~".* LABEL created_by=test/system/build-testimage" done # compat api pull image unauthorized message error diff --git a/test/apiv2/20-containers.at b/test/apiv2/20-containers.at index 011c8f289b..41039f22d7 100644 --- a/test/apiv2/20-containers.at +++ b/test/apiv2/20-containers.at @@ -213,7 +213,7 @@ iid=$(jq -r '.Id' <<<"$output") t GET libpod/images/$iid/json 200 \ .RepoTags[0]=null \ .Author="" \ - .Comment="" + .Comment~"FROM docker\.io/.*" # Commit a new image w/o tag cparam="repo=newrepo&comment=foo&author=bob&format=docker" diff --git a/test/apiv2/test-apiv2 b/test/apiv2/test-apiv2 index b92ada2bd4..c8df99639c 100755 --- a/test/apiv2/test-apiv2 +++ b/test/apiv2/test-apiv2 @@ -12,7 +12,7 @@ ME=$(basename $0) PODMAN_TEST_IMAGE_REGISTRY=${PODMAN_TEST_IMAGE_REGISTRY:-"quay.io"} PODMAN_TEST_IMAGE_USER=${PODMAN_TEST_IMAGE_USER:-"libpod"} PODMAN_TEST_IMAGE_NAME=${PODMAN_TEST_IMAGE_NAME:-"testimage"} -PODMAN_TEST_IMAGE_TAG=${PODMAN_TEST_IMAGE_TAG:-"20240123"} +PODMAN_TEST_IMAGE_TAG=${PODMAN_TEST_IMAGE_TAG:-"20241011"} PODMAN_TEST_IMAGE_FQN="$PODMAN_TEST_IMAGE_REGISTRY/$PODMAN_TEST_IMAGE_USER/$PODMAN_TEST_IMAGE_NAME:$PODMAN_TEST_IMAGE_TAG" IMAGE=$PODMAN_TEST_IMAGE_FQN diff --git a/test/e2e/config_amd64.go b/test/e2e/config_amd64.go index b00d7bfc5b..49da96b3d0 100644 --- a/test/e2e/config_amd64.go +++ b/test/e2e/config_amd64.go @@ -10,7 +10,7 @@ var ( NGINX_IMAGE = "quay.io/libpod/alpine_nginx:latest" //nolint:revive,stylecheck BB_GLIBC = "docker.io/library/busybox:glibc" //nolint:revive,stylecheck REGISTRY_IMAGE = "quay.io/libpod/registry:2.8.2" //nolint:revive,stylecheck - CITEST_IMAGE = "quay.io/libpod/testimage:20240123" //nolint:revive,stylecheck + CITEST_IMAGE = "quay.io/libpod/testimage:20241011" //nolint:revive,stylecheck SYSTEMD_IMAGE = "quay.io/libpod/systemd-image:20240124" //nolint:revive,stylecheck CIRROS_IMAGE = "quay.io/libpod/cirros:latest" //nolint:revive,stylecheck ) diff --git a/test/e2e/config_arm64.go b/test/e2e/config_arm64.go index 785c772c25..fcfb496b0f 100644 --- a/test/e2e/config_arm64.go +++ b/test/e2e/config_arm64.go @@ -10,7 +10,7 @@ var ( NGINX_IMAGE = "quay.io/lsm5/alpine_nginx-aarch64:latest" //nolint:revive,stylecheck BB_GLIBC = "docker.io/library/busybox:glibc" //nolint:revive,stylecheck REGISTRY_IMAGE = "quay.io/libpod/registry:2.8.2" //nolint:revive,stylecheck - CITEST_IMAGE = "quay.io/libpod/testimage:20240123" //nolint:revive,stylecheck + CITEST_IMAGE = "quay.io/libpod/testimage:20241011" //nolint:revive,stylecheck SYSTEMD_IMAGE = "quay.io/libpod/systemd-image:20240124" //nolint:revive,stylecheck CIRROS_IMAGE = "quay.io/libpod/cirros:latest" //nolint:revive,stylecheck ) diff --git a/test/e2e/config_ppc64le.go b/test/e2e/config_ppc64le.go index 1b7b5e2961..0ed3e5de69 100644 --- a/test/e2e/config_ppc64le.go +++ b/test/e2e/config_ppc64le.go @@ -9,6 +9,6 @@ var ( CACHE_IMAGES = []string{ALPINE, BB, fedoraMinimal, NGINX_IMAGE, REDIS_IMAGE, INFRA_IMAGE, CITEST_IMAGE} NGINX_IMAGE = "quay.io/libpod/alpine_nginx-ppc64le:latest" BB_GLIBC = "docker.io/ppc64le/busybox:glibc" - CITEST_IMAGE = "quay.io/libpod/testimage:20240123" + CITEST_IMAGE = "quay.io/libpod/testimage:20241011" REGISTRY_IMAGE string ) diff --git a/test/system/320-system-df.bats b/test/system/320-system-df.bats index 0d5149765b..af82238ada 100644 --- a/test/system/320-system-df.bats +++ b/test/system/320-system-df.bats @@ -45,9 +45,9 @@ function setup_file() { local results="$output" # FIXME! This needs to be fiddled with every time we bump testimage. - local size=11 + local size=12 if [[ "$(uname -m)" = "aarch64" ]]; then - size=13 + size=14 fi # FIXME: we can't check exact RawSize or Size because every CI system diff --git a/test/system/505-networking-pasta.bats b/test/system/505-networking-pasta.bats index 9a00533788..ad2472a4fc 100644 --- a/test/system/505-networking-pasta.bats +++ b/test/system/505-networking-pasta.bats @@ -174,10 +174,14 @@ function pasta_test_do() { fi # socat options for second
in server ("STDOUT" or "EXEC"), + local recvhelper= if [ "${bytes}" = "1" ]; then recv="STDOUT" else - recv="EXEC:md5sum" + # To ease debugging in case of problems, use a helper that + # gives us byte count, hash, and first/last few bytes + recvhelper=/home/podman/bytecheck + recv="EXEC:$recvhelper" fi # and port forwarding configuration for Podman and pasta. @@ -202,7 +206,8 @@ function pasta_test_do() { # Fill in file for data transfer tests, and expected output strings if [ "${bytes}" != "1" ]; then dd if=/dev/urandom bs=${bytes} count=1 of="${XFER_FILE}" - local expect="$(cat "${XFER_FILE}" | md5sum)" + run_podman run -i --rm $IMAGE $recvhelper < ${XFER_FILE} + local expect="$output" else printf "x" > "${XFER_FILE}" local expect="$(for i in $(seq ${seq}); do printf "x"; done)" diff --git a/test/system/build-testimage b/test/system/build-testimage index 63d5368399..112f56945e 100755 --- a/test/system/build-testimage +++ b/test/system/build-testimage @@ -79,6 +79,31 @@ fi EOF chmod 755 healthcheck +# Another helper; used in pasta tests for comparing bytestream data +cat >bytecheck <<'EOF' +#!/bin/sh +# +# Helper script for comparing bytestream data. Shows data size, +# md5sum, and first/last eight bytes. Because plain md5sum is +# not very helpful in identifying where things went wrong. +# +# Reads stream from stdin, writes summary to stdout +# +tmpfile=`mktemp bytecheck.XXXXXXX` + +cat >$tmpfile + +size=`stat -c %s $tmpfile` +hash=`md5sum <$tmpfile` +odl=`head -c8 $tmpfile | od -An -tx1` +odr=`tail -c8 $tmpfile | od -An -tx1` + +rm -f $tmpfile + +echo size=$size hash=$hash head=$odl tail=$odr +EOF +chmod 755 bytecheck + # alpine because it's small and light and reliable # - check for updates @ https://hub.docker.com/_/alpine # busybox-extras provides httpd needed in 500-networking.bats @@ -94,9 +119,9 @@ chmod 755 healthcheck # cat >Containerfile1 <