From 1bcdc8d766bc848cd063c5cddeb74d7507716a91 Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Tue, 28 Oct 2025 14:16:20 -0300 Subject: [PATCH 01/14] #534: Converted integration API test to pytest - test_test_container_reuse.py --- doc/changes/unreleased.md | 1 + .../test/get_test_container_content.py | 3 + .../test/test_test_container_reuse.py | 3 + test/integration/test_test_container_reuse.py | 196 ++++++++++++++++++ 4 files changed, 203 insertions(+) create mode 100644 test/integration/test_test_container_reuse.py diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index 7dee8b349..f35e2ca83 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -11,6 +11,7 @@ - #534: Converted integration API test to pytest - test_hash_temp_dir.py - #534: Converted integration API test to pytest - test_hash_temp_dir_with_files.py - #534: Converted integration API test to pytest - test_test_env_reuse.py + - #534: Converted integration API test to pytest - test_test_container_reuse.py ## Dependencies - #532: Updated pyexasol and update lock file \ No newline at end of file diff --git a/exasol_integration_test_docker_environment/test/get_test_container_content.py b/exasol_integration_test_docker_environment/test/get_test_container_content.py index 9211f5097..a5bc206d1 100644 --- a/exasol_integration_test_docker_environment/test/get_test_container_content.py +++ b/exasol_integration_test_docker_environment/test/get_test_container_content.py @@ -8,6 +8,9 @@ ) TEST_CONTAINER_ROOT_PATH = Path(__file__).parent / "resources" / "test_container" +TEST_CONTAINER_REUSE_ROOT_PATH = ( + Path(__file__).parent / "resources" / "test_test_container_reuse" +) FULL_TEST_CONTAINER_PATH = TEST_CONTAINER_ROOT_PATH / "full" MOCK_TEST_CONTAINER_PATH = TEST_CONTAINER_ROOT_PATH / "mock" diff --git a/exasol_integration_test_docker_environment/test/test_test_container_reuse.py b/exasol_integration_test_docker_environment/test/test_test_container_reuse.py index f882e4030..66bf91cb8 100644 --- a/exasol_integration_test_docker_environment/test/test_test_container_reuse.py +++ b/exasol_integration_test_docker_environment/test/test_test_container_reuse.py @@ -80,6 +80,9 @@ def run_task(self): class TestContainerReuseTest(unittest.TestCase): + """ + Deprecated. Replaced by "./test/integration/test_test_container_reuse.py" + """ def setUp(self): resource_directory = Path( diff --git a/test/integration/test_test_container_reuse.py b/test/integration/test_test_container_reuse.py new file mode 100644 index 000000000..f9254726d --- /dev/null +++ b/test/integration/test_test_container_reuse.py @@ -0,0 +1,196 @@ +import shutil +from pathlib import Path + +import luigi +import pytest + +from exasol_integration_test_docker_environment.lib.base.docker_base_task import ( + DockerBaseTask, +) +from exasol_integration_test_docker_environment.lib.base.run_task import ( + generate_root_task, +) +from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient +from exasol_integration_test_docker_environment.lib.models.config.build_config import ( + set_build_config, +) +from exasol_integration_test_docker_environment.lib.models.config.docker_config import ( + set_docker_repository_config, +) +from exasol_integration_test_docker_environment.lib.models.data.container_info import ( + ContainerInfo, +) +from exasol_integration_test_docker_environment.lib.models.data.test_container_content_description import ( + TestContainerContentDescription, +) +from exasol_integration_test_docker_environment.lib.test_environment.parameter.test_container_parameter import ( + TestContainerParameter, +) +from exasol_integration_test_docker_environment.lib.test_environment.prepare_network_for_test_environment import ( + PrepareDockerNetworkForTestEnvironment, +) +from exasol_integration_test_docker_environment.lib.test_environment.spawn_test_container import ( + SpawnTestContainer, +) +from exasol_integration_test_docker_environment.test.get_test_container_content import ( + TEST_CONTAINER_REUSE_ROOT_PATH, +) +from exasol_integration_test_docker_environment.testing import luigi_utils + + +class TestTask(DockerBaseTask, TestContainerParameter): + reuse = luigi.BoolParameter() + attempt = luigi.IntParameter() + + def run_task(self): + docker_network_task_1 = self.create_child_task( + task_class=PrepareDockerNetworkForTestEnvironment, + environment_name="test_environment_TestContainerReuseTest", + network_name="docker_network_TestContainerReuseTest", + test_container_name="test_container_TestContainerReuseTest", + db_container_name="db_container_TestContainerReuseTest", + reuse=self.reuse, + no_cleanup_after_success=True, + no_cleanup_after_failure=False, + attempt=self.attempt, + ) + self.docker_network_future_1 = yield from self.run_dependencies( + docker_network_task_1 + ) + + test_container_task_1 = self.create_child_task( + task_class=SpawnTestContainer, + environment_name="test_environment_TestContainerReuseTest", + test_container_name="test_container_TestContainerReuseTest", + network_info=self.docker_network_future_1.get_output(), + ip_address_index_in_subnet=2, + attempt=self.attempt, + reuse_test_container=self.reuse, + no_test_container_cleanup_after_success=True, + no_test_container_cleanup_after_failure=False, + test_container_content=self.test_container_content, + ) + test_container_future_1 = yield from self.run_dependencies( + test_container_task_1 + ) + container_info: ContainerInfo = test_container_future_1.get_output() # type: ignore + with ContextDockerClient() as docker_client: + container = docker_client.containers.get(container_info.container_name) + self.return_object( + {"container_id": container.id, "image_id": container.image.id} + ) + + +def _setup_luigi_config(output_directory: Path, docker_repository_name: str): + set_build_config( + force_rebuild=False, + force_pull=False, + force_rebuild_from=(), + log_build_context_content=False, + output_directory=str(output_directory), + cache_directory="", + build_name="", + temporary_base_directory="/tmp", + ) + set_docker_repository_config( + docker_password=None, + docker_repository_name=docker_repository_name, + docker_username=None, + tag_prefix="", + kind="target", + ) + + +@pytest.fixture +def working_directory(tmp_path_factory): + resource_directory = TEST_CONTAINER_REUSE_ROOT_PATH + + temp_directory = tmp_path_factory.mktemp("container") + output_directory = tmp_path_factory.mktemp("output") + working_directory = shutil.copytree( + resource_directory, temp_directory / "test_test_container_reuse" + ) + docker_repository_name = "test_test_container_reuse" + luigi_utils.clean(docker_repository_name) + _setup_luigi_config( + output_directory=output_directory, docker_repository_name=docker_repository_name + ) + yield working_directory + luigi_utils.clean(docker_repository_name) + + +def _dockerfile(working_directory: Path): + return working_directory / "tests" / "Dockerfile" + + +def _get_test_container_content( + working_directory: Path, +) -> TestContainerContentDescription: + return TestContainerContentDescription( + docker_file=str(_dockerfile(working_directory)), + build_files_and_directories=[], + runtime_mappings=[], + ) + + +def run1(working_directory: Path): + task = generate_root_task( + task_class=TestTask, + reuse=False, + attempt=1, + test_container_content=_get_test_container_content(working_directory), + ) + try: + success = luigi.build([task], workers=1, local_scheduler=True, log_level="INFO") + if success: + result = task.get_result() + task.cleanup(True) + return result + else: + raise Exception("Task failed") + except Exception as e: + task.cleanup(False) + raise RuntimeError("Error spawning test environment") from e + + +def run2(working_directory: Path): + task = generate_root_task( + task_class=TestTask, + reuse=True, + attempt=2, + test_container_content=_get_test_container_content(working_directory), + ) + try: + success = luigi.build([task], workers=1, local_scheduler=True, log_level="INFO") + + if success: + return task.get_result() + else: + raise Exception("Task failed") + except Exception as e: + task.cleanup(False) + raise RuntimeError("Error spawning test environment") from e + + +def test_test_container_no_reuse_after_change(working_directory): + p1 = run1(working_directory) + with _dockerfile(working_directory).open("a") as f: + f.write("\n#Test\n") + p2 = run2(working_directory) + assert "container_id" in p1 + assert "image_id" in p1 + assert "container_id" in p2 + assert "image_id" in p2 + print(p1) + print(p2) + assert p1 != p2 + + +def test_test_container_reuse(working_directory): + p1 = run1(working_directory) + p2 = run2(working_directory) + assert "container_id" in p1 + assert "image_id" in p1 + print(p1) + print(p2) + assert p1 == p2 From 3e97e3559cc3f2f13a079ba6c838c3bc8f79388c Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Tue, 28 Oct 2025 20:48:27 -0300 Subject: [PATCH 02/14] Configure luigi before running first task --- test/integration/test_test_container_reuse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/test_test_container_reuse.py b/test/integration/test_test_container_reuse.py index f9254726d..42c4f3c54 100644 --- a/test/integration/test_test_container_reuse.py +++ b/test/integration/test_test_container_reuse.py @@ -111,10 +111,10 @@ def working_directory(tmp_path_factory): resource_directory, temp_directory / "test_test_container_reuse" ) docker_repository_name = "test_test_container_reuse" - luigi_utils.clean(docker_repository_name) _setup_luigi_config( output_directory=output_directory, docker_repository_name=docker_repository_name ) + luigi_utils.clean(docker_repository_name) yield working_directory luigi_utils.clean(docker_repository_name) From 1e9897ddcd371e79fb06ed5a76f1a81172c35b78 Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:32:24 -0300 Subject: [PATCH 03/14] Cleanup --- test/integration/test_test_container_reuse.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/test/integration/test_test_container_reuse.py b/test/integration/test_test_container_reuse.py index 42c4f3c54..bada25d2c 100644 --- a/test/integration/test_test_container_reuse.py +++ b/test/integration/test_test_container_reuse.py @@ -1,9 +1,12 @@ import shutil from pathlib import Path +from typing import Any import luigi import pytest +from luigi import Task +from exasol_integration_test_docker_environment.lib.base.dependency_logger_base_task import DependencyLoggerBaseTask from exasol_integration_test_docker_environment.lib.base.docker_base_task import ( DockerBaseTask, ) @@ -133,7 +136,7 @@ def _get_test_container_content( ) -def run1(working_directory: Path): +def run1(working_directory: Path) -> dict[str, Any]: task = generate_root_task( task_class=TestTask, reuse=False, @@ -153,7 +156,7 @@ def run1(working_directory: Path): raise RuntimeError("Error spawning test environment") from e -def run2(working_directory: Path): +def run2(working_directory: Path) -> tuple[DependencyLoggerBaseTask, dict[str, Any]]: task = generate_root_task( task_class=TestTask, reuse=True, @@ -162,9 +165,8 @@ def run2(working_directory: Path): ) try: success = luigi.build([task], workers=1, local_scheduler=True, log_level="INFO") - if success: - return task.get_result() + return task, task.get_result() else: raise Exception("Task failed") except Exception as e: @@ -176,7 +178,7 @@ def test_test_container_no_reuse_after_change(working_directory): p1 = run1(working_directory) with _dockerfile(working_directory).open("a") as f: f.write("\n#Test\n") - p2 = run2(working_directory) + task, p2 = run2(working_directory) assert "container_id" in p1 assert "image_id" in p1 assert "container_id" in p2 @@ -184,13 +186,15 @@ def test_test_container_no_reuse_after_change(working_directory): print(p1) print(p2) assert p1 != p2 + task.cleanup(False) #Cleanup docker container/image. def test_test_container_reuse(working_directory): p1 = run1(working_directory) - p2 = run2(working_directory) + task, p2 = run2(working_directory) assert "container_id" in p1 assert "image_id" in p1 print(p1) print(p2) assert p1 == p2 + task.cleanup(False) From f1fa17cc8c64eef15b5e1803930d018f173750f4 Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:35:56 -0300 Subject: [PATCH 04/14] Fixed formatting --- test/integration/test_test_container_reuse.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/test/integration/test_test_container_reuse.py b/test/integration/test_test_container_reuse.py index bada25d2c..e1f47b6b2 100644 --- a/test/integration/test_test_container_reuse.py +++ b/test/integration/test_test_container_reuse.py @@ -4,9 +4,10 @@ import luigi import pytest -from luigi import Task -from exasol_integration_test_docker_environment.lib.base.dependency_logger_base_task import DependencyLoggerBaseTask +from exasol_integration_test_docker_environment.lib.base.dependency_logger_base_task import ( + DependencyLoggerBaseTask, +) from exasol_integration_test_docker_environment.lib.base.docker_base_task import ( DockerBaseTask, ) @@ -186,7 +187,7 @@ def test_test_container_no_reuse_after_change(working_directory): print(p1) print(p2) assert p1 != p2 - task.cleanup(False) #Cleanup docker container/image. + task.cleanup(False) # Cleanup docker container/image. def test_test_container_reuse(working_directory): From 9bb0377a4231fcb0f15247c9a64c904faaa2a702 Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Mon, 3 Nov 2025 15:36:43 -0300 Subject: [PATCH 05/14] Run nvidia-smi --- .github/workflows/test-db-versions-gpu.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test-db-versions-gpu.yml b/.github/workflows/test-db-versions-gpu.yml index 7c4c77ab9..706b80466 100644 --- a/.github/workflows/test-db-versions-gpu.yml +++ b/.github/workflows/test-db-versions-gpu.yml @@ -28,6 +28,8 @@ jobs: uses: exasol/python-toolbox/.github/actions/python-environment@1.7.4 with: python-version: "3.10" + - name: Log GPU environment + run: nvidia-smi - name: Run GPU Tests run: poetry run -- nox -s run-all-tests -- --db-version='${{ matrix.exasol_version }}' --test-set=gpu-only \ No newline at end of file From 65dd5a1c2f4db7dd9b369f4a8d81df34ef977da1 Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Mon, 3 Nov 2025 16:30:05 -0300 Subject: [PATCH 06/14] Run nvidia-ctk --- .github/workflows/test-db-versions-gpu.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-db-versions-gpu.yml b/.github/workflows/test-db-versions-gpu.yml index 706b80466..336117352 100644 --- a/.github/workflows/test-db-versions-gpu.yml +++ b/.github/workflows/test-db-versions-gpu.yml @@ -29,7 +29,12 @@ jobs: with: python-version: "3.10" - name: Log GPU environment - run: nvidia-smi + run: | + echo Running nvidia-smi + nvidia-smi + echo Running nvidia-ctk --version + nvidia-ctk --version + - name: Run GPU Tests run: poetry run -- nox -s run-all-tests -- --db-version='${{ matrix.exasol_version }}' --test-set=gpu-only \ No newline at end of file From abe6923efb35ddcf1d1ef057eb5f8df2cb232bff Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Mon, 3 Nov 2025 16:46:07 -0300 Subject: [PATCH 07/14] Debug GPU Tests --- test/integration/test_gpu.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/integration/test_gpu.py b/test/integration/test_gpu.py index 95528a472..f340ce8cc 100644 --- a/test/integration/test_gpu.py +++ b/test/integration/test_gpu.py @@ -4,6 +4,8 @@ import pyexasol import pytest +from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient + @pytest.mark.gpu def test_gpu(cli_context): @@ -25,6 +27,15 @@ def test_gpu(cli_context): ] with cli_context(name="test_gpu", additional_parameters=additional_param) as db: host_name = db.on_host_docker_environment.database_host + with ContextDockerClient() as docker_client: + db_container = docker_client.containers.get( + db.on_host_docker_environment.environment_info.database_info.container_info.container_name + ) + print("--------------------Printing docker logs----------------------------") + for line in db_container.logs(stream=True, stdout=True, stderr=True): + print(line.decode()) + print("--------------------Finished printing docker logs----------------------------") + port = db.on_host_docker_environment.ports.database dsn = f"{host_name}:{port}" connection = pyexasol.connect( From 4814408a6f0e95dc654ab42d4cdebad1d112a2d0 Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Mon, 3 Nov 2025 16:55:01 -0300 Subject: [PATCH 08/14] Debug GPU Tests --- noxfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/noxfile.py b/noxfile.py index 9bd27eba4..3827c7986 100644 --- a/noxfile.py +++ b/noxfile.py @@ -150,7 +150,7 @@ def run_minimal_tests(session: nox.Session): db_version, test_set = parse_test_arguments(session) env = {"EXASOL_VERSION": db_version} if test_set == TestSet.GPU_ONLY: - session.run("pytest", "-m", "gpu", "./test/integration", env=env) + session.run("pytest", "-m", "gpu", "-s", "./test/integration", env=env) else: minimal_tests = { "old-itest": [ From eb6daee44a3227dec6490902b5bf22ca2c240dc6 Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Mon, 3 Nov 2025 16:57:48 -0300 Subject: [PATCH 09/14] Debug GPU Tests --- noxfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/noxfile.py b/noxfile.py index 3827c7986..f684df5e5 100644 --- a/noxfile.py +++ b/noxfile.py @@ -120,7 +120,7 @@ def run_all_tests(session: nox.Session): db_version, test_set = parse_test_arguments(session) env = {"EXASOL_VERSION": db_version} if test_set == TestSet.GPU_ONLY: - session.run("pytest", "-m", "gpu", "./test/integration", env=env) + session.run("pytest", "-m", "gpu", "-s", "./test/integration", env=env) else: session.run("pytest", "./test/unit") session.run("pytest", "-m", "not gpu", "./test/integration", env=env) From c06409c77a1dc0a32d29cd7b2058ee03a7339dc3 Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Mon, 3 Nov 2025 16:58:50 -0300 Subject: [PATCH 10/14] Debug GPU Tests --- test/integration/test_gpu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/test_gpu.py b/test/integration/test_gpu.py index f340ce8cc..6342df8c2 100644 --- a/test/integration/test_gpu.py +++ b/test/integration/test_gpu.py @@ -32,7 +32,7 @@ def test_gpu(cli_context): db.on_host_docker_environment.environment_info.database_info.container_info.container_name ) print("--------------------Printing docker logs----------------------------") - for line in db_container.logs(stream=True, stdout=True, stderr=True): + for line in db_container.logs(stdout=True, stderr=True): print(line.decode()) print("--------------------Finished printing docker logs----------------------------") From 8d405817323d97b3a0608f050ea9441f5a1cfa64 Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Mon, 3 Nov 2025 17:06:25 -0300 Subject: [PATCH 11/14] Debug GPU Tests --- test/integration/test_gpu.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/integration/test_gpu.py b/test/integration/test_gpu.py index 6342df8c2..eccb8755b 100644 --- a/test/integration/test_gpu.py +++ b/test/integration/test_gpu.py @@ -32,8 +32,8 @@ def test_gpu(cli_context): db.on_host_docker_environment.environment_info.database_info.container_info.container_name ) print("--------------------Printing docker logs----------------------------") - for line in db_container.logs(stdout=True, stderr=True): - print(line.decode()) + logs = db_container.logs(stdout=True, stderr=True) + print(logs.decode()) print("--------------------Finished printing docker logs----------------------------") port = db.on_host_docker_environment.ports.database From 065f1a40955e3530c83bf5e6669cbeea00dd55fd Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Tue, 4 Nov 2025 06:05:07 -0300 Subject: [PATCH 12/14] Debug GPU Tests --- test/integration/test_gpu.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/test_gpu.py b/test/integration/test_gpu.py index eccb8755b..ff15efd49 100644 --- a/test/integration/test_gpu.py +++ b/test/integration/test_gpu.py @@ -21,7 +21,7 @@ def test_gpu(cli_context): "--docker-runtime", "nvidia", "--docker-environment-variable", - "NVIDIA_VISIBLE_DEVICES=all", + "NVIDIA_VISIBLE_DEVICES=1", "--additional-db-parameter", "-enableAcceleratorDeviceDetection=1", ] From b702303bd36645ff69098625874fa1cf8cf45719 Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Tue, 4 Nov 2025 11:29:23 -0300 Subject: [PATCH 13/14] Reverted test_gpu.py --- test/integration/test_gpu.py | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/test/integration/test_gpu.py b/test/integration/test_gpu.py index 4175cca02..807517dd5 100644 --- a/test/integration/test_gpu.py +++ b/test/integration/test_gpu.py @@ -2,8 +2,6 @@ import pytest -from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient - @pytest.mark.gpu def test_gpu(cli_context): @@ -19,22 +17,14 @@ def test_gpu(cli_context): "--docker-runtime", "nvidia", "--docker-environment-variable", - "NVIDIA_VISIBLE_DEVICES=1", + "NVIDIA_VISIBLE_DEVICES=all", "--additional-db-parameter", "-enableAcceleratorDeviceDetection=1", ] with cli_context(name="test_gpu", additional_parameters=additional_param) as db: - host_name = db.on_host_docker_environment.database_host - port = db.on_host_docker_environment.ports.database - dsn = f"{host_name}:{port}" - connection = pyexasol.connect( - dsn=dsn, - user="sys", - password="exasol", - websocket_sslopt={"cert_reqs": ssl.CERT_NONE}, - ) - result = connection.execute(query_accelerator_parameters).fetchall() - assert result == [ - ("1", "acceleratorDeviceDetected"), - ("1", "acceleratorDeviceGpuNvidiaDetected"), - ] + with db.on_host_docker_environment.create_connection() as connection: + result = connection.execute(query_accelerator_parameters).fetchall() + assert result == [ + ("1", "acceleratorDeviceDetected"), + ("1", "acceleratorDeviceGpuNvidiaDetected"), + ] From 63864f05db9a27e1ed25f45603ca9e65cc5a8aa8 Mon Sep 17 00:00:00 2001 From: Thomas Ubensee <34603111+tomuben@users.noreply.github.com> Date: Tue, 4 Nov 2025 12:20:30 -0300 Subject: [PATCH 14/14] Reverted changes in noxfile.py --- noxfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/noxfile.py b/noxfile.py index f684df5e5..9bd27eba4 100644 --- a/noxfile.py +++ b/noxfile.py @@ -120,7 +120,7 @@ def run_all_tests(session: nox.Session): db_version, test_set = parse_test_arguments(session) env = {"EXASOL_VERSION": db_version} if test_set == TestSet.GPU_ONLY: - session.run("pytest", "-m", "gpu", "-s", "./test/integration", env=env) + session.run("pytest", "-m", "gpu", "./test/integration", env=env) else: session.run("pytest", "./test/unit") session.run("pytest", "-m", "not gpu", "./test/integration", env=env) @@ -150,7 +150,7 @@ def run_minimal_tests(session: nox.Session): db_version, test_set = parse_test_arguments(session) env = {"EXASOL_VERSION": db_version} if test_set == TestSet.GPU_ONLY: - session.run("pytest", "-m", "gpu", "-s", "./test/integration", env=env) + session.run("pytest", "-m", "gpu", "./test/integration", env=env) else: minimal_tests = { "old-itest": [