diff --git a/test/unit/test_cluster_fuzz.py b/test/unit/test_cluster_fuzz.py index ce5b5421669..60a07a5c67c 100644 --- a/test/unit/test_cluster_fuzz.py +++ b/test/unit/test_cluster_fuzz.py @@ -454,8 +454,20 @@ def test_file_contents(self): # rare, and in a sense they are actually unuseful). if proc.returncode == 0 and b'[fuzz-exec] calling ' in proc.stdout: valid_executions += 1 - - print('Valid executions are distributed as ~ mean 0.99') + else: + print('====') + print('invalid execution, returncode: ', proc.returncode) + print('stdout:') + print(proc.stdout) + print('stderr:') + print(proc.stderr) + print('====') + + # We do not want valid executions to be 100%, as some amount of + # traps during startup are interesting (VMs can have bugs there), + # but the vast majority should be valid. (Startup traps can include + # null descriptors, segments out of bounds, etc.) + print('Valid executions are distributed as ~ mean 0.95') print(f'mean valid executions: {valid_executions / N}') # Assert on having at least half execute properly. Given the true mean # is 0.9, for half of 100 to fail is incredibly unlikely.