From: Bernd Schubert Valgrind complains that it does not know the fsmount syscall, pytest checks for warnings, find that and fails the test --14936-- WARNING: unhandled amd64-linux syscall: 430 --14936-- You may be able to write your own handler. --14936-- Read the file README_MISSING_SYSCALL_OR_IOCTL. --14936-- Nevertheless we consider this a bug. Please report --14936-- it at http://valgrind.org/support/bug_reports.html. fuse: fsopen(fuse) failed: Function not implemented =========================== short test summary info Obviously we want to filter our valgrind warnings. Signed-off-by: Bernd Schubert --- test/conftest.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/conftest.py b/test/conftest.py index 291c9199b9860d664600638213382bd8cc182104..45e9672a92e687980ba93cb25ef711ad1c2e3633 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -67,11 +67,16 @@ class OutputChecker: cp = re.compile(pattern, flags) (buf, cnt) = cp.subn('', buf, count=count) + # Filter out Valgrind output lines before checking for suspicious words + # ==PID== prefix: Valgrind standard messages (errors, info) + # --PID-- prefix: Valgrind warnings (e.g., unhandled syscalls) + buf = re.sub(r'^==[0-9]+== .*$', '', buf, flags=re.MULTILINE) + buf = re.sub(r'^--[0-9]+-- .*$', '', buf, flags=re.MULTILINE) + patterns = [ r'\b{}\b'.format(x) for x in ('exception', 'error', 'warning', 'fatal', 'traceback', 'fault', 'crash(?:ed)?', 'abort(?:ed)', 'uninitiali[zs]ed') ] - patterns += ['^==[0-9]+== '] for pattern in patterns: cp = re.compile(pattern, re.IGNORECASE | re.MULTILINE) -- 2.43.0