diff --git a/src/assemble_workflow/bundle.py b/src/assemble_workflow/bundle.py index a4d6ea59ae..fef3496990 100644 --- a/src/assemble_workflow/bundle.py +++ b/src/assemble_workflow/bundle.py @@ -10,10 +10,10 @@ import shutil import subprocess import tarfile -import tempfile from abc import ABC, abstractmethod from paths.script_finder import ScriptFinder +from system.temporary_directory import TemporaryDirectory """ This class is responsible for executing the build of the full bundle and passing results to a bundle recorder. @@ -34,7 +34,7 @@ def __init__(self, build_manifest, artifacts_dir, bundle_recorder): self.plugins = self.__get_plugins(build_manifest.components) self.artifacts_dir = artifacts_dir self.bundle_recorder = bundle_recorder - self.tmp_dir = tempfile.TemporaryDirectory() + self.tmp_dir = TemporaryDirectory() self.installed_plugins = [] self.min_tarball_path = self._copy_component(self.min_tarball, "dist") self.__unpack_min_tarball(self.tmp_dir.name) diff --git a/src/git/git_repository.py b/src/git/git_repository.py index c19822ceb3..32d497531c 100644 --- a/src/git/git_repository.py +++ b/src/git/git_repository.py @@ -7,9 +7,10 @@ import logging import os import subprocess -import tempfile from pathlib import Path +from system.temporary_directory import TemporaryDirectory + class GitRepository: """ @@ -22,7 +23,7 @@ def __init__(self, url, ref, directory=None, working_subdirectory=None): self.url = url self.ref = ref if directory is None: - self.temp_dir = tempfile.TemporaryDirectory() + self.temp_dir = TemporaryDirectory() self.dir = os.path.realpath(self.temp_dir.name) else: self.temp_dir = None @@ -41,6 +42,13 @@ def __checkout__(self): self.sha = self.output("git rev-parse HEAD", self.dir) logging.info(f"Checked out {self.url}@{self.ref} into {self.dir} at {self.sha}") + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, exc_traceback): + if self.temp_dir: + self.temp_dir.__exit__(exc_type, exc_value, exc_traceback) + @property def working_directory(self): if self.working_subdirectory: diff --git a/src/manifests_workflow/component_opensearch.py b/src/manifests_workflow/component_opensearch.py index abb928ae3b..3411fcabc8 100644 --- a/src/manifests_workflow/component_opensearch.py +++ b/src/manifests_workflow/component_opensearch.py @@ -23,17 +23,18 @@ def checkout( snapshot=False, working_directory=None, ): - return ComponentOpenSearch( - name, - GitRepository( - f"https://github.com/opensearch-project/{name}.git", - branch, - path, - working_directory, - ), - opensearch_version, - snapshot, - ) + with GitRepository( + f"https://github.com/opensearch-project/{name}.git", + branch, + path, + working_directory, + ) as repo: + return ComponentOpenSearch( + name, + repo, + opensearch_version, + snapshot, + ) def __init__(self, name, repo, opensearch_version, snapshot=False): super().__init__(name, repo, snapshot) diff --git a/src/manifests_workflow/component_opensearch_dashboards_min.py b/src/manifests_workflow/component_opensearch_dashboards_min.py index 17e9be2124..58866f604b 100644 --- a/src/manifests_workflow/component_opensearch_dashboards_min.py +++ b/src/manifests_workflow/component_opensearch_dashboards_min.py @@ -21,14 +21,15 @@ def branches(self): @classmethod def checkout(self, path, branch="main", snapshot=False): - return ComponentOpenSearchDashboardsMin( - GitRepository( - "https://github.com/opensearch-project/OpenSearch-Dashboards.git", - branch, - path, - ), - snapshot, - ) + with GitRepository( + "https://github.com/opensearch-project/OpenSearch-Dashboards.git", + branch, + path, + ) as repo: + return ComponentOpenSearchDashboardsMin( + repo, + snapshot, + ) @property def properties(self): diff --git a/src/manifests_workflow/input_manifests.py b/src/manifests_workflow/input_manifests.py index 12c8502c8c..a83161653d 100644 --- a/src/manifests_workflow/input_manifests.py +++ b/src/manifests_workflow/input_manifests.py @@ -41,15 +41,15 @@ def update(self, min_klass, component_klass, keep=False): logging.info(f"Known versions: {known_versions}") main_versions = {} with TemporaryDirectory(keep=keep) as work_dir: - logging.info(f"Checking out components into {work_dir}") - os.chdir(work_dir) + logging.info(f"Checking out components into {work_dir.name}") + os.chdir(work_dir.name) # check out and build #main, 1.x, etc. branches = min_klass.branches() logging.info(f"Checking {self.name} {branches} branches") for branch in branches: c = min_klass.checkout( - path=os.path.join(work_dir, f"{self.name.replace(' ', '')}/{branch}"), + path=os.path.join(work_dir.name, f"{self.name.replace(' ', '')}/{branch}"), branch=branch, ) version = c.version @@ -67,7 +67,7 @@ def update(self, min_klass, component_klass, keep=False): logging.info(f"Checking out {component.name}#main") component = component_klass.checkout( name=component.name, - path=os.path.join(work_dir, component.name), + path=os.path.join(work_dir.name, component.name), version=manifest.build.version, branch="main", ) diff --git a/src/run_assemble.py b/src/run_assemble.py index eaf32c68a4..4bae4c856a 100755 --- a/src/run_assemble.py +++ b/src/run_assemble.py @@ -10,12 +10,12 @@ import logging import os import sys -import tempfile from assemble_workflow.bundle_recorder import BundleRecorder from assemble_workflow.bundles import Bundles from manifests.build_manifest import BuildManifest from system import console +from system.temporary_directory import TemporaryDirectory def main(): @@ -40,10 +40,10 @@ def main(): output_dir = os.path.join(os.getcwd(), "bundle") os.makedirs(output_dir, exist_ok=True) - with tempfile.TemporaryDirectory() as work_dir: + with TemporaryDirectory() as work_dir: logging.info(f"Bundling {build.name} ({build.architecture}) on {build.platform} into {output_dir} ...") - os.chdir(work_dir) + os.chdir(work_dir.name) bundle_recorder = BundleRecorder(build, output_dir, artifacts_dir) diff --git a/src/run_build.py b/src/run_build.py index 0b4a8827ca..0099ed63d5 100755 --- a/src/run_build.py +++ b/src/run_build.py @@ -28,9 +28,9 @@ def main(): with TemporaryDirectory(keep=args.keep) as work_dir: output_dir = os.path.join(os.getcwd(), "artifacts") - logging.info(f"Building in {work_dir}") + logging.info(f"Building in {work_dir.name}") - os.chdir(work_dir) + os.chdir(work_dir.name) target = BuildTarget( name=manifest.build.name, @@ -52,20 +52,19 @@ def main(): continue logging.info(f"Building {component.name}") - repo = GitRepository( + with GitRepository( component.repository, component.ref, - os.path.join(work_dir, component.name), + os.path.join(work_dir.name, component.name), component.working_directory, - ) - - try: - builder = Builder(component.name, repo, build_recorder) - builder.build(target) - builder.export_artifacts() - except: - logging.error(f"Error building {component.name}, retry with: {args.component_command(component.name)}") - raise + ) as repo: + try: + builder = Builder(component.name, repo, build_recorder) + builder.build(target) + builder.export_artifacts() + except: + logging.error(f"Error building {component.name}, retry with: {args.component_command(component.name)}") + raise build_recorder.write_manifest() diff --git a/src/run_bwc_test.py b/src/run_bwc_test.py index 9b1e5e25f1..e3826be03b 100755 --- a/src/run_bwc_test.py +++ b/src/run_bwc_test.py @@ -19,15 +19,15 @@ def main(): args = TestArgs() console.configure(level=args.logging_level) with TemporaryDirectory(keep=args.keep) as work_dir: - logging.info("Switching to temporary work_dir: " + work_dir) + logging.info(f"Switching to temporary work_dir: {work_dir.name}") bundle_manifest = BundleManifest.from_s3( args.s3_bucket, args.build_id, args.opensearch_version, args.architecture, - work_dir, + work_dir.name, ) - BwcTestSuite(bundle_manifest, work_dir, args.component, args.keep).execute() + BwcTestSuite(bundle_manifest, work_dir.name, args.component, args.keep).execute() if __name__ == "__main__": diff --git a/src/run_checkout.py b/src/run_checkout.py index 50a169cb3e..a6436667a3 100755 --- a/src/run_checkout.py +++ b/src/run_checkout.py @@ -23,9 +23,9 @@ def main(): manifest = InputManifest.from_file(args.manifest) with TemporaryDirectory(keep=True) as work_dir: - logging.info(f"Checking out into {work_dir}") + logging.info(f"Checking out into {work_dir.name}") - os.chdir(work_dir) + os.chdir(work_dir.name) for component in manifest.components: @@ -33,11 +33,11 @@ def main(): GitRepository( component.repository, component.ref, - os.path.join(work_dir, component.name), + os.path.join(work_dir.name, component.name), component.working_directory, ) - logging.info(f"Done, checked out into {work_dir}.") + logging.info(f"Done, checked out into {work_dir.name}.") if __name__ == "__main__": diff --git a/src/run_ci.py b/src/run_ci.py index e063b43134..39f450a4cc 100755 --- a/src/run_ci.py +++ b/src/run_ci.py @@ -27,9 +27,9 @@ def main(): target = CiTarget(version=manifest.build.version, snapshot=args.snapshot) with TemporaryDirectory(keep=args.keep) as work_dir: - logging.info(f"Sanity-testing in {work_dir}") + logging.info(f"Sanity-testing in {work_dir.name}") - os.chdir(work_dir) + os.chdir(work_dir.name) logging.info(f"Sanity testing {manifest.build.name}") @@ -40,19 +40,18 @@ def main(): continue logging.info(f"Sanity checking {component.name}") - repo = GitRepository( + with GitRepository( component.repository, component.ref, - os.path.join(work_dir, component.name), + os.path.join(work_dir.name, component.name), component.working_directory, - ) - - try: - ci = Ci(component, repo, target) - ci.check() - except: - logging.error(f"Error checking {component.name}, retry with: {args.component_command(component.name)}") - raise + ) as repo: + try: + ci = Ci(component, repo, target) + ci.check() + except: + logging.error(f"Error checking {component.name}, retry with: {args.component_command(component.name)}") + raise logging.info("Done.") diff --git a/src/run_integ_test.py b/src/run_integ_test.py index 5ccfdfb95e..45d620f3af 100755 --- a/src/run_integ_test.py +++ b/src/run_integ_test.py @@ -41,16 +41,16 @@ def main(): if component.integ_test is not None: integ_test_config[component.name] = component with TemporaryDirectory(keep=args.keep) as work_dir: - logging.info("Switching to temporary work_dir: " + work_dir) - test_recorder = TestRecorder(args.test_run_id, "integ-test", work_dir) - os.chdir(work_dir) + logging.info(f"Switching to temporary work_dir: {work_dir.name}") + test_recorder = TestRecorder(args.test_run_id, "integ-test", work_dir.name) + os.chdir(work_dir.name) bundle_manifest = BundleManifest.from_s3( args.s3_bucket, args.build_id, args.opensearch_version, args.platform, args.architecture, - work_dir, + work_dir.name, ) build_manifest = BuildManifest.from_s3( args.s3_bucket, @@ -58,9 +58,9 @@ def main(): args.opensearch_version, args.platform, args.architecture, - work_dir, + work_dir.name, ) - pull_build_repo(work_dir) + pull_build_repo(work_dir.name) DependencyInstaller(build_manifest.build).install_all_maven_dependencies() all_results = TestSuiteResults() for component in bundle_manifest.components: @@ -70,7 +70,7 @@ def main(): integ_test_config[component.name], bundle_manifest, build_manifest, - work_dir, + work_dir.name, args.s3_bucket, test_recorder, ) diff --git a/src/run_perf_test.py b/src/run_perf_test.py index 01b8a7e545..5845c84e85 100644 --- a/src/run_perf_test.py +++ b/src/run_perf_test.py @@ -42,8 +42,8 @@ def get_infra_repo_url(): def main(): with TemporaryDirectory(keep=args.keep) as work_dir: - os.chdir(work_dir) - current_workspace = os.path.join(work_dir, "infra") + os.chdir(work_dir.name) + current_workspace = os.path.join(work_dir.name, "infra") GitRepository(get_infra_repo_url(), "main", current_workspace) security = False for component in manifest.components: diff --git a/src/system/temporary_directory.py b/src/system/temporary_directory.py index 5cd6598a8e..f13bc2cf36 100644 --- a/src/system/temporary_directory.py +++ b/src/system/temporary_directory.py @@ -7,16 +7,19 @@ import logging import shutil import tempfile -from contextlib import contextmanager -@contextmanager -def TemporaryDirectory(keep=False): - name = tempfile.mkdtemp() - try: - yield name - finally: - if keep: - logging.info(f"Keeping {name}") +class TemporaryDirectory: + def __init__(self, keep=False): + self.keep = keep + self.name = tempfile.mkdtemp() + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, exc_traceback): + if self.keep: + logging.info(f"Keeping {self.name}") else: - shutil.rmtree(name) + logging.debug(f"Removing {self.name}") + shutil.rmtree(self.name) diff --git a/tests/test_run_assemble.py b/tests/test_run_assemble.py index 4a7402d16a..0be9c02b1e 100644 --- a/tests/test_run_assemble.py +++ b/tests/test_run_assemble.py @@ -35,10 +35,10 @@ def test_usage(self, *mocks): @patch("argparse._sys.argv", ["run_assemble.py", BUILD_MANIFEST]) @patch("run_assemble.Bundles", return_value=MagicMock()) @patch("run_assemble.BundleRecorder", return_value=MagicMock()) - @patch("tempfile.TemporaryDirectory") + @patch("run_assemble.TemporaryDirectory") @patch("shutil.copy2") def test_main(self, mock_copy, mock_temp, mock_recorder, mock_bundles, *mocks): - mock_temp.return_value.__enter__.return_value = tempfile.gettempdir() + mock_temp.return_value.__enter__.return_value.name = tempfile.gettempdir() mock_bundle = MagicMock(archive_path="path") mock_bundles.create.return_value = mock_bundle diff --git a/tests/test_run_build.py b/tests/test_run_build.py index d498f14b58..4aed03a666 100644 --- a/tests/test_run_build.py +++ b/tests/test_run_build.py @@ -32,10 +32,12 @@ def test_usage(self): @patch("argparse._sys.argv", ["run_build.py", OPENSEARCH_MANIFEST]) @patch("run_build.Builder", return_value=MagicMock()) @patch("run_build.BuildRecorder", return_value=MagicMock()) - @patch("run_build.GitRepository", return_value=MagicMock(working_directory="dummy")) + @patch("run_build.GitRepository") @patch("run_build.TemporaryDirectory") def test_main(self, mock_temp, mock_repo, mock_recorder, mock_builder, *mocks): - mock_temp.return_value.__enter__.return_value = tempfile.gettempdir() + mock_temp.return_value.__enter__.return_value.name = tempfile.gettempdir() + repo = MagicMock(name="dummy") + mock_repo.return_value.__enter__.return_value = repo main() @@ -69,11 +71,11 @@ def test_main(self, mock_temp, mock_repo, mock_recorder, mock_builder, *mocks): # each component is built and its artifacts exported mock_builder.assert_has_calls( [ - call("OpenSearch", mock_repo.return_value, mock_recorder.return_value), - call("common-utils", mock_repo.return_value, mock_recorder.return_value), + call("OpenSearch", repo, mock_recorder.return_value), + call("common-utils", repo, mock_recorder.return_value), call( "dashboards-reports", - mock_repo.return_value, + repo, mock_recorder.return_value, ), ], diff --git a/tests/test_run_checkout.py b/tests/test_run_checkout.py index c87e17e221..387f229fea 100644 --- a/tests/test_run_checkout.py +++ b/tests/test_run_checkout.py @@ -14,7 +14,7 @@ from run_checkout import main -class TestRunChecout(unittest.TestCase): +class TestRunCheckout(unittest.TestCase): @pytest.fixture(autouse=True) def capfd(self, capfd): self.capfd = capfd @@ -30,10 +30,11 @@ def test_usage(self): OPENSEARCH_MANIFEST = os.path.realpath(os.path.join(os.path.dirname(__file__), "../manifests/1.1.0/opensearch-1.1.0.yml")) @patch("argparse._sys.argv", ["run_checkout.py", OPENSEARCH_MANIFEST]) - @patch("run_checkout.GitRepository", return_value=MagicMock(working_directory="dummy")) + @patch("run_checkout.GitRepository") @patch("run_checkout.TemporaryDirectory") def test_main(self, mock_temp, mock_repo): - mock_temp.return_value.__enter__.return_value = tempfile.gettempdir() + mock_temp.return_value.__enter__.return_value.name = tempfile.gettempdir() + mock_repo.return_value.__enter__.return_value = MagicMock(working_directory="dummy") main() diff --git a/tests/test_run_ci.py b/tests/test_run_ci.py index 69fb715712..d8354cebcb 100644 --- a/tests/test_run_ci.py +++ b/tests/test_run_ci.py @@ -34,7 +34,7 @@ def test_usage(self): @patch("run_ci.GitRepository", return_value=MagicMock(working_directory="dummy")) @patch("run_ci.TemporaryDirectory") def test_main(self, mock_temp, mock_repo, mock_ci, *mocks): - mock_temp.return_value.__enter__.return_value = tempfile.gettempdir() + mock_temp.return_value.__enter__.return_value.name = tempfile.gettempdir() main() diff --git a/tests/tests_assemble_workflow/test_bundle_recorder.py b/tests/tests_assemble_workflow/test_bundle_recorder.py index e0223faaf0..c54145d481 100644 --- a/tests/tests_assemble_workflow/test_bundle_recorder.py +++ b/tests/tests_assemble_workflow/test_bundle_recorder.py @@ -5,7 +5,6 @@ # compatible open source license. import os -import tempfile import unittest import yaml @@ -13,6 +12,7 @@ from assemble_workflow.bundle_recorder import BundleRecorder from manifests.build_manifest import BuildManifest from manifests.bundle_manifest import BundleManifest +from system.temporary_directory import TemporaryDirectory class TestBundleRecorder(unittest.TestCase): @@ -78,9 +78,9 @@ def test_get_manifest(self): ) def test_write_manifest(self): - with tempfile.TemporaryDirectory() as dest_dir: - self.bundle_recorder.write_manifest(dest_dir) - manifest_path = os.path.join(dest_dir, "manifest.yml") + with TemporaryDirectory() as dest_dir: + self.bundle_recorder.write_manifest(dest_dir.name) + manifest_path = os.path.join(dest_dir.name, "manifest.yml") self.assertTrue(os.path.isfile(manifest_path)) data = self.bundle_recorder.get_manifest().to_dict() with open(manifest_path) as f: @@ -210,9 +210,9 @@ def test_get_manifest(self): ) def test_write_manifest(self): - with tempfile.TemporaryDirectory() as dest_dir: - self.bundle_recorder.write_manifest(dest_dir) - manifest_path = os.path.join(dest_dir, "manifest.yml") + with TemporaryDirectory() as dest_dir: + self.bundle_recorder.write_manifest(dest_dir.name) + manifest_path = os.path.join(dest_dir.name, "manifest.yml") self.assertTrue(os.path.isfile(manifest_path)) data = self.bundle_recorder.get_manifest().to_dict() with open(manifest_path) as f: diff --git a/tests/tests_build_workflow/test_build_recorder.py b/tests/tests_build_workflow/test_build_recorder.py index 304ebb77de..97887dbe41 100644 --- a/tests/tests_build_workflow/test_build_recorder.py +++ b/tests/tests_build_workflow/test_build_recorder.py @@ -5,7 +5,6 @@ # compatible open source license. import os -import tempfile import unittest from unittest.mock import MagicMock, patch @@ -16,6 +15,7 @@ from build_workflow.opensearch.build_artifact_check_maven import BuildArtifactOpenSearchCheckMaven from build_workflow.opensearch.build_artifact_check_plugin import BuildArtifactOpenSearchCheckPlugin from manifests.build_manifest import BuildManifest +from system.temporary_directory import TemporaryDirectory class TestBuildRecorder(unittest.TestCase): @@ -138,11 +138,11 @@ def test_get_manifest(self): ) def test_write_manifest(self): - with tempfile.TemporaryDirectory() as dest_dir: + with TemporaryDirectory() as dest_dir: mock = self.__mock(snapshot=False) - mock.target.output_dir = dest_dir + mock.target.output_dir = dest_dir.name mock.write_manifest() - manifest_path = os.path.join(dest_dir, "manifest.yml") + manifest_path = os.path.join(dest_dir.name, "manifest.yml") self.assertTrue(os.path.isfile(manifest_path)) data = mock.get_manifest().to_dict() with open(manifest_path) as f: diff --git a/tests/tests_git/test_git_repository.py b/tests/tests_git/test_git_repository.py index 5fe6484c00..dd5980abe1 100644 --- a/tests/tests_git/test_git_repository.py +++ b/tests/tests_git/test_git_repository.py @@ -6,11 +6,11 @@ import os import subprocess -import tempfile import unittest from unittest.mock import patch from git.git_repository import GitRepository +from system.temporary_directory import TemporaryDirectory class TestGitRepository(unittest.TestCase): @@ -24,7 +24,7 @@ def test_checkout(self): self.assertEqual(self.repo.url, "https://github.com/opensearch-project/.github") self.assertEqual(self.repo.ref, "8ac515431bf24caf92fea9d9b0af3b8f10b88453") self.assertEqual(self.repo.sha, "8ac515431bf24caf92fea9d9b0af3b8f10b88453") - self.assertIs(type(self.repo.temp_dir), tempfile.TemporaryDirectory) + self.assertIs(type(self.repo.temp_dir), TemporaryDirectory) self.assertEqual(self.repo.dir, os.path.realpath(self.repo.temp_dir.name)) self.assertTrue(os.path.isfile(os.path.join(self.repo.dir, "CODE_OF_CONDUCT.md"))) # was added in the next commit @@ -58,8 +58,8 @@ def test_output(self, mock_subprocess): class TestGitRepositoryDir(unittest.TestCase): def test_checkout_into_dir(self): - with tempfile.TemporaryDirectory() as tmpdir: - subdir = os.path.join(tmpdir, ".github") + with TemporaryDirectory() as tmpdir: + subdir = os.path.join(tmpdir.name, ".github") repo = GitRepository( url="https://github.com/opensearch-project/.github", ref="8ac515431bf24caf92fea9d9b0af3b8f10b88453", diff --git a/tests/tests_manifests/test_manifest.py b/tests/tests_manifests/test_manifest.py index 1e3c5a994e..c4e8aff6c5 100644 --- a/tests/tests_manifests/test_manifest.py +++ b/tests/tests_manifests/test_manifest.py @@ -5,12 +5,12 @@ # compatible open source license. import os -import tempfile import unittest import yaml from manifests.manifest import Manifest +from system.temporary_directory import TemporaryDirectory class TestManifest(unittest.TestCase): @@ -64,8 +64,8 @@ def test_to_file(self): manifest_path = os.path.join(self.data_path, "min.yml") manifest = TestManifest.SampleManifest.from_path(manifest_path) - with tempfile.TemporaryDirectory() as path: - output_path = os.path.join(path, "manifest.yml") + with TemporaryDirectory() as path: + output_path = os.path.join(path.name, "manifest.yml") manifest.to_file(output_path) self.assertTrue(os.path.isfile(manifest_path)) with open(output_path) as f: diff --git a/tests/tests_system/test_temporary_directory.py b/tests/tests_system/test_temporary_directory.py index 8766214bad..5bdddaaef0 100644 --- a/tests/tests_system/test_temporary_directory.py +++ b/tests/tests_system/test_temporary_directory.py @@ -11,12 +11,12 @@ class TestTemporaryDirectory(unittest.TestCase): - def test_keep_true(self): + def test_mkdtemp_keep_true(self): with TemporaryDirectory(keep=True) as work_dir: - self.assertTrue(os.path.exists(work_dir)) - self.assertTrue(os.path.exists(work_dir)) + self.assertTrue(os.path.exists(work_dir.name)) + self.assertTrue(os.path.exists(work_dir.name)) - def test_keep_false(self): + def test_mkdtemp_keep_false(self): with TemporaryDirectory() as work_dir: - self.assertTrue(os.path.exists(work_dir)) - self.assertFalse(os.path.exists(work_dir)) + self.assertTrue(os.path.exists(work_dir.name)) + self.assertFalse(os.path.exists(work_dir.name)) diff --git a/tests/tests_test_workflow/test_bwc_workflow/bwc_test/__init__.py b/tests/tests_test_workflow/test_bwc_workflow/bwc_test/__init__.py index e69de29bb2..5f4fa9acce 100644 --- a/tests/tests_test_workflow/test_bwc_workflow/bwc_test/__init__.py +++ b/tests/tests_test_workflow/test_bwc_workflow/bwc_test/__init__.py @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. + +import os +import sys + +sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../../../../src")) diff --git a/tests/tests_test_workflow/test_integ_workflow/integ_test/__init__.py b/tests/tests_test_workflow/test_integ_workflow/integ_test/__init__.py index 664cd9b178..5f4fa9acce 100644 --- a/tests/tests_test_workflow/test_integ_workflow/integ_test/__init__.py +++ b/tests/tests_test_workflow/test_integ_workflow/integ_test/__init__.py @@ -7,4 +7,4 @@ import os import sys -sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../../../src")) +sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../../../../src")) diff --git a/tests/tests_test_workflow/test_integ_workflow/integ_test/test_local_test_cluster.py b/tests/tests_test_workflow/test_integ_workflow/integ_test/test_local_test_cluster.py index 5108aaad83..c6b139bbb1 100644 --- a/tests/tests_test_workflow/test_integ_workflow/integ_test/test_local_test_cluster.py +++ b/tests/tests_test_workflow/test_integ_workflow/integ_test/test_local_test_cluster.py @@ -15,6 +15,7 @@ import yaml from manifests.bundle_manifest import BundleManifest +from system.temporary_directory import TemporaryDirectory from test_workflow.integ_test.local_test_cluster import LocalTestCluster from test_workflow.test_cluster import ClusterCreationException @@ -26,7 +27,7 @@ def setUp(self, mock_test_recorder): self.data_path = os.path.realpath(os.path.join(os.path.dirname(__file__), "../../../tests_manifests/data")) self.manifest_filename = os.path.join(self.data_path, "opensearch-bundle-1.1.0.yml") self.manifest = BundleManifest.from_path(self.manifest_filename) - self.work_dir = tempfile.TemporaryDirectory() + self.work_dir = TemporaryDirectory() self.process = self.__get_process() self.process.returncode = 0 self.local_test_cluster = LocalTestCluster( @@ -40,9 +41,6 @@ def setUp(self, mock_test_recorder): "dummy-bucket", ) - def tearDown(self): - self.work_dir.cleanup() - class MockResponse: def __init__(self, text, status_code): self.text = text diff --git a/tests/tests_test_workflow/test_perf_workflow/perf_test/__init__.py b/tests/tests_test_workflow/test_perf_workflow/perf_test/__init__.py index 664cd9b178..5f4fa9acce 100644 --- a/tests/tests_test_workflow/test_perf_workflow/perf_test/__init__.py +++ b/tests/tests_test_workflow/test_perf_workflow/perf_test/__init__.py @@ -7,4 +7,4 @@ import os import sys -sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../../../src")) +sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../../../../src")) diff --git a/tests/tests_test_workflow/test_test_component.py b/tests/tests_test_workflow/test_test_component.py index f502163e19..ab9ddb9e5e 100644 --- a/tests/tests_test_workflow/test_test_component.py +++ b/tests/tests_test_workflow/test_test_component.py @@ -1,7 +1,7 @@ import os -import tempfile import unittest +from system.temporary_directory import TemporaryDirectory from test_workflow.test_component import TestComponent @@ -13,8 +13,8 @@ def setUp(self): ) def test_checkout(self): - with tempfile.TemporaryDirectory() as tmpdir: - subdir = os.path.join(tmpdir, ".github") + with TemporaryDirectory() as tmpdir: + subdir = os.path.join(tmpdir.name, ".github") repo = self.test_component.checkout(subdir) self.assertEqual(repo.url, "https://github.com/opensearch-project/.github") self.assertEqual(repo.ref, "8ac515431bf24caf92fea9d9b0af3b8f10b88453")