[NFC] Minor SysSan improvements (#9149)

This commit is contained in:
jonathanmetzman 2022-12-13 16:40:06 -05:00 committed by GitHub
parent e43137d7ee
commit 695e99329f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 6 deletions

View File

@ -1,8 +1,8 @@
.POSIX:
CXX = clang++
CFLAGS = -std=c++17 -Wall -Wextra -O3 -g3
CFLAGS = -std=c++17 -Wall -Wextra -O3 -g3 -Werror
all: clean SystemSan target target_file target_dns
all: SystemSan target target_file target_dns
SystemSan: SystemSan.cpp inspect_dns.cpp inspect_utils.cpp
$(CXX) $(CFLAGS) -lpthread -o $@ $^

View File

@ -30,7 +30,7 @@ extern "C" int LLVMFuzzerTestOneInput(char* data, size_t size) {
struct addrinfo *result = NULL;
int s = getaddrinfo(str.c_str(), NULL, NULL, &result);
getaddrinfo(str.c_str(), NULL, NULL, &result);
if (result) {
freeaddrinfo(result);
}

View File

@ -402,6 +402,14 @@ def run_tests(_=None, parallel=False, build_tests=True, nonbuild_tests=True):
return nonbuild_success and build_success
def run_systemsan_tests(_=None):
"""Runs SystemSan unit tests."""
command = ['make', 'test']
return subprocess.run(command,
cwd='infra/experimental/SystemSan',
check=False).returncode == 0
def get_all_files():
"""Returns a list of absolute paths of files in this repo."""
get_all_files_command = ['git', 'ls-files']
@ -413,9 +421,10 @@ def main():
"""Check changes on a branch for common issues before submitting."""
# Get program arguments.
parser = argparse.ArgumentParser(description='Presubmit script for oss-fuzz.')
parser.add_argument('command',
choices=['format', 'lint', 'license', 'infra-tests'],
nargs='?')
parser.add_argument(
'command',
choices=['format', 'lint', 'license', 'infra-tests', 'systemsan-tests'],
nargs='?')
parser.add_argument('-a',
'--all-files',
action='store_true',
@ -466,6 +475,10 @@ def main():
nonbuild_tests=(not args.skip_nonbuild_tests))
return bool_to_returncode(success)
if args.command == 'systemsan-tests':
success = run_systemsan_tests(relevant_files)
return bool_to_returncode(success)
# Do all the checks (but no tests).
success = do_checks(relevant_files)