tests: Print output in case subprocess returns unexpected code

Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
This commit is contained in:
Povilas Kanapickas
2024-03-08 13:14:02 +02:00
parent b34f699adb
commit f4dc5f3b93
6 changed files with 75 additions and 94 deletions

View File

@ -4,18 +4,10 @@ from pathlib import Path
import subprocess
import unittest
def run_subprocess(command):
proc = subprocess.Popen(
command,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
out, err = proc.communicate()
return out, err, proc.returncode
from .test_utils import RunSubprocessMixin
class TestPodmanComposeInclude(unittest.TestCase):
class TestPodmanComposeInclude(unittest.TestCase, RunSubprocessMixin):
def test_podman_compose_include(self):
"""
Test that podman-compose can execute podman-compose -f <file> up with include
@ -55,22 +47,17 @@ class TestPodmanComposeInclude(unittest.TestCase):
command_down = ["podman", "rm", "--force", "CONTAINER_ID"]
out, _, returncode = run_subprocess(command_up)
self.assertEqual(returncode, 0)
out, _, returncode = run_subprocess(command_check_container)
self.assertEqual(returncode, 0)
self.run_subprocess_assert_returncode(command_up)
out, _ = self.run_subprocess_assert_returncode(command_check_container)
self.assertEqual(out, b'"docker.io/library/busybox:latest"\n')
# Get container ID to remove it
out, _, returncode = run_subprocess(command_container_id)
self.assertEqual(returncode, 0)
out, _ = self.run_subprocess_assert_returncode(command_container_id)
self.assertNotEqual(out, b"")
container_id = out.decode().strip().replace('"', "")
command_down[3] = container_id
out, _, returncode = run_subprocess(command_down)
out, _ = self.run_subprocess_assert_returncode(command_down)
# cleanup test image(tags)
self.assertEqual(returncode, 0)
self.assertNotEqual(out, b"")
# check container did not exists anymore
out, _, returncode = run_subprocess(command_check_container)
self.assertEqual(returncode, 0)
out, _ = self.run_subprocess_assert_returncode(command_check_container)
self.assertEqual(out, b"")