diff options
Diffstat (limited to 'infra/cifuzz/cifuzz_test.py')
-rw-r--r-- | infra/cifuzz/cifuzz_test.py | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/infra/cifuzz/cifuzz_test.py b/infra/cifuzz/cifuzz_test.py deleted file mode 100644 index 7c17b6f84..000000000 --- a/infra/cifuzz/cifuzz_test.py +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright 2020 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""Test the functionality of the cifuzz module's functions: -1. Building fuzzers. -2. Running fuzzers. -""" - -import os -import sys -import tempfile -import unittest - -# pylint: disable=wrong-import-position -sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -import cifuzz - -# NOTE: This integration test relies on -# https://github.com/google/oss-fuzz/tree/master/projects/example project -EXAMPLE_PROJECT = 'example' - - -class BuildFuzzersIntegrationTest(unittest.TestCase): - """Test build_fuzzers function in the utils module.""" - - def test_valid_commit(self): - """Test building fuzzers with valid inputs.""" - with tempfile.TemporaryDirectory() as tmp_dir: - out_path = os.path.join(tmp_dir, 'out') - os.mkdir(out_path) - self.assertTrue( - cifuzz.build_fuzzers( - EXAMPLE_PROJECT, - 'oss-fuzz', - tmp_dir, - commit_sha='0b95fe1039ed7c38fea1f97078316bfc1030c523')) - self.assertTrue(os.path.exists(os.path.join(out_path, 'do_stuff_fuzzer'))) - - def test_valid_pull_request(self): - """Test building fuzzers with valid pull request.""" - with tempfile.TemporaryDirectory() as tmp_dir: - out_path = os.path.join(tmp_dir, 'out') - os.mkdir(out_path) - self.assertTrue( - cifuzz.build_fuzzers(EXAMPLE_PROJECT, - 'oss-fuzz', - tmp_dir, - pr_ref='refs/pull/3310/merge')) - self.assertTrue(os.path.exists(os.path.join(out_path, 'do_stuff_fuzzer'))) - - def test_invalid_pull_request(self): - """Test building fuzzers with invalid pull request.""" - with tempfile.TemporaryDirectory() as tmp_dir: - out_path = os.path.join(tmp_dir, 'out') - os.mkdir(out_path) - self.assertFalse( - cifuzz.build_fuzzers(EXAMPLE_PROJECT, - 'oss-fuzz', - tmp_dir, - pr_ref='ref-1/merge')) - - def test_invalid_project_name(self): - """Test building fuzzers with invalid project name.""" - with tempfile.TemporaryDirectory() as tmp_dir: - self.assertFalse( - cifuzz.build_fuzzers( - 'not_a_valid_project', - 'oss-fuzz', - tmp_dir, - commit_sha='0b95fe1039ed7c38fea1f97078316bfc1030c523')) - - def test_invalid_repo_name(self): - """Test building fuzzers with invalid repo name.""" - with tempfile.TemporaryDirectory() as tmp_dir: - self.assertFalse( - cifuzz.build_fuzzers( - EXAMPLE_PROJECT, - 'not-real-repo', - tmp_dir, - commit_sha='0b95fe1039ed7c38fea1f97078316bfc1030c523')) - - def test_invalid_commit_sha(self): - """Test building fuzzers with invalid commit SHA.""" - with tempfile.TemporaryDirectory() as tmp_dir: - with self.assertRaises(AssertionError): - cifuzz.build_fuzzers(EXAMPLE_PROJECT, - 'oss-fuzz', - tmp_dir, - commit_sha='') - - def test_invalid_workspace(self): - """Test building fuzzers with invalid workspace.""" - self.assertFalse( - cifuzz.build_fuzzers( - EXAMPLE_PROJECT, - 'oss-fuzz', - 'not/a/dir', - commit_sha='0b95fe1039ed7c38fea1f97078316bfc1030c523', - )) - - -class RunFuzzersIntegrationTest(unittest.TestCase): - """Test build_fuzzers function in the utils module.""" - - def test_valid(self): - """Test run_fuzzers with a valid build.""" - with tempfile.TemporaryDirectory() as tmp_dir: - out_path = os.path.join(tmp_dir, 'out') - os.mkdir(out_path) - self.assertTrue( - cifuzz.build_fuzzers( - EXAMPLE_PROJECT, - 'oss-fuzz', - tmp_dir, - commit_sha='0b95fe1039ed7c38fea1f97078316bfc1030c523')) - self.assertTrue(os.path.exists(os.path.join(out_path, 'do_stuff_fuzzer'))) - run_success, bug_found = cifuzz.run_fuzzers(EXAMPLE_PROJECT, 5, tmp_dir) - self.assertTrue(run_success) - self.assertTrue(bug_found) - - def test_invlid_build(self): - """Test run_fuzzers with an invalid build.""" - with tempfile.TemporaryDirectory() as tmp_dir: - out_path = os.path.join(tmp_dir, 'out') - os.mkdir(out_path) - run_success, bug_found = cifuzz.run_fuzzers(EXAMPLE_PROJECT, 5, tmp_dir) - self.assertFalse(run_success) - self.assertFalse(bug_found) - - def test_invalid_fuzz_seconds(self): - """Tests run_fuzzers with an invalid fuzz seconds.""" - with tempfile.TemporaryDirectory() as tmp_dir: - out_path = os.path.join(tmp_dir, 'out') - os.mkdir(out_path) - run_success, bug_found = cifuzz.run_fuzzers(EXAMPLE_PROJECT, 0, tmp_dir) - self.assertFalse(run_success) - self.assertFalse(bug_found) - - def test_invalid_out_dir(self): - """Tests run_fuzzers with an invalid out directory.""" - run_success, bug_found = cifuzz.run_fuzzers(EXAMPLE_PROJECT, 5, - 'not/a/valid/path') - self.assertFalse(run_success) - self.assertFalse(bug_found) - - -if __name__ == '__main__': - unittest.main() |