| 1 | """P4 robustness suite: crash points, fault injection, concurrency invariants.
|
| 2 |
|
| 3 | VCS-agnostic black-box harness. Subjects are driven only through their CLIs;
|
| 4 | every invariant is judged by an independent reader (stdlib SQLite for Oak's
|
| 5 | committed graph, ``oakbench.oak_sqlite_reader`` for Oak committed trees, the
|
| 6 | real Git plumbing as the Git oracle), never by the binary under test alone.
|
| 7 | See suites/robustness/README.md for the case catalog and classification.
|
| 8 | """
|
| 9 |
|
| 10 | from __future__ import annotations
|
| 11 |
|
| 12 | import sys
|
| 13 | from pathlib import Path
|
| 14 |
|
| 15 | SUITE_ROOT = Path(__file__).resolve().parents[1]
|
| 16 | REPO_ROOT = SUITE_ROOT.parents[1]
|
| 17 | _SCRIPTS = REPO_ROOT / "scripts"
|
| 18 | if str(_SCRIPTS) not in sys.path:
|
| 19 | sys.path.insert(0, str(_SCRIPTS))
|
| 20 |
|
| 21 | SUITE_VERSION = "p4-robustness-2026-09-28.1"
|
| 22 |
|
| 23 | # Case classification vocabulary (row field ``classification``).
|
| 24 | HELD = "held"
|
| 25 | VIOLATED = "violated"
|
| 26 | UNSUPPORTED = "unsupported"
|
| 27 | HARNESS_ERROR = "harness_error"
|
| 28 | CLASSIFICATIONS = (HELD, VIOLATED, UNSUPPORTED, HARNESS_ERROR)
|