diff options
| author | Igor Soarez <igor@soarez.org> | 2026-10-24 14:41:49 +0300 |
|---|---|---|
| committer | Igor Soarez <igor@soarez.org> | 2026-10-24 14:41:49 +0300 |
| commit | dd3462c3cd0a7ff8dbb31c5b4e6d133a04506419 (patch) | |
| tree | d43b09471d2b740ebca0294f812c4d1c6bf44602 /README.md | |
| parent | e4d3bc242bd3d18aa83a76f25dcbe5cb7a2ced78 (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.md | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -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. |
