|
14 | 14 | import sys
|
15 | 15 |
|
16 | 16 |
|
| 17 | +def get_fuzz_env(*, target): |
| 18 | + return { |
| 19 | + 'FUZZ': target, |
| 20 | + 'ASAN_OPTIONS': # symbolizer disabled due to https://github.com/google/sanitizers/issues/1364#issuecomment-761072085 |
| 21 | + 'symbolize=0:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1', |
| 22 | + } |
| 23 | + |
| 24 | + |
17 | 25 | def main():
|
18 | 26 | parser = argparse.ArgumentParser(
|
19 | 27 | formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
@@ -129,9 +137,7 @@ def main():
|
129 | 137 | os.path.join(config["environment"]["BUILDDIR"], 'src', 'test', 'fuzz', 'fuzz'),
|
130 | 138 | '-help=1',
|
131 | 139 | ],
|
132 |
| - env={ |
133 |
| - 'FUZZ': test_list_selection[0] |
134 |
| - }, |
| 140 | + env=get_fuzz_env(target=test_list_selection[0]), |
135 | 141 | timeout=20,
|
136 | 142 | check=True,
|
137 | 143 | stderr=subprocess.PIPE,
|
@@ -186,9 +192,7 @@ def job(command, t):
|
186 | 192 | ' '.join(command),
|
187 | 193 | subprocess.run(
|
188 | 194 | command,
|
189 |
| - env={ |
190 |
| - 'FUZZ': t |
191 |
| - }, |
| 195 | + env=get_fuzz_env(target=t), |
192 | 196 | check=True,
|
193 | 197 | stderr=subprocess.PIPE,
|
194 | 198 | universal_newlines=True,
|
@@ -227,9 +231,7 @@ def job(t, args):
|
227 | 231 | output = 'Run {} with args {}\n'.format(t, " ".join(args))
|
228 | 232 | output += subprocess.run(
|
229 | 233 | args,
|
230 |
| - env={ |
231 |
| - 'FUZZ': t |
232 |
| - }, |
| 234 | + env=get_fuzz_env(target=t), |
233 | 235 | check=True,
|
234 | 236 | stderr=subprocess.PIPE,
|
235 | 237 | universal_newlines=True,
|
@@ -257,7 +259,12 @@ def run_once(*, fuzz_pool, corpus, test_list, build_dir, use_valgrind):
|
257 | 259 |
|
258 | 260 | def job(t, args):
|
259 | 261 | output = 'Run {} with args {}'.format(t, args)
|
260 |
| - result = subprocess.run(args, env={'FUZZ': t}, stderr=subprocess.PIPE, universal_newlines=True) |
| 262 | + result = subprocess.run( |
| 263 | + args, |
| 264 | + env=get_fuzz_env(target=t), |
| 265 | + stderr=subprocess.PIPE, |
| 266 | + universal_newlines=True, |
| 267 | + ) |
261 | 268 | output += result.stderr
|
262 | 269 | return output, result
|
263 | 270 |
|
|
0 commit comments