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

  1. Set TEMPORAL_TEST_LONG=1 in the environment to run long tests instead of skipping.
  2. Omit long tests in normal runs (the intended default) and only enable the env var in dedicated long-test CI jobs.
  3. 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

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


AI-assisted analysis of temporalio/temporal@bde624efd1 (2026-09-01). Data as JSON: /api/errors/0ec07e9871018494. Report an issue: GitHub.