#!/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()