Skip to content

Commit e2cead9

Browse files
[CFL] Set CLUSTERFUZZLITE variable when building and running
Related: #77
1 parent bc831da commit e2cead9

File tree

5 files changed

+16
-7
lines changed

5 files changed

+16
-7
lines changed

infra/cifuzz/base_runner_utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ def get_env(config, workspace):
2626
env['FUZZING_LANGUAGE'] = config.language
2727
env['OUT'] = workspace.out
2828
env['CIFUZZ'] = 'True'
29+
env['CLUSTERFUZZLITE'] = 'True'
2930
env['FUZZING_ENGINE'] = config_utils.DEFAULT_ENGINE
3031
env['ARCHITECTURE'] = config_utils.DEFAULT_ARCHITECTURE
3132
# Do this so we don't fail in tests.

infra/cifuzz/build_fuzzers_test.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ class BuildFuzzersTest(unittest.TestCase):
6464
@mock.patch('repo_manager._clone', return_value=None)
6565
@mock.patch('continuous_integration.checkout_specified_commit')
6666
@mock.patch('helper.docker_run', return_value=False) # We want to quit early.
67-
def test_cifuzz_env_var(self, mock_docker_run, _, __, ___):
68-
"""Tests that the CIFUZZ env var is set."""
67+
def test_cifuzz_clusterfuzzlite_env_var(self, mock_docker_run, _, __, ___):
68+
"""Tests that the CIFUZZ and CLUSTERFUZZLITE env vars are set."""
6969

7070
with tempfile.TemporaryDirectory() as tmp_dir:
7171
build_fuzzers.build_fuzzers(
@@ -87,6 +87,8 @@ def command_has_env_var_arg(command, env_var_arg):
8787
return False
8888

8989
self.assertTrue(command_has_env_var_arg(docker_run_command, 'CIFUZZ=True'))
90+
self.assertTrue(
91+
command_has_env_var_arg(docker_run_command, 'CLUSTERFUZZLITE=True'))
9092

9193

9294
class InternalGithubBuildTest(unittest.TestCase):

infra/cifuzz/docker.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
# Default fuzz configuration.
3030
_DEFAULT_DOCKER_RUN_ARGS = [
3131
'-e', 'FUZZING_ENGINE=' + constants.DEFAULT_ENGINE, '-e',
32-
'ARCHITECTURE=' + constants.DEFAULT_ARCHITECTURE, '-e', 'CIFUZZ=True'
32+
'ARCHITECTURE=' + constants.DEFAULT_ARCHITECTURE, '-e', 'CIFUZZ=True', '-e',
33+
'CLUSTERFUZZLITE=True'
3334
]
3435

3536
EXTERNAL_PROJECT_IMAGE = 'external-project'

infra/cifuzz/docker_test.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ def test_get_base_docker_run_args_container(self, _):
7373
'-e',
7474
'CIFUZZ=True',
7575
'-e',
76+
'CLUSTERFUZZLITE=True',
77+
'-e',
7678
f'SANITIZER={SANITIZER}',
7779
'-e',
7880
f'FUZZING_LANGUAGE={LANGUAGE}',
@@ -92,8 +94,9 @@ def test_get_base_docker_run_args_no_container(self, _):
9294
self.assertEqual(docker_container, None)
9395
expected_docker_args = [
9496
'-e', 'FUZZING_ENGINE=libfuzzer', '-e', 'ARCHITECTURE=x86_64', '-e',
95-
'CIFUZZ=True', '-e', f'SANITIZER={SANITIZER}', '-e',
96-
f'FUZZING_LANGUAGE={LANGUAGE}', '-e', f'OUT={WORKSPACE.out}', '-v',
97+
'CIFUZZ=True', '-e', 'CLUSTERFUZZLITE=True',
98+
'-e', f'SANITIZER={SANITIZER}', '-e', f'FUZZING_LANGUAGE={LANGUAGE}',
99+
'-e', f'OUT={WORKSPACE.out}', '-v',
97100
f'{WORKSPACE.workspace}:{WORKSPACE.workspace}'
98101
]
99102
self.assertEqual(docker_args, expected_docker_args)
@@ -112,8 +115,9 @@ def test_get_base_docker_run_command_no_container(self, _):
112115
expected_docker_command = [
113116
'docker', 'run', '--rm', '--privileged', '-e',
114117
'FUZZING_ENGINE=libfuzzer', '-e', 'ARCHITECTURE=x86_64', '-e',
115-
'CIFUZZ=True', '-e', f'SANITIZER={SANITIZER}', '-e',
116-
f'FUZZING_LANGUAGE={LANGUAGE}', '-e', f'OUT={WORKSPACE.out}', '-v',
118+
'CIFUZZ=True', '-e', 'CLUSTERFUZZLITE=True', '-e',
119+
f'SANITIZER={SANITIZER}', '-e', f'FUZZING_LANGUAGE={LANGUAGE}', '-e',
120+
f'OUT={WORKSPACE.out}', '-v',
117121
f'{WORKSPACE.workspace}:{WORKSPACE.workspace}'
118122
]
119123
self.assertEqual(docker_args, expected_docker_command)

infra/cifuzz/generate_coverage_report_test.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ def test_run_coverage_command(self, mock_execute): # pylint: disable=no-self-us
4343
'FUZZING_LANGUAGE': config.language,
4444
'OUT': workspace.out,
4545
'CIFUZZ': 'True',
46+
'CLUSTERFUZZLITE': 'True',
4647
'FUZZING_ENGINE': 'libfuzzer',
4748
'ARCHITECTURE': 'x86_64',
4849
'FUZZER_ARGS': '-rss_limit_mb=2560 -timeout=25',

0 commit comments

Comments
 (0)