Blob Blame History Raw
#!/usr/bin/python3

import logging
import os

import conu

import pytest


IMAGE = os.environ.get("IMAGE_NAME", "registry.fedoraproject.org/fedora")
TAG = os.environ.get("IMAGE_TAG", "latest")


@pytest.fixture(scope="module")
def container(request):
    with conu.DockerBackend(logging_level=logging.DEBUG) as backend:
        im = backend.ImageClass(IMAGE, tag=TAG)
        b = conu.DockerRunBuilder(command=["sleep", "infinity"])
        b.options += [
            "--net", "host",
            "--pid=host",
            "--ipc", "host",
            "-it",
            "--privileged",
            "-v", "/run:/run",
            "-v", "/:/host",
            "-v", "/var/log:/var/log",
        ]
        machine_id_path = "/etc/machine-id"
        if os.path.exists(machine_id_path):
            b.options += [
                "-v", "%s:%s" % (machine_id_path, machine_id_path)
            ]
        localtime_path = "/etc/localtime"
        if os.path.exists(localtime_path):
            b.options += [
                "-v", "%s:%s" % (localtime_path, localtime_path)
            ]
        container = im.run_via_binary(b)
    yield container
    container.stop()
    container.delete()


class TestContainer:
    def test_python3(self, container):
        container.execute(["python3", "-V"])


if __name__ == '__main__':
    pytest.main()