From 15f273b9310399ba048f667dba40f553b2fb60cb Mon Sep 17 00:00:00 2001 From: Ed Santiago Date: Mon, 8 Jun 2020 14:57:37 -0600 Subject: WIP: Enable (and disable) remote testing podman-remote has not been tested. A principal part of the problem was #5387 - the YAML I wrote did not have the intended effect, it did not set TEST_REMOTE_CLIENT=true and because of my multiple iterations I did not catch this during testing. Part 1 of this PR is to fix .cirrus.yml to enable remote tests. Part 2 -- what I had first noticed and tried to fix -- is that rootless_test.sh was never running remote because, of course, envariables are not sent via ssh. I reworked integration_test.sh and rootless_test.sh to use a command-line decision instead. Part 3, sigh, is to disable one failing integration test and *all* system tests, because so many of the latter are failing. Addressing those failures needs to be done in subsequent PRs. Issues #6538, #6539, #6540 are filed for some of the problems I isolated. There will be more. Also, minor, fixed some stale references to varlink. Signed-off-by: Ed Santiago --- Makefile | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 67de05f57..2ac6f426f 100644 --- a/Makefile +++ b/Makefile @@ -88,8 +88,8 @@ RELEASE_DIST_VER ?= $(shell hack/get_release_info.sh DIST_VER) RELEASE_ARCH ?= $(shell hack/get_release_info.sh ARCH) RELEASE_BASENAME := $(shell hack/get_release_info.sh BASENAME) -# If non-empty, logs all output from varlink during remote system testing -VARLINK_LOG ?= +# If non-empty, logs all output from server during remote system testing +PODMAN_SERVER_LOG ?= # If GOPATH not specified, use one in the local directory ifeq ($(GOPATH),) @@ -357,22 +357,28 @@ localsystem: remotesystem: # Wipe existing config, database, and cache: start with clean slate. $(RM) -rf ${HOME}/.local/share/containers ${HOME}/.config/containers - # Start varlink server using tmp socket; loop-wait for it; + # Start podman server using tmp socket; loop-wait for it; # test podman-remote; kill server, clean up tmp socket file. - # varlink server spews copious unhelpful output; ignore it. + # podman server spews copious unhelpful output; ignore it. + # FIXME FIXME FIXME: remove 'exit 0' after #6538 and #6539 are fixed + exit 0;\ rc=0;\ if timeout -v 1 true; then \ SOCK_FILE=$(shell mktemp --dry-run --tmpdir podman.XXXXXX);\ - export PODMAN_SOCKEY=unix:$$SOCK_FILE; \ - ./bin/podman system service --timeout=0 $$PODMAN_VARLINK_ADDRESS &> $(if $(VARLINK_LOG),$(VARLINK_LOG),/dev/null) & \ + export PODMAN_SOCKET=unix:$$SOCK_FILE; \ + ./bin/podman system service --timeout=0 $$PODMAN_SOCKET &> $(if $(PODMAN_SERVER_LOG),$(PODMAN_SERVER_LOG),/dev/null) & \ retry=5;\ while [[ $$retry -ge 0 ]]; do\ echo Waiting for server...;\ sleep 1;\ - ./bin/podman-remote --remote $(SOCK_FILE) info &>/dev/null && break;\ + ./bin/podman-remote --url $$PODMAN_SOCKET info &>/dev/null && break;\ retry=$$(expr $$retry - 1);\ done;\ - env PODMAN=./bin/podman-remote bats test/system/ ;\ + if [[ $$retry -lt 0 ]]; then\ + echo "Error: ./bin/podman system service did not come up on $$SOCK_FILE" >&2;\ + exit 1;\ + fi;\ + env PODMAN="./bin/podman-remote --url $$PODMAN_SOCKET" bats test/system/ ;\ rc=$$?;\ kill %1;\ rm -f $$SOCK_FILE;\ -- cgit v1.2.3-54-g00ecf