You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
972 B

import os
import subprocess
from testutils import cppcheck
__script_dir = os.path.dirname(os.path.abspath(__file__))
def test_fuzz_crash():
failures = {}
fuzz_crash_dir = os.path.join(__script_dir, 'fuzz-crash')
for f in os.listdir(fuzz_crash_dir):
ret, stdout, _ = cppcheck(['-q', '--language=c++', '--enable=all', '--inconclusive', f], cwd=fuzz_crash_dir)
if ret != 0:
failures[f] = stdout
assert failures == {}
def test_fuzz_timeout():
failures = []
fuzz_timeout_dir = os.path.join(__script_dir, 'fuzz-timeout')
# TODO: remove check if we have test data
if not os.path.exists(fuzz_timeout_dir):
return
for f in os.listdir(fuzz_timeout_dir):
try:
ret, stdout, _ = cppcheck(['-q', '--language=c++', '--enable=all', '--inconclusive', f], cwd=fuzz_timeout_dir, timeout=5)
except subprocess.TimeoutExpired:
failures.append(f)
assert failures == []