aboutsummaryrefslogtreecommitdiff
path: root/infra
diff options
context:
space:
mode:
authorjonathanmetzman <31354670+jonathanmetzman@users.noreply.github.com>2021-08-03 18:05:00 -0700
committerGitHub <noreply@github.com>2021-08-03 18:05:00 -0700
commit6f0238764ea93ded0f36b1434410a1b12b919972 (patch)
tree02ef8568178e886d5f15f8500ef116038edbd85c /infra
parent0ea44bb3557f3f70479404c8027566bb33cc12a1 (diff)
downloadoss-fuzz-6f0238764ea93ded0f36b1434410a1b12b919972.tar.gz
[infra][NFC] Use "testcase" instead of test_case for consistency. (#6159)
Diffstat (limited to 'infra')
-rw-r--r--infra/bisector.py22
-rw-r--r--infra/bisector_test.py4
-rw-r--r--infra/build_specified_commit_test.py31
-rw-r--r--infra/test_repos.py14
4 files changed, 38 insertions, 33 deletions
diff --git a/infra/bisector.py b/infra/bisector.py
index 23fb3378c..a9df522a2 100644
--- a/infra/bisector.py
+++ b/infra/bisector.py
@@ -105,7 +105,7 @@ def main():
architecture=args.architecture)
result = bisect(args.type, args.old_commit, args.new_commit,
- args.test_case_path, args.fuzz_target, build_data)
+ args.testcase_path, args.fuzz_target, build_data)
if not result.commit:
logging.error('No error was found in commit range %s:%s', args.old_commit,
args.new_commit)
@@ -131,7 +131,7 @@ def _get_dedup_token(output):
return None
-def _check_for_crash(project_name, fuzz_target, test_case_path):
+def _check_for_crash(project_name, fuzz_target, testcase_path):
"""Check for crash."""
def docker_run(args):
@@ -145,7 +145,7 @@ def _check_for_crash(project_name, fuzz_target, test_case_path):
out, err, return_code = helper.reproduce_impl(project_name,
fuzz_target,
False, [], [],
- test_case_path,
+ testcase_path,
run_function=docker_run,
err_result=(None, None, None))
if return_code is None:
@@ -167,7 +167,7 @@ def _check_for_crash(project_name, fuzz_target, test_case_path):
# pylint: disable=too-many-locals
# pylint: disable=too-many-arguments
# pylint: disable=too-many-statements
-def _bisect(bisect_type, old_commit, new_commit, test_case_path, fuzz_target,
+def _bisect(bisect_type, old_commit, new_commit, testcase_path, fuzz_target,
build_data):
"""Perform the bisect."""
# pylint: disable=too-many-branches
@@ -212,7 +212,7 @@ def _bisect(bisect_type, old_commit, new_commit, test_case_path, fuzz_target,
raise BisectError('Invalid bisect type ' + bisect_type, repo_url)
expected_error = _check_for_crash(build_data.project_name, fuzz_target,
- test_case_path)
+ testcase_path)
logging.info('new_commit result = %s', expected_error)
if not should_crash and expected_error:
@@ -231,7 +231,7 @@ def _bisect(bisect_type, old_commit, new_commit, test_case_path, fuzz_target,
raise BisectError('Failed to build old_commit', repo_url)
if _check_for_crash(build_data.project_name, fuzz_target,
- test_case_path) == expected_error:
+ testcase_path) == expected_error:
logging.warning('old_commit %s had same result as new_commit %s',
old_commit, new_commit)
# Try again on an slightly older commit.
@@ -266,7 +266,7 @@ def _bisect(bisect_type, old_commit, new_commit, test_case_path, fuzz_target,
continue
current_error = _check_for_crash(build_data.project_name, fuzz_target,
- test_case_path)
+ testcase_path)
logging.info('Current result = %s', current_error)
if expected_error == current_error:
new_idx = curr_idx
@@ -277,16 +277,16 @@ def _bisect(bisect_type, old_commit, new_commit, test_case_path, fuzz_target,
# pylint: disable=too-many-locals
# pylint: disable=too-many-arguments
-def bisect(bisect_type, old_commit, new_commit, test_case_path, fuzz_target,
+def bisect(bisect_type, old_commit, new_commit, testcase_path, fuzz_target,
build_data):
"""From a commit range, this function caluclates which introduced a
- specific error from a fuzz test_case_path.
+ specific error from a fuzz testcase_path.
Args:
bisect_type: The type of the bisect ('regressed' or 'fixed').
old_commit: The oldest commit in the error regression range.
new_commit: The newest commit in the error regression range.
- test_case_path: The file path of the test case that triggers the error
+ testcase_path: The file path of the test case that triggers the error
fuzz_target: The name of the fuzzer to be tested.
build_data: a class holding all of the input parameters for bisection.
@@ -297,7 +297,7 @@ def bisect(bisect_type, old_commit, new_commit, test_case_path, fuzz_target,
ValueError: when a repo url can't be determine from the project.
"""
try:
- return _bisect(bisect_type, old_commit, new_commit, test_case_path,
+ return _bisect(bisect_type, old_commit, new_commit, testcase_path,
fuzz_target, build_data)
finally:
# Clean up projects/ as _bisect may have modified it.
diff --git a/infra/bisector_test.py b/infra/bisector_test.py
index 5e3dc5232..d93ac3239 100644
--- a/infra/bisector_test.py
+++ b/infra/bisector_test.py
@@ -45,7 +45,7 @@ class BisectIntegrationTests(unittest.TestCase):
architecture='x86_64')
with self.assertRaises(ValueError):
bisector.bisect(self.BISECT_TYPE, test_repo.old_commit,
- test_repo.new_commit, test_repo.test_case_path,
+ test_repo.new_commit, test_repo.testcase_path,
test_repo.fuzz_target, build_data)
def test_bisect(self):
@@ -58,7 +58,7 @@ class BisectIntegrationTests(unittest.TestCase):
sanitizer='address',
architecture='x86_64')
result = bisector.bisect(self.BISECT_TYPE, test_repo.old_commit,
- test_repo.new_commit, test_repo.test_case_path,
+ test_repo.new_commit, test_repo.testcase_path,
test_repo.fuzz_target, build_data)
self.assertEqual(result.commit, test_repo.intro_commit)
diff --git a/infra/build_specified_commit_test.py b/infra/build_specified_commit_test.py
index 6d4f09ee8..7aa27509f 100644
--- a/infra/build_specified_commit_test.py
+++ b/infra/build_specified_commit_test.py
@@ -27,7 +27,7 @@ import helper
import repo_manager
import test_repos
-# Necessary because __file__ changes with os.chdir
+# necessary because __file__ changes with os.chdir
TEST_DIR_PATH = os.path.dirname(os.path.realpath(__file__))
@@ -45,31 +45,34 @@ class BuildImageIntegrationTest(unittest.TestCase):
should not.
"""
with tempfile.TemporaryDirectory() as tmp_dir:
- test_case = test_repos.TEST_REPOS[1]
- self.assertTrue(helper.build_image_impl(test_case.project_name))
+ test_repo = test_repos.TEST_REPOS[1]
+ self.assertTrue(helper.build_image_impl(test_repo.project_name))
host_src_dir = build_specified_commit.copy_src_from_docker(
- test_case.project_name, tmp_dir)
+ test_repo.project_name, tmp_dir)
test_repo_manager = repo_manager.clone_repo_and_get_manager(
- test_case.git_url, host_src_dir, test_case.oss_repo_name)
+ test_repo.git_url, host_src_dir, test_repo.oss_repo_name)
build_data = build_specified_commit.BuildData(
sanitizer='address',
architecture='x86_64',
engine='libfuzzer',
- project_name=test_case.project_name)
+ project_name=test_repo.project_name)
- build_specified_commit.build_fuzzers_from_commit(test_case.old_commit,
+ build_specified_commit.build_fuzzers_from_commit(test_repo.old_commit,
test_repo_manager,
host_src_dir, build_data)
- old_result = helper.reproduce_impl(test_case.project_name,
- test_case.fuzz_target, False, [], [],
- test_case.test_case_path)
- build_specified_commit.build_fuzzers_from_commit(test_case.new_commit,
+ old_result = helper.reproduce_impl(project_name=test_repo.project_name,
+ fuzzer_name=test_repo.fuzz_target,
+ valgrind=False,
+ env_to_add=[],
+ fuzzer_args=[],
+ testcase_path=test_repo.testcase_path)
+ build_specified_commit.build_fuzzers_from_commit(test_repo.project_name,
test_repo_manager,
host_src_dir, build_data)
- new_result = helper.reproduce_impl(test_case.project_name,
- test_case.fuzz_target, False, [], [],
- test_case.test_case_path)
+ new_result = helper.reproduce_impl(test_repo.project_name,
+ test_repo.fuzz_target, False, [], [],
+ test_repo.testcase_path)
self.assertNotEqual(new_result, old_result)
def test_detect_main_repo_from_commit(self):
diff --git a/infra/test_repos.py b/infra/test_repos.py
index fb12fbec5..389876864 100644
--- a/infra/test_repos.py
+++ b/infra/test_repos.py
@@ -27,7 +27,7 @@ import os
ExampleRepo = collections.namedtuple('ExampleRepo', [
'project_name', 'oss_repo_name', 'git_repo_name', 'image_location',
'git_url', 'new_commit', 'old_commit', 'intro_commit', 'fuzz_target',
- 'test_case_path'
+ 'testcase_path'
])
TEST_DIR_PATH = os.path.join(os.path.dirname(os.path.realpath(__file__)),
@@ -36,6 +36,8 @@ TEST_DIR_PATH = os.path.join(os.path.dirname(os.path.realpath(__file__)),
# WARNING: Tests are dependent upon the following repos existing and the
# specified commits existing.
# TODO(metzman): Fix this problem.
+# TODO(metzman): The testcases got deleted here because the test that used them
+# was skipped. Probably worth deleting the test.
TEST_REPOS = [
ExampleRepo(project_name='curl',
oss_repo_name='curl',
@@ -46,7 +48,7 @@ TEST_REPOS = [
new_commit='dda418266c99ceab368d723facb52069cbb9c8d5',
intro_commit='df26f5f9c36e19cd503c0e462e9f72ad37b84c82',
fuzz_target='curl_fuzzer_ftp',
- test_case_path=os.path.join(TEST_DIR_PATH, 'curl_test_data')),
+ testcase_path=os.path.join(TEST_DIR_PATH, 'curl_test_data')),
ExampleRepo(project_name='libarchive',
oss_repo_name='libarchive',
git_repo_name='libarchive',
@@ -56,8 +58,8 @@ TEST_REPOS = [
new_commit='458e49358f17ec58d65ab1c45cf299baaf3c98d1',
intro_commit='840266712006de5e737f8052db920dfea2be4260',
fuzz_target='libarchive_fuzzer',
- test_case_path=os.path.join(TEST_DIR_PATH,
- 'libarchive_test_data')),
+ testcase_path=os.path.join(TEST_DIR_PATH,
+ 'libarchive_test_data')),
ExampleRepo(project_name='gonids',
oss_repo_name='gonids',
git_repo_name='gonids',
@@ -67,7 +69,7 @@ TEST_REPOS = [
new_commit='',
intro_commit='',
fuzz_target='',
- test_case_path='')
+ testcase_path='')
]
INVALID_REPO = ExampleRepo(project_name='notaproj',
@@ -79,4 +81,4 @@ INVALID_REPO = ExampleRepo(project_name='notaproj',
new_commit='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
intro_commit='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
fuzz_target='NONEFUZZER',
- test_case_path='not/a/path')
+ testcase_path='not/a/path')