benchmarksPublic
benchmarksPublic
Commit 36943587
M
scripts/oakbench/conformance_gate.py
@@ -78,6 +78,25 @@
7878
*("".join(_rng.choice(string.ascii_letters + string.digits + string.punctuation + " ")7979
for _ in range(_rng.randint(1, 60))) for _ in range(24)))8080
del _rng81+
# Subject-shaped sentinels: real conformance leg details look like82+
# "oak <cmd> exited N: error: ..." (legacy: "command (...) failed (N): b'...'"),83+
# so a pattern like `oak .* exited \d+: .*` or `.*error: .*` would swallow a panic,84+
# a corrupt store or a server 500 in that exact shape. None may match.85+
_BAD_ERRORS = ("thread 'main' panicked at src/main.rs:1:1", "error: corrupt object 0123abcd",86+
"error: Database error: database disk image is malformed",87+
"error: Server error: HTTP 500 Internal Server Error: internal error",88+
"error: Database error: unable to open database file", "fatal: bad object HEAD")89+
_COMMANDS = ("oak commit --no-verify", "oak push --repo", "oak clone conformance/r1-2", "oak pull", "oak status",90+
"git commit -q", "git push -q", "git clone -q", "git pull -q")91+
SUBJECT_SENTINELS = tuple(92+
[f"{cmd} exited {rc}: {err}" for cmd in _COMMANDS for rc in (1, 2, 6, 101, 128) for err in _BAD_ERRORS]93+
+ [f"command ('commit', '--no-verify') failed ({rc}): b\"{err}\\n\"" for rc in (1, 2, 101)94+
for err in _BAD_ERRORS]95+
+ [f"command ('commit', '--no-verify') failed ({rc}): b'{err}\\n'" for rc in (1, 2, 101)96+
for err in _BAD_ERRORS if "'" not in err]97+
+ [err for err in _BAD_ERRORS] + [f"oak: {err}" for err in _BAD_ERRORS])98+
SENTINELS = SENTINELS + SUBJECT_SENTINELS99+
del _BAD_ERRORS, _COMMANDS81100
82101
83102
def _has_literal(parsed) -> bool:
M
suites/merge/README.md
Loading diff…
M
suites/merge/mergesuite/runner.py
Loading diff…
M
suites/merge/run_merge_suite.py
Loading diff…
M
suites/robustness/README.md
Loading diff…
M
suites/robustness/robustness/engine.py
Loading diff…
M
suites/robustness/robustness/envfaults.py
Loading diff…
M
suites/robustness/run_robustness.py
Loading diff…
M
tests/test_conformance_gate.py
Loading diff…
M
tests/test_merge_suite.py
Loading diff…
M
tests/test_robustness_invariants.py
Loading diff…