debian-forge-cli/test/conftest.py
Michael Vogt c78ea5f2b2 test: add test that checks that --progress works correctly
This commit checks that the `--progress` argument generates the
expected output, i.e. with `term` we will not get any osbuild
output and the spinner. And with `verbose` we will not get a
spinner and the osbuild output.
2025-01-29 15:21:33 +00:00

55 lines
1.5 KiB
Python

import subprocess
import textwrap
import pytest
# XXX: copied from bib
@pytest.fixture(name="build_container", scope="session")
def build_container_fixture():
"""Build a container from the Containerfile and returns the name"""
container_tag = "image-builder-test"
subprocess.check_call([
"podman", "build",
"-f", "Containerfile",
"-t", container_tag,
])
return container_tag
# XXX: copied from bib
@pytest.fixture(name="build_fake_container", scope="session")
def build_fake_container_fixture(tmpdir_factory, build_container):
"""Build a container with a fake osbuild and returns the name"""
tmp_path = tmpdir_factory.mktemp("build-fake-container")
fake_osbuild_path = tmp_path / "fake-osbuild"
fake_osbuild_path.write_text(textwrap.dedent("""\
#!/bin/bash -e
# injest generated manifest from the images library, if we do not
# do this images may fail with "broken" pipe errors
cat - >/dev/null
echo "osbuild-stdout-output"
mkdir -p /output/qcow2
echo "fake-disk.qcow2" > /output/qcow2/disk.qcow2
"""), encoding="utf8")
cntf_path = tmp_path / "Containerfile"
cntf_path.write_text(textwrap.dedent(f"""\n
FROM {build_container}
COPY fake-osbuild /usr/bin/osbuild
RUN chmod 755 /usr/bin/osbuild
"""), encoding="utf8")
container_tag = "bootc-image-builder-test-faked-osbuild"
subprocess.check_call([
"podman", "build",
"-t", container_tag,
tmp_path,
])
return container_tag