From 658cbec826a66d0ff280150a84f6e5e7646ec13d Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Wed, 23 Jul 2025 14:27:19 -0400 Subject: [PATCH] Makefile: test-system-local checks for SKOPEO_BINARY Signed-off-by: Lokesh Mandvekar --- Makefile | 5 +++-- hack/test-system.sh | 44 -------------------------------------------- 2 files changed, 3 insertions(+), 46 deletions(-) delete mode 100755 hack/test-system.sh diff --git a/Makefile b/Makefile index 23d7800e..0752355e 100644 --- a/Makefile +++ b/Makefile @@ -219,9 +219,10 @@ test-system: exit $$rc # Intended for CI, assumed to already be running in quay.io/libpod/skopeo_cidev container. -test-system-local: bin/skopeo +test-system-local: $(if $(SKOPEO_BINARY),,bin/skopeo) hack/warn-destructive-tests.sh - hack/test-system.sh SKOPEO_LDFLAGS="$(SKOPEO_LDFLAGS)" BUILDTAGS="$(BUILDTAGS)" + @echo "Testing with $(or $(SKOPEO_BINARY),$(eval SKOPEO_BINARY := "bin/skopeo")$(SKOPEO_BINARY)) ..." + bats --tap systemtest test-unit: # Just call (make test unit-local) here instead of worrying about environment differences diff --git a/hack/test-system.sh b/hack/test-system.sh deleted file mode 100755 index 0f170b40..00000000 --- a/hack/test-system.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -set -e - -# These tests can run in/outside of a container. However, -# not all storage drivers are supported in a container -# environment. Detect this and setup storage when -# running in a container. -# -# Paradoxically (FIXME: clean this up), SKOPEO_CONTAINER_TESTS is set -# both inside a container and without a container (in a CI VM); it actually means -# "it is safe to destructively modify the system for tests". -# -# On a CI VM, we can just use Podman as it is already configured; the changes below, -# to use VFS, are necessary only inside a container, because overlay-inside-overlay -# does not work. So, make these changes conditional on both -# SKOPEO_CONTAINER_TESTS (for acceptability to do destructive modification) and !CI -# (for necessity to adjust for in-container operation) -if ((SKOPEO_CONTAINER_TESTS)) && [[ "$CI" != true ]]; then - if [[ -r /etc/containers/storage.conf ]]; then - echo "MODIFYING existing storage.conf" - sed -i \ - -e 's/^driver\s*=.*/driver = "vfs"/' \ - -e 's/^mountopt/#mountopt/' \ - /etc/containers/storage.conf - else - echo "CREATING NEW storage.conf" - cat >> /etc/containers/storage.conf << EOF -[storage] -driver = "vfs" -runroot = "/run/containers/storage" -graphroot = "/var/lib/containers/storage" -EOF - fi - # The logic of finding the relevant storage.conf file is convoluted - # and in effect differs between Skopeo and Podman, at least in some versions; - # explicitly point at the file we want to use to hopefully avoid that. - export CONTAINERS_STORAGE_CONF=/etc/containers/storage.conf -fi - -# Build skopeo, install into /usr/bin -make PREFIX=/usr install "$@" - -# Run tests -SKOPEO_BINARY=/usr/bin/skopeo bats --tap systemtest