summaryrefslogtreecommitdiff
path: root/9player/test/adversarial.sh
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-19 21:26:05 -0300
committerGabriel Schneider <[email protected]>2026-09-19 21:26:05 -0300
commitb05abcba3ea09ea106ad28364c6e40a3ec31b890 (patch)
tree9170fac5e7e5d8bde108de34a182aaa9d6844117 /9player/test/adversarial.sh
parentae310a207534b33b7321dd2b9f423a73b1969159 (diff)
downloadcloud9-b05abcba3ea09ea106ad28364c6e40a3ec31b890.tar.gz
cloud9-b05abcba3ea09ea106ad28364c6e40a3ec31b890.zip
Add 9player and introspect as programs beside the library
9player/: FUSE mount CLI that mounts a 9P2000 tree into a fresh user+mount namespace and runs a program in it (no root, no libfuse, no libc). introspect/: the 9P debug/introspection library (freestanding core, value renderers, Linux probe with threads/stacks/memory/breakpoints/panics) and its demo server. Each has its own build fragment; the root build.zig wires them behind -D9player/-Dintrospect with namespaced steps (9player-itest, introspect-check-freestanding, programs-test, ...) and exports the introspect module for dependents. This is the layout for related programs. Co-Authored-By: Claude Fable 5.1 <[email protected]>
Diffstat (limited to '9player/test/adversarial.sh')
-rwxr-xr-x9player/test/adversarial.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/9player/test/adversarial.sh b/9player/test/adversarial.sh
new file mode 100755
index 0000000..857af14
--- /dev/null
+++ b/9player/test/adversarial.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+# Runs every 9player adversarial suite in sequence (hostile servers, FUSE
+# semantics, process/namespace edge cases, stress). The suites aimed at the
+# introspect server itself live in introspect/test (zig build introspect-adv).
+# Usage: bash 9player/test/adversarial.sh <9player> <introspect> (zig build 9player-adv)
+set -u
+PLAYER=${1:?path to 9player}
+INTROSPECT=${2:?path to introspect}
+HERE=$(cd "$(dirname "$0")" && pwd)
+status=0
+for suite in adv_ns_process adv_bridge_hostile adv_bridge_semantics adv_bridge_stress; do
+ echo "### $suite"
+ if bash "$HERE/$suite.sh" "$PLAYER" "$INTROSPECT"; then echo "### $suite: ok"; else echo "### $suite: FAILED"; status=1; fi
+done
+exit $status