From 4dd25fa7e1b63aae272f7501be0c85cd82383f12 Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Fri, 16 Jun 2023 08:04:20 +0200 Subject: [PATCH] support/testing: add python-docker test Python-docker needs a working docker setup to do anything useful, so add it to the existing docker_compose (which tests docker and docker-compose) rather than adding a completely new test. Signed-off-by: Peter Korsgaard Reviewed-by: Christian Stewart Signed-off-by: Peter Korsgaard (cherry picked from commit 0bb63c6f5adc07532da494d1118dd7b6f061fb00) Signed-off-by: Peter Korsgaard --- .../testing/tests/package/sample_python_docker.py | 12 ++++++++++++ support/testing/tests/package/test_docker_compose.py | 10 +++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 support/testing/tests/package/sample_python_docker.py diff --git a/support/testing/tests/package/sample_python_docker.py b/support/testing/tests/package/sample_python_docker.py new file mode 100644 index 0000000000..a69097b412 --- /dev/null +++ b/support/testing/tests/package/sample_python_docker.py @@ -0,0 +1,12 @@ +import docker + +client = docker.from_env() +info = client.info() +images = client.images.list() + +assert len(images) > 0 + +print('Version:', info['ServerVersion']) +print('Images:') +for i in images: + print(i.tags[0]) diff --git a/support/testing/tests/package/test_docker_compose.py b/support/testing/tests/package/test_docker_compose.py index 38b669fc6d..16027c9c3a 100644 --- a/support/testing/tests/package/test_docker_compose.py +++ b/support/testing/tests/package/test_docker_compose.py @@ -4,6 +4,8 @@ import infra.basetest class TestDockerCompose(infra.basetest.BRTest): + scripts = ["conf/docker-compose.yml", + "tests/package/sample_python_docker.py"] config = \ """ BR2_x86_64=y @@ -18,6 +20,8 @@ class TestDockerCompose(infra.basetest.BRTest): BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.262" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="{}" + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_DOCKER=y BR2_PACKAGE_CA_CERTIFICATES=y BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_COMPOSE=y @@ -27,7 +31,7 @@ class TestDockerCompose(infra.basetest.BRTest): # BR2_TARGET_ROOTFS_TAR is not set """.format( infra.filepath("tests/package/copy-sample-script-to-target.sh"), - infra.filepath("conf/docker-compose.yml"), + " ".join([infra.filepath(i) for i in scripts]), infra.filepath("conf/docker-compose-kernel.config")) def wait_for_dockerd(self): @@ -46,6 +50,9 @@ class TestDockerCompose(infra.basetest.BRTest): self.assertRunOk('wget -q -O /tmp/busybox http://127.0.0.1/busybox', 120) self.assertRunOk('cmp /bin/busybox /tmp/busybox', 120) + def python_docker_test(self): + self.assertRunOk('python3 ./sample_python_docker.py', 120) + def test_run(self): kernel = os.path.join(self.builddir, "images", "bzImage") rootfs = os.path.join(self.builddir, "images", "rootfs.ext2") @@ -62,3 +69,4 @@ class TestDockerCompose(infra.basetest.BRTest): self.wait_for_dockerd() self.docker_test() self.docker_compose_test() + self.python_docker_test()