aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorIgor Soarez <igor@soarez.org>2026-10-24 14:41:49 +0300
committerIgor Soarez <igor@soarez.org>2026-10-24 14:41:49 +0300
commitdd3462c3cd0a7ff8dbb31c5b4e6d133a04506419 (patch)
treed43b09471d2b740ebca0294f812c4d1c6bf44602 /README.md
parente4d3bc242bd3d18aa83a76f25dcbe5cb7a2ced78 (diff)
tests/pi-live.sh: check a real pi release against dingger
runs a real pi binary on a tmux server and dingger daemon of its own, with a fake OpenAI-compatible model (tests/fake-model.py, reply delay set by the prompt) and its own pi agent directory: no network, no credentials, the user's pi untouched. plain shells, and a stop if the panes would not run the pi under test (a login shell's profile puts the user's pi first). it checks identification, the extension's state and session reports, a turn (working, then done), /reload, an extension's blocked event, screen detection for a pi without the extension, restore by session file, and exit. pi 1.4.0 and 1.0.3: 23 of 23 each. a dingger whose extension listens for a renamed event fails it. in both, a pi confirm dialog shows as not blocked: pi tells terminals (OSC 7501, which tmux does not forward) but not extensions.
Diffstat (limited to 'README.md')
-rw-r--r--README.md12
1 files changed, 11 insertions, 1 deletions
diff --git a/README.md b/README.md
index cbbbec6..41ad3f6 100644
--- a/README.md
+++ b/README.md
@@ -145,6 +145,7 @@ dingger does not need tmux running first; it attaches when a server appears.
```bash
cargo test # engine tests + herdr state-machine tests
tests/e2e.sh # end to end against an isolated tmux server
+tests/pi-live.sh <pi> # a real pi binary against dingger (new pi releases)
```
`tests/e2e.sh` starts its own tmux server, its own daemon (polling only every
@@ -157,6 +158,15 @@ ranking, selection), the status-line segment, latency with a
deliberately slow notifier, and state surviving a daemon restart. It never
touches your tmux server.
+`tests/pi-live.sh <pi binary>` checks a real pi release on a tmux server and
+daemon of its own, with a fake local model (`tests/fake-model.py`) and its
+own pi agent directory: no network, no credentials, your pi untouched. It
+covers identification, the extension's state and session reports, a turn,
+`/reload`, an extension's blocked event, screen detection without the
+extension, restore, and exit. To try a release without installing it:
+`npm install --prefix /tmp/pi-next @earendil-works/pi-coding-agent@<version>`
+(through `sfw`), then `tests/pi-live.sh /tmp/pi-next/node_modules/.bin/pi`.
+
## Layout
- `crates/detect-core`: the detection engine and 22 manifests, from herdr.
@@ -164,4 +174,4 @@ touches your tmux server.
- `menubar/`: the menu bar app (`model.swift` rows and colors, `panel.swift`
the floating panel, `hotkey.swift` the global shortcut and settings).
- `packaging/`: launchd agents and the tmux snippet.
-- `tests/e2e.sh`: the end-to-end suite.
+- `tests/e2e.sh`: the end-to-end suite; `tests/pi-live.sh`: a real pi.