From cafb76b635e4ef6dc279f65f47f64b3967172641 Mon Sep 17 00:00:00 2001
From: Chris Evich <cevich@redhat.com>
Date: Wed, 6 Apr 2022 17:03:46 -0400
Subject: [PATCH] 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 <cevich@redhat.com>
---
 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 5023239069..982d7b1e52 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 3c52e612b5..05f05dc0b4 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 8f956d7f5c..aee9bcfbb2 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() {