From cafb76b635e4ef6dc279f65f47f64b3967172641 Mon Sep 17 00:00:00 2001 From: Chris Evich Date: Wed, 6 Apr 2022 17:03:46 -0400 Subject: Increase verbosity and sequencing of APIv2 testing The default verbosity level does not show the classes or function names. This makes it difficult to debug problems like hangs. Also, separate the bats and python-based tests into two sections. This allows for easier debugging, since isolation can be done in `runner.sh` rather than mucking with the `Makefile`. Lastly, update the logformatter script to `autoflush stdout` (thanks @edsantiago). Signed-off-by: Chris Evich --- Makefile | 18 ++++++++++++------ contrib/cirrus/logformatter | 3 +++ contrib/cirrus/runner.sh | 7 +++++-- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 502323906..982d7b1e5 100644 --- a/Makefile +++ b/Makefile @@ -616,18 +616,24 @@ remotesystem: fi;\ exit $$rc -.PHONY: localapiv2 -localapiv2: - # Order is important running python tests first causes the bash tests to fail, see 12-imagesMore - # FIXME order of tests should not matter +.PHONY: localapiv2-bash +localapiv2-bash: env PODMAN=./bin/podman stdbuf -o0 -e0 ./test/apiv2/test-apiv2 + +.PHONY: localapiv2-python +localapiv2-python: env CONTAINERS_CONF=$(CURDIR)/test/apiv2/containers.conf PODMAN=./bin/podman \ - pytest --disable-warnings ./test/apiv2/python + pytest --verbose --disable-warnings ./test/apiv2/python touch test/__init__.py env CONTAINERS_CONF=$(CURDIR)/test/apiv2/containers.conf PODMAN=./bin/podman \ - pytest --disable-warnings ./test/python/docker + pytest --verbose --disable-warnings ./test/python/docker rm -f test/__init__.py +# Order is important running python tests first causes the bash tests +# to fail, see 12-imagesMore. FIXME order of tests should not matter +.PHONY: localapiv2 +localapiv2: localapiv2-bash localapiv2-python + .PHONY: remoteapiv2 remoteapiv2: true diff --git a/contrib/cirrus/logformatter b/contrib/cirrus/logformatter index 3c52e612b..05f05dc0b 100755 --- a/contrib/cirrus/logformatter +++ b/contrib/cirrus/logformatter @@ -20,6 +20,9 @@ use warnings; our $VERSION = '0.1'; +# Autoflush stdout +$| = 1; + # For debugging, show data structures using DumpTree($var) #use Data::TreeDumper; $Data::TreeDumper::Displayaddress = 0; diff --git a/contrib/cirrus/runner.sh b/contrib/cirrus/runner.sh index 8f956d7f5..aee9bcfbb 100755 --- a/contrib/cirrus/runner.sh +++ b/contrib/cirrus/runner.sh @@ -59,8 +59,11 @@ function _run_unit() { function _run_apiv2() { _bail_if_test_can_be_skipped test/apiv2 - source .venv/requests/bin/activate - make localapiv2 |& logformatter + ( + make localapiv2-bash + source .venv/requests/bin/activate + make localapiv2-python + ) |& logformatter } function _run_compose() { -- cgit v1.2.3-54-g00ecf From ad249222d254fec0be84b474906651936b89578b Mon Sep 17 00:00:00 2001 From: Chris Evich Date: Wed, 20 Apr 2022 13:04:44 -0400 Subject: Fix hang in test_connect Starting the podman service in debug-mode causes aardvark to run in debug mode. This does unexpected things with file-descriptors leading to a test-hang. Thanks to @Luap99 for the fix. Signed-off-by: Chris Evich --- test/apiv2/python/rest_api/fixtures/podman.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test/apiv2/python/rest_api/fixtures/podman.py b/test/apiv2/python/rest_api/fixtures/podman.py index c700571b9..f2db6f498 100644 --- a/test/apiv2/python/rest_api/fixtures/podman.py +++ b/test/apiv2/python/rest_api/fixtures/podman.py @@ -20,10 +20,6 @@ class Podman: cgroupfs = os.getenv("CGROUP_MANAGER", "systemd") self.cmd.append(f"--cgroup-manager={cgroupfs}") - if os.getenv("DEBUG"): - self.cmd.append("--log-level=debug") - self.cmd.append("--syslog=true") - self.anchor_directory = tempfile.mkdtemp(prefix="podman_restapi_") self.cmd.append("--root=" + os.path.join(self.anchor_directory, "crio")) self.cmd.append("--runroot=" + os.path.join(self.anchor_directory, "crio-run")) -- cgit v1.2.3-54-g00ecf