diff options
author | jonathanmetzman <31354670+jonathanmetzman@users.noreply.github.com> | 2021-06-30 07:34:42 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-30 07:34:42 -0700 |
commit | 0672aa4e1f2cc332f6e6a020259c35007292cd91 (patch) | |
tree | d3a6dee092ff2722c5f9e28de1d21b652026092c /infra/cifuzz/build_fuzzers_test.py | |
parent | a9c49afb784f0deaaffba8b388333c36074550c2 (diff) | |
download | oss-fuzz-0672aa4e1f2cc332f6e6a020259c35007292cd91.tar.gz |
[CIFuzz] Don't make everything a subdirectory of /out (#5970)
Use different subdirectories of workspace for builds, old builds, coverage reports, corpora and artifacts/testscases.
Diffstat (limited to 'infra/cifuzz/build_fuzzers_test.py')
-rw-r--r-- | infra/cifuzz/build_fuzzers_test.py | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/infra/cifuzz/build_fuzzers_test.py b/infra/cifuzz/build_fuzzers_test.py index 35194f754..b88552301 100644 --- a/infra/cifuzz/build_fuzzers_test.py +++ b/infra/cifuzz/build_fuzzers_test.py @@ -136,7 +136,7 @@ class BuildFuzzersIntegrationTest(unittest.TestCase): def setUp(self): self.tmp_dir_obj = tempfile.TemporaryDirectory() self.workspace = self.tmp_dir_obj.name - self.out_dir = os.path.join(self.workspace, 'out') + self.out_dir = os.path.join(self.workspace, 'build-out') test_helpers.patch_environ(self) def tearDown(self): @@ -268,29 +268,32 @@ class CheckFuzzerBuildTest(unittest.TestCase): def setUp(self): self.tmp_dir_obj = tempfile.TemporaryDirectory() - self.test_files_path = os.path.join(self.tmp_dir_obj.name, 'test_files') - shutil.copytree(TEST_DATA_PATH, self.test_files_path) + workspace_path = os.path.join(self.tmp_dir_obj.name, 'workspace') + self.workspace = test_helpers.create_workspace(workspace_path) + shutil.copytree(TEST_DATA_PATH, workspace_path) def tearDown(self): self.tmp_dir_obj.cleanup() def test_correct_fuzzer_build(self): """Checks check_fuzzer_build function returns True for valid fuzzers.""" - test_fuzzer_dir = os.path.join(self.test_files_path, 'out') self.assertTrue( - build_fuzzers.check_fuzzer_build(test_fuzzer_dir, self.SANITIZER, + build_fuzzers.check_fuzzer_build(self.workspace, self.SANITIZER, self.LANGUAGE)) - def test_not_a_valid_fuzz_path(self): - """Tests that False is returned when a bad path is given.""" + def test_not_a_valid_path(self): + """Tests that False is returned when a nonexistent path is given.""" + workspace = test_helpers.create_workspace('not/a/valid/path') self.assertFalse( - build_fuzzers.check_fuzzer_build('not/a/valid/path', self.SANITIZER, + build_fuzzers.check_fuzzer_build(workspace, self.SANITIZER, self.LANGUAGE)) - def test_not_a_valid_fuzzer(self): - """Checks a directory that exists but does not have fuzzers is False.""" + def test_no_valid_fuzzers(self): + """Tests that False is returned when an empty directory is given.""" + with tempfile.TemporaryDirectory() as tmp_dir: + workspace = test_helpers.create_workspace(tmp_dir) self.assertFalse( - build_fuzzers.check_fuzzer_build(self.test_files_path, self.SANITIZER, + build_fuzzers.check_fuzzer_build(workspace, self.SANITIZER, self.LANGUAGE)) @mock.patch('helper.docker_run') @@ -298,8 +301,7 @@ class CheckFuzzerBuildTest(unittest.TestCase): """Tests that ALLOWED_BROKEN_TARGETS_PERCENTAGE is set when running docker if passed to check_fuzzer_build.""" mocked_docker_run.return_value = 0 - test_fuzzer_dir = os.path.join(TEST_DATA_PATH, 'out') - build_fuzzers.check_fuzzer_build(test_fuzzer_dir, + build_fuzzers.check_fuzzer_build(self.workspace, self.SANITIZER, self.LANGUAGE, allowed_broken_targets_percentage='0') |