Skip to content

Refactor multi-codec integration test harness - #2308

Draft
THardy98 wants to merge 7 commits into
mainfrom
agent/multi-codec-test-harness
Draft

Refactor multi-codec integration test harness#2308
THardy98 wants to merge 7 commits into
mainfrom
agent/multi-codec-test-harness

Conversation

@THardy98

Copy link
Copy Markdown
Contributor

What was changed

This replaces the multi-codec integration helper's hidden Promise.all fan-out with explicit AVA cases. Each test declaration now produces independently reported [default] and [byte-skewer] cases, and each case receives one helper object whose client operations and Worker factory share a UUID-scoped task queue and the selected data converter.

The affected tests no longer reconstruct helpers or pass the AVA context into a separate Worker factory. The harness also cleans up partially created environments, attempts every environment teardown, and avoids running teardown when context creation failed. With the codec variants isolated, the three integration split suites are restored to the Cloud candidate set; the custom-search-attributes suite remains Cloud-pending for its separate provisioning requirement.

Why?

The Cloud run on #2281 exposed a routing collision: the default and byte-skewer variants ran concurrently on the same title-derived task queue, allowing a Worker configured for one converter to process work for the other. The resulting invalid JSON error left sibling work alive and eventually hung the suite.

The previous API made this easy to do because every test had to independently reconstruct client helpers while using a different factory for its Worker. Binding both operations to one case-scoped helper makes the correct configuration the natural path, gives each converter its own AVA result, and prevents a failed variant from stranding hidden sibling work.

Checklist

  1. Part of Run integration tests against cloud features#851. Stacked on Run Cloud-eligible integration tests by filename #2281.

  2. How was this tested:

    • All four affected suites pass locally: 132 tests, 132 passed, including both converter variants of child-workflow-termination.
    • The test-helper and test-package TypeScript builds pass independently.
    • Focused ESLint, Prettier, and git diff --check pass.
    • The Cloud inventory reports 92 candidates and includes all three restored split suites.
    • The full package build still reaches the two pre-existing ActivityExecutionStatus.PAUSED proto/type errors.
  3. Any docs updates needed?

    No. This changes internal test infrastructure only.

@THardy98
THardy98 force-pushed the agent/local-server-test-marker branch from a2d97c5 to a9649d3 Compare August 12, 2026 17:49
Base automatically changed from agent/local-server-test-marker to main August 13, 2026 20:42
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