diff --git a/scripts/scenarios/start-app.ts b/scripts/scenarios/start-app.ts index 63f9cb9ddd..03fffe61ad 100644 --- a/scripts/scenarios/start-app.ts +++ b/scripts/scenarios/start-app.ts @@ -63,6 +63,16 @@ export const prepareHome = Effect.fn("startApp.prepareHome")(function* (home: st yield* fs.writeFileString(shim, HOST_LABEL_SHIM); yield* fs.chmod(shim, 0o755); } + const probeShim = path.join(home, "bin/systemd-run"); + const fault = path.join(home, "probe-stalled"); + yield* fs.writeFileString(fault, process.env.T3_SCOPE_VARIANT ?? "both"); + yield* fs.writeFileString(probeShim, `#!/bin/sh +case "$*" in + *"-- true") if [ -f "${fault}" ]; then case "$(cat "${fault}"):$*" in both:*|oom:*OOMPolicy=stop*) sleep 30; exit 1;; esac; fi ;; +esac +exec /usr/bin/systemd-run "$@" +`); + yield* fs.chmod(probeShim, 0o755); const noModel = path.join(home, "bin/no-model"); yield* fs.writeFileString(noModel, "#!/bin/sh\necho 'scenarios run no model' >&2\nexit 1\n"); yield* fs.chmod(noModel, 0o755);