From 56576d51792ba7b3d2e27b210711eebcb37318ae Mon Sep 17 00:00:00 2001 From: Anand Sampat Date: Wed, 27 Jun 2018 09:45:04 -0700 Subject: [PATCH] fix tests to work without docker enabled as well. --- .../environment/driver/tests/test_dockerenv.py | 5 +++-- .../environment/tests/test_environment.py | 13 +++++++------ datmo/core/controller/tests/test_project.py | 16 +++++++++------- datmo/core/controller/tests/test_snapshot.py | 13 +++++++------ datmo/core/controller/tests/test_task.py | 13 +++++++------ 5 files changed, 33 insertions(+), 27 deletions(-) diff --git a/datmo/core/controller/environment/driver/tests/test_dockerenv.py b/datmo/core/controller/environment/driver/tests/test_dockerenv.py index 6035875c..0dcc077a 100644 --- a/datmo/core/controller/environment/driver/tests/test_dockerenv.py +++ b/datmo/core/controller/environment/driver/tests/test_dockerenv.py @@ -34,7 +34,7 @@ def to_bytes(val): EnvironmentRequirementsCreateError, EnvironmentImageNotFound, EnvironmentContainerNotFound, PathDoesNotExist, EnvironmentDoesNotExist, EnvironmentExecutionError) -from datmo.core.util.misc_functions import pytest_docker_environment_failed_instantiation +from datmo.core.util.misc_functions import check_docker_inactive, pytest_docker_environment_failed_instantiation # provide mountable tmp directory for docker tempfile.tempdir = "/tmp" if not platform.system() == "Windows" else None @@ -60,7 +60,8 @@ def setup_method(self): f.write(to_bytes(str("RUN echo " + self.random_text))) def teardown_method(self): - self.docker_environment_driver.remove(self.image_name, force=True) + if not check_docker_inactive(test_datmo_dir): + self.docker_environment_driver.remove(self.image_name, force=True) def test_instantiation(self): assert self.docker_environment_driver != None diff --git a/datmo/core/controller/environment/tests/test_environment.py b/datmo/core/controller/environment/tests/test_environment.py index 4ef14cd0..b2dcf79b 100644 --- a/datmo/core/controller/environment/tests/test_environment.py +++ b/datmo/core/controller/environment/tests/test_environment.py @@ -34,7 +34,7 @@ def to_bytes(val): EntityNotFound, RequiredArgumentMissing, TooManyArgumentsFound, FileAlreadyExistsError, UnstagedChanges, EnvironmentDoesNotExist, ProjectNotInitialized, EnvironmentExecutionError) -from datmo.core.util.misc_functions import pytest_docker_environment_failed_instantiation +from datmo.core.util.misc_functions import check_docker_inactive, pytest_docker_environment_failed_instantiation # provide mountable tmp directory for docker tempfile.tempdir = "/tmp" if not platform.system() == "Windows" else None @@ -49,11 +49,12 @@ def setup_method(self): self.environment_ids = [] def teardown_method(self): - if self.project_controller.is_initialized: - self.environment_controller = EnvironmentController() - for env_id in list(set(self.environment_ids)): - if not self.environment_controller.delete(env_id): - raise Exception + if not check_docker_inactive(test_datmo_dir): + if self.project_controller.is_initialized: + self.environment_controller = EnvironmentController() + for env_id in list(set(self.environment_ids)): + if not self.environment_controller.delete(env_id): + raise Exception def __setup(self): self.project_controller.init("test_setup", "test description") diff --git a/datmo/core/controller/tests/test_project.py b/datmo/core/controller/tests/test_project.py index 57986bdc..854a2c8b 100644 --- a/datmo/core/controller/tests/test_project.py +++ b/datmo/core/controller/tests/test_project.py @@ -36,7 +36,7 @@ def to_bytes(val): from datmo.core.entity.snapshot import Snapshot from datmo.core.entity.task import Task from datmo.core.util.exceptions import ValidationFailed -from datmo.core.util.misc_functions import pytest_docker_environment_failed_instantiation +from datmo.core.util.misc_functions import check_docker_inactive, pytest_docker_environment_failed_instantiation # provide mountable tmp directory for docker tempfile.tempdir = "/tmp" if not platform.system() == "Windows" else None @@ -51,12 +51,13 @@ def setup_method(self): self.environment_ids = [] def teardown_method(self): - self.project_controller = ProjectController() - if self.project_controller.is_initialized: - self.environment_controller = EnvironmentController() - for env_id in list(set(self.environment_ids)): - if not self.environment_controller.delete(env_id): - raise Exception + if not check_docker_inactive(test_datmo_dir): + self.project_controller = ProjectController() + if self.project_controller.is_initialized: + self.environment_controller = EnvironmentController() + for env_id in list(set(self.environment_ids)): + if not self.environment_controller.delete(env_id): + raise Exception def test_init_failure_none(self): # Test failed case @@ -230,6 +231,7 @@ def test_status_basic(self): assert ascending_unstaged_task_list assert updated_first_task in ascending_unstaged_task_list + @pytest_docker_environment_failed_instantiation(test_datmo_dir) def test_status_snapshot_task(self): self.project_controller.init("test4", "test description") self.snapshot_controller = SnapshotController() diff --git a/datmo/core/controller/tests/test_snapshot.py b/datmo/core/controller/tests/test_snapshot.py index f3159d3c..f2729365 100644 --- a/datmo/core/controller/tests/test_snapshot.py +++ b/datmo/core/controller/tests/test_snapshot.py @@ -32,7 +32,7 @@ def to_bytes(val): EntityNotFound, SessionDoesNotExist, RequiredArgumentMissing, TaskNotComplete, InvalidArgumentType, ProjectNotInitialized, InvalidProjectPath, DoesNotExist) -from datmo.core.util.misc_functions import pytest_docker_environment_failed_instantiation +from datmo.core.util.misc_functions import check_docker_inactive, pytest_docker_environment_failed_instantiation # provide mountable tmp directory for docker tempfile.tempdir = "/tmp" if not platform.system() == "Windows" else None @@ -46,11 +46,12 @@ def setup_method(self): self.environment_ids = [] def teardown_method(self): - self.__setup() - self.environment_controller = EnvironmentController() - for env_id in list(set(self.environment_ids)): - if not self.environment_controller.delete(env_id): - raise Exception + if not check_docker_inactive(test_datmo_dir): + self.__setup() + self.environment_controller = EnvironmentController() + for env_id in list(set(self.environment_ids)): + if not self.environment_controller.delete(env_id): + raise Exception def __setup(self): Config().set_home(self.temp_dir) diff --git a/datmo/core/controller/tests/test_task.py b/datmo/core/controller/tests/test_task.py index 4b583b77..7326ee6d 100644 --- a/datmo/core/controller/tests/test_task.py +++ b/datmo/core/controller/tests/test_task.py @@ -31,7 +31,7 @@ def to_bytes(val): from datmo.core.util.exceptions import EntityNotFound, TaskRunError, \ InvalidArgumentType, RequiredArgumentMissing, ProjectNotInitialized, \ InvalidProjectPath, TooManyArgumentsFound, DoesNotExist -from datmo.core.util.misc_functions import pytest_docker_environment_failed_instantiation +from datmo.core.util.misc_functions import check_docker_inactive, pytest_docker_environment_failed_instantiation # provide mountable tmp directory for docker tempfile.tempdir = "/tmp" if not platform.system() == "Windows" else None @@ -44,11 +44,12 @@ def setup_method(self): self.environment_ids = [] def teardown_method(self): - self.__setup() - self.environment_controller = EnvironmentController() - for env_id in list(set(self.environment_ids)): - if not self.environment_controller.delete(env_id): - raise Exception + if not check_docker_inactive(test_datmo_dir): + self.__setup() + self.environment_controller = EnvironmentController() + for env_id in list(set(self.environment_ids)): + if not self.environment_controller.delete(env_id): + raise Exception def __setup(self): Config().set_home(self.temp_dir)