Files
wehub-resource-sync 26f897c1ec
release / release-please (push) Failing after 1m49s
docs / build (push) Failing after 6m34s
release / build-and-upload (arm64, linux) (push) Has been cancelled
release / build-and-upload (arm64, windows) (push) Has been cancelled
release / build-darwin (amd64, darwin) (push) Has been cancelled
release / checksums (push) Has been cancelled
release / finalize (push) Has been cancelled
release / build-darwin (arm64, darwin) (push) Has been cancelled
release / build-and-upload (amd64, linux) (push) Has been cancelled
release / build-and-upload (amd64, windows) (push) Has been cancelled
docs / deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:34:16 +08:00

40 lines
1.0 KiB
Go

package intent
import (
"context"
"os"
"testing"
)
func TestPiReader_RealLocalSessions(t *testing.T) {
if os.Getenv("NM_TEST_REAL_PI") != "1" {
t.Skip("set NM_TEST_REAL_PI=1 to validate against local ~/.pi/agent/sessions")
}
home, err := os.UserHomeDir()
if err != nil {
t.Fatalf("home: %v", err)
}
sessions, err := NewPiReader().Discover(context.Background(), DiscoverOpts{HomeDir: home})
if err != nil {
t.Fatalf("discover real Pi sessions: %v", err)
}
if len(sessions) == 0 {
t.Fatal("no real Pi sessions discovered")
}
loaded := 0
messages := 0
for _, s := range sessions {
if err := NewPiReader().Load(context.Background(), s); err != nil {
t.Fatalf("load real Pi session %q: %v", s.SessionID, err)
}
if len(s.Messages) > 0 {
loaded++
messages += len(s.Messages)
}
}
if loaded == 0 {
t.Fatal("real Pi sessions loaded but produced no user/assistant messages")
}
t.Logf("loaded %d/%d real Pi sessions with %d extracted user/assistant messages", loaded, len(sessions), messages)
}