diff options
Diffstat (limited to 'tests/fuzz/csmith_driver.py')
-rwxr-xr-x | tests/fuzz/csmith_driver.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/tests/fuzz/csmith_driver.py b/tests/fuzz/csmith_driver.py index ad5a7021..76d646dd 100755 --- a/tests/fuzz/csmith_driver.py +++ b/tests/fuzz/csmith_driver.py @@ -35,7 +35,13 @@ notes = { 'invalid': 0, 'unaligned': 0, 'embug': 0 } fails = 0 while 1: - opts = '-O' + str(random.randint(0, 3)) + if random.random() < 0.666: + opts = '-O' + str(random.randint(0, 3)) + else: + if random.random() < 0.5: + opts = '-Os' + else: + opts = '-Oz' print 'opt level:', opts print 'Tried %d, notes: %s' % (tried, notes) @@ -60,13 +66,13 @@ while 1: print '2) Compile natively' shared.try_delete(filename) try: - shared.check_execute([COMP, opts, fullname, '-o', filename + '1'] + CSMITH_CFLAGS + ['-w']) # + shared.EMSDK_OPTS + shared.check_execute([COMP, '-m32', opts, fullname, '-o', filename + '1'] + CSMITH_CFLAGS + ['-w']) # + shared.EMSDK_OPTS except Exception, e: print 'Failed to compile natively using clang' notes['invalid'] += 1 continue - shared.check_execute([COMP, opts, '-emit-llvm', '-c', '-Xclang', '-triple=i386-pc-linux-gnu', fullname, '-o', filename + '.bc'] + CSMITH_CFLAGS + shared.EMSDK_OPTS) + shared.check_execute([COMP, '-m32', opts, '-emit-llvm', '-c', fullname, '-o', filename + '.bc'] + CSMITH_CFLAGS + shared.EMSDK_OPTS) shared.check_execute([shared.path_from_root('tools', 'nativize_llvm.py'), filename + '.bc']) shutil.move(filename + '.bc.run', filename + '2') shared.check_execute([COMP, fullname, '-o', filename + '3'] + CSMITH_CFLAGS) @@ -115,7 +121,7 @@ while 1: print "EMSCRIPTEN BUG" notes['embug'] += 1 fails += 1 - shutil.copyfile(fullname, 'newfail%d%s' % (fails, suffix)) + shutil.copyfile(fullname, 'newfail%d%s%s' % (fails, opts.replace('-', '_'), suffix)) continue #if not ok: # try: # finally, try with safe heap. if that is triggered, this is nonportable code almost certainly |