user-cont / conu

conu - python API for your containers
http://conu.readthedocs.io/en/latest/
MIT License
165 stars 33 forks source link

run podman tests in a container #330

Closed TomasTomecek closed 5 years ago

TomasTomecek commented 5 years ago

This should fix the CI

Fixes #328

$ make test-in-container TEST_TARGET='-k podman'
docker run \
        --rm -ti \
        --net=host \
        --privileged \
        -e STORAGE_DRIVER=vfs \
        -e CGROUP_MANAGER=cgroupfs \
        --security-opt label=disable \
        -v /dev:/dev:ro \
        -v /var/lib/docker:/var/lib/docker:ro \
        -v /var/run/docker.sock:/var/run/docker.sock \
        -v /home/tt/g/user-cont/conu:/src \
        -v /home/tt/g/user-cont/conu/pytest-container.ini:/src/pytest.ini \
        -v /tmp/tmp.conu-kube-Z9xN3:/root/.kube \
        conu-tests make exec-test TEST_TARGET='-k podman'
cat pytest.ini
[pytest]
addopts = -vv -m "not selinux and not release_copr and not release_pypi and not nspawn"

PYTHONPATH=/src pytest-2 -k podman --verbose --showlocals
================================ test session starts =================================
platform linux2 -- Python 2.7.15, pytest-3.6.4, py-1.5.4, pluggy-0.6.0 -- /usr/bin/python2
cachedir: .pytest_cache
rootdir: /src, inifile: pytest.ini
collected 155 items / 133 deselected

tests/integration/test_podman.py::test_podman_cli PASSED                       [  4%]
tests/integration/test_podman.py::test_podman_version PASSED                   [  9%]
tests/integration/test_podman.py::test_podman_image PASSED                     [ 13%]
tests/integration/test_podman.py::test_image_wrong_types PASSED                [ 18%]
tests/integration/test_podman.py::test_container PASSED                        [ 22%]
tests/integration/test_podman.py::test_container_create_failed PASSED          [ 27%]
tests/integration/test_podman.py::test_interactive_container PASSED            [ 31%]
tests/integration/test_podman.py::test_container_logs PASSED                   [ 36%]
tests/integration/test_podman.py::test_http_client PASSED                      [ 40%]
tests/integration/test_podman.py::test_http_client_context PASSED              [ 45%]
tests/integration/test_podman.py::test_wait_for_status PASSED                  [ 50%]
tests/integration/test_podman.py::test_exit_code PASSED                        [ 54%]
tests/integration/test_podman.py::test_execute PASSED                          [ 59%]
tests/integration/test_podman.py::test_pull_always PASSED                      [ 63%]
tests/integration/test_podman.py::test_pull_if_not_present PASSED              [ 68%]
tests/integration/test_podman.py::test_pull_never PASSED                       [ 72%]
tests/integration/test_podman.py::test_set_name PASSED                         [ 77%]
tests/integration/test_podman.py::test_run_with_volumes_metadata_check PASSED  [ 81%]
tests/integration/test_podman.py::test_list_containers PASSED                  [ 86%]
tests/integration/test_podman.py::test_list_images PASSED                      [ 90%]
tests/integration/test_podman.py::test_layers PASSED                           [ 95%]
tests/integration/test_podman.py::test_container_metadata PASSED               [100%]

==================== 22 passed, 133 deselected in 185.71 seconds =====================
PYTHONPATH=/src pytest-3 -k podman --verbose --showlocals
================================ test session starts =================================
platform linux -- Python 3.7.1, pytest-3.6.4, py-1.5.4, pluggy-0.6.0 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /src, inifile: pytest.ini
collected 155 items / 133 deselected

tests/integration/test_podman.py::test_podman_cli PASSED                       [  4%]
tests/integration/test_podman.py::test_podman_version PASSED                   [  9%]
tests/integration/test_podman.py::test_podman_image PASSED                     [ 13%]
tests/integration/test_podman.py::test_image_wrong_types PASSED                [ 18%]
tests/integration/test_podman.py::test_container PASSED                        [ 22%]
tests/integration/test_podman.py::test_container_create_failed PASSED          [ 27%]
tests/integration/test_podman.py::test_interactive_container PASSED            [ 31%]
tests/integration/test_podman.py::test_container_logs PASSED                   [ 36%]
tests/integration/test_podman.py::test_http_client PASSED                      [ 40%]
tests/integration/test_podman.py::test_http_client_context PASSED              [ 45%]
tests/integration/test_podman.py::test_wait_for_status PASSED                  [ 50%]
tests/integration/test_podman.py::test_exit_code PASSED                        [ 54%]
tests/integration/test_podman.py::test_execute PASSED                          [ 59%]
tests/integration/test_podman.py::test_pull_always PASSED                      [ 63%]
tests/integration/test_podman.py::test_pull_if_not_present PASSED              [ 68%]
tests/integration/test_podman.py::test_pull_never PASSED                       [ 72%]
tests/integration/test_podman.py::test_set_name PASSED                         [ 77%]
tests/integration/test_podman.py::test_run_with_volumes_metadata_check PASSED  [ 81%]
tests/integration/test_podman.py::test_list_containers PASSED                  [ 86%]
tests/integration/test_podman.py::test_list_images PASSED                      [ 90%]
tests/integration/test_podman.py::test_layers PASSED                           [ 95%]
tests/integration/test_podman.py::test_container_metadata PASSED               [100%]

===================== 22 passed, 133 deselected in 93.22 seconds =====================
TomasTomecek commented 5 years ago

The only failing test is https://github.com/user-cont/conu/issues/331, all podman tests are passing, so we're good to merge.