diff options
author | 2016-09-27 13:09:34 -0700 | |
---|---|---|
committer | 2016-09-28 11:41:14 -0700 | |
commit | f2cad3f0cc95c9e15732ea86524aeb24dbdd985f (patch) | |
tree | fa3fc0ea5d15a811da4a3ba95d6b6bd14cd4911b | |
parent | 7f7fb9c0dcb5fc0ed251b3f9bb775de5278534a7 (diff) |
Gather divergences in single directory
Gather all divergences in a single directory to make investigating
them easier.
Test: ./run_jfuzz_test_nightly.py
Change-Id: I0fcdfb2f99e33d8bce444e5d5bf5092f282f03b1
-rwxr-xr-x | tools/jfuzz/run_jfuzz_test_nightly.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/jfuzz/run_jfuzz_test_nightly.py b/tools/jfuzz/run_jfuzz_test_nightly.py index cd338fb136..29595f2886 100755 --- a/tools/jfuzz/run_jfuzz_test_nightly.py +++ b/tools/jfuzz/run_jfuzz_test_nightly.py @@ -16,9 +16,14 @@ import argparse import os +import re +import shutil import subprocess import sys +from glob import glob + +from tempfile import mkdtemp from tempfile import TemporaryFile # Default arguments for run_jfuzz_test.py. @@ -51,15 +56,29 @@ def main(argv): for proc in processes: proc.kill() # Output results. + output_dirs = [] for i, output_file in enumerate(output_files): output_file.seek(0) output_str = output_file.read().decode('ascii') output_file.close() + # Extract output directory. Example match: 'Directory : /tmp/tmp8ltpfjng'. + directory_match = re.search(r'Directory[^:]*: ([^\n]+)\n', output_str) + if directory_match: + output_dirs.append(directory_match.group(1)) print('Tester', i) if output_str.find(SUCCESS_STRING) == NOT_FOUND: print(output_str) else: print(SUCCESS_STRING) + # Gather divergences. + global_out_dir = mkdtemp('jfuzz_nightly') + divergence_nr = 1 + for out_dir in output_dirs: + for divergence_dir in glob(out_dir + '/divergence*/'): + shutil.copytree(divergence_dir, + global_out_dir + '/divergence' + str(divergence_nr)) + divergence_nr += 1 + print('Global output directory:', global_out_dir) if __name__ == '__main__': main(sys.argv) |