From 0bdd1c31e0b3e410315d0d3b925a6a5339d5d190 Mon Sep 17 00:00:00 2001 From: z2z23n0 Date: Sat, 18 Jul 2026 01:52:28 +0800 Subject: [PATCH] fix: isolate hook performance checks --- internal/cli/cli_test.go | 11 +++++++++++ scripts/ci.sh | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/internal/cli/cli_test.go b/internal/cli/cli_test.go index ca96eee..fd81f11 100644 --- a/internal/cli/cli_test.go +++ b/internal/cli/cli_test.go @@ -785,6 +785,8 @@ func TestHookRejectsFlagPayloadEventMismatch(t *testing.T) { } func TestHookCLIWithSQLiteMeetsP95Budget(t *testing.T) { + skipHookPerformanceTestWhenRequested(t) + var seedOut, seedErr bytes.Buffer base := testOptions(t, &seedOut, &seedErr, strings.NewReader("")) paths := config.ResolveWith(base.HomeDir, base.Getenv) @@ -820,6 +822,8 @@ func TestHookCLIWithSQLiteMeetsP95Budget(t *testing.T) { } func TestHookProcessMeetsP95Budget(t *testing.T) { + skipHookPerformanceTestWhenRequested(t) + var seedOut, seedErr bytes.Buffer base := testOptions(t, &seedOut, &seedErr, strings.NewReader("")) paths := config.ResolveWith(base.HomeDir, base.Getenv) @@ -860,6 +864,13 @@ func TestHookProcessMeetsP95Budget(t *testing.T) { } } +func skipHookPerformanceTestWhenRequested(t *testing.T) { + t.Helper() + if os.Getenv("TOOLTEND_TEST_SKIP_HOOK_PERFORMANCE") == "1" { + t.Skip("hook performance tests run separately from the shared package suite") + } +} + func TestHookProcessHelper(t *testing.T) { if os.Getenv("TOOLTEND_TEST_HOOK_PROCESS") != "1" { return diff --git a/scripts/ci.sh b/scripts/ci.sh index 6e8a43f..d0e5406 100755 --- a/scripts/ci.sh +++ b/scripts/ci.sh @@ -20,5 +20,6 @@ if ! git diff --exit-code -- go.mod go.sum; then exit 1 fi "$GO_BIN" vet ./... -"$GO_BIN" test ./... +TOOLTEND_TEST_SKIP_HOOK_PERFORMANCE=1 "$GO_BIN" test ./... +"$GO_BIN" test -count=1 ./internal/cli -run '^TestHook(CLIWithSQLite|Process)MeetsP95Budget$' "$GO_BIN" build ./...