temporalio/temporal · info
skipping long test, use TEMPORAL_TEST_LONG=1 to run
Error message
skipping long test, use TEMPORAL_TEST_LONG=1 to run
What it means
LongTest marks a test as 'long' and is skipped unless the TEMPORAL_TEST_LONG=1 environment variable is set. It first tries t.Skip on the passed handle; if the handle implements neither T() *testing.T nor Skip(...any), it panics as a last-resort signal that a long test was attempted without the env var.
Source
Thrown at common/testing/long.go:22
"os"
"strconv"
"testing"
)
// LongTest calls Skip() on the testing.T or suite unless the environment variable
// TEMPORAL_TEST_LONG is set to true.
func LongTest(t any) {
if long, _ := strconv.ParseBool(os.Getenv("TEMPORAL_TEST_LONG")); long {
return
}
if s, ok := t.(interface{ T() *testing.T }); ok {
t = s.T()
}
if s, ok := t.(interface{ Skip(...any) }); ok {
s.Skip("skipping long test, use TEMPORAL_TEST_LONG=1 to run")
}
panic("skipping long test, use TEMPORAL_TEST_LONG=1 to run")
}
View on GitHub (pinned to bde624efd1)
Solutions
- Set TEMPORAL_TEST_LONG=1 in the environment to run long tests instead of skipping.
- Omit long tests in normal runs (the intended default) and only enable the env var in dedicated long-test CI jobs.
- Pass a *testing.T (or a handle implementing Skip) to LongTest so it skips cleanly instead of panicking.
Example fix
// before longtest.LongTest(customTB) // after longtest.LongTest(t) // t is *testing.T, supports Skip // or run with: TEMPORAL_TEST_LONG=1 go test ./...
Defensive patterns
Strategy: fallback
Validate before calling
// shell
[ "${TEMPORAL_TEST_LONG:-0}" = "1" ] && echo "long tests enabled" Prevention
- Set TEMPORAL_TEST_LONG=1 only in dedicated long-test CI jobs.
- Pass a real *testing.T to LongTest so skipping is graceful.
When it happens
Trigger: Running a test that calls testing/long.LongTest(testHandle) without TEMPORAL_TEST_LONG=1 set, using a handle that lacks Skip (and lacks T()); the panic path fires when the wrapper interface is unsatisfied.
Common situations: Running `go test` locally on long integration tests; CI runs that omit TEMPORAL_TEST_LONG; passing a custom testing.TB implementation that doesn't implement Skip.
Related errors
- missing RespondWorkflowTaskCompletedRequest return
- history is nil
- history events are empty
- missing PollWorkflowTaskQueueResponse
- missing Legacy Query in PollWorkflowTaskQueueResponse
AI-assisted analysis of temporalio/temporal@bde624efd1 (2026-09-01).
Data as JSON: /api/errors/0ec07e9871018494.
Report an issue: GitHub.