Skip to content

test: fix flaky tests & improve overall test dx#623

Merged
alexluong merged 13 commits into
fix-tenant-updated-atfrom
tests
Jan 15, 2026
Merged

test: fix flaky tests & improve overall test dx#623
alexluong merged 13 commits into
fix-tenant-updated-atfrom
tests

Conversation

@alexluong

@alexluong alexluong commented Jan 14, 2026

Copy link
Copy Markdown
Collaborator
  • always use testcontainer for test suite requiring Redis (Dragonfly) with RediSearch capability
  • skip compat test suite by default, only run full compat suite with TESTCOMPAT=1 flag
  • improve make test DX using ./scripts/test.sh

@vercel

vercel Bot commented Jan 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
outpost-docs Ready Ready Preview, Comment Jan 15, 2026 5:23am
outpost-website Ready Ready Preview, Comment Jan 15, 2026 5:23am

@vercel vercel Bot temporarily deployed to Preview – outpost-website January 14, 2026 18:05 Inactive
@vercel vercel Bot temporarily deployed to Preview – outpost-docs January 14, 2026 18:06 Inactive
@vercel vercel Bot temporarily deployed to Preview – outpost-website January 14, 2026 18:49 Inactive
@vercel vercel Bot temporarily deployed to Preview – outpost-website January 14, 2026 18:50 Inactive
@vercel vercel Bot temporarily deployed to Preview – outpost-docs January 14, 2026 18:51 Inactive
@vercel vercel Bot temporarily deployed to Preview – outpost-website January 14, 2026 18:51 Inactive
@alexluong alexluong changed the title test: fix flaky tests test: fix flaky tests & improve overall test dx Jan 14, 2026
@alexluong alexluong changed the base branch from main to fix-tenant-updated-at January 15, 2026 04:59
alexluong and others added 12 commits January 15, 2026 12:00
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The batching exporter could cause spans to not be flushed before
assertions ran, leading to intermittent test failures when running
multiple packages in parallel.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@vercel vercel Bot temporarily deployed to Preview – outpost-website January 15, 2026 05:10 Inactive
@vercel vercel Bot temporarily deployed to Preview – outpost-docs January 15, 2026 05:11 Inactive
Change TEST default from $(go list ./...) to ./... to fix
"malformed import path: invalid char '\n'" error.

The go list command outputs newline-separated packages which
breaks when passed as an environment variable to scripts/test.sh.
Using the glob pattern ./... lets gotestsum handle expansion internally.

Issue surfaced during cherry-pick conflict resolution when test
targets were refactored to use scripts/test.sh.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@vercel vercel Bot temporarily deployed to Preview – outpost-website January 15, 2026 05:22 Inactive
@vercel vercel Bot temporarily deployed to Preview – outpost-docs January 15, 2026 05:23 Inactive
@alexluong alexluong merged commit cce882f into fix-tenant-updated-at Jan 15, 2026
4 checks passed
@alexluong alexluong deleted the tests branch January 15, 2026 05:25
alexluong added a commit that referenced this pull request Jan 15, 2026
* fix: set updated_at on tenant creation

The PUT tenant endpoint returned a nullish updated_at (0001-01-01T00:00:00Z)
when creating a new tenant because UpdatedAt wasn't initialized. Now both
CreatedAt and UpdatedAt are set to the same timestamp on creation.

* fix: set updated_at on destination creation

* test: verify updated_at in creation response directly

The e2e test was checking timestamps after a GET request, which would
pass due to entity store fallbacks. Now checks the PUT/POST response
directly to catch bugs where updated_at isn't set before returning.

* test: fix flaky tests & improve overall test dx (#623)

* chore: ignore .envrc for personal direnv usage

* refactor: use dedicated testcontainers for RediSearch tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* test: skip redundant backend tests by default (TESTCOMPAT=1)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* perf: parallelize e2e tests, skip redundant PG suite

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* test: add fail-fast to e2e suite, use require over assert

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: use synchronous span export in test tracer to prevent flaky tests

The batching exporter could cause spans to not be flushed before
assertions ran, leading to intermittent test failures when running
multiple packages in parallel.

* refactor: add scripts/test.sh with core test runner logic

* refactor: add unit, e2e, and full commands to test.sh

* refactor: simplify Makefile test targets to use scripts/test.sh

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: update test.md for unified test runner

* docs: testinfra explanation

* chore: remove `make test/integration`

* fix: use glob pattern for TEST default in Makefile

Change TEST default from $(go list ./...) to ./... to fix
"malformed import path: invalid char '\n'" error.

The go list command outputs newline-separated packages which
breaks when passed as an environment variable to scripts/test.sh.
Using the glob pattern ./... lets gotestsum handle expansion internally.

Issue surfaced during cherry-pick conflict resolution when test
targets were refactored to use scripts/test.sh.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

* chore: add gofmt check to build target

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant