Skip to content

Enhanced test fixtures for integration tests.#1834

Open
jglogan wants to merge 1 commit into
apple:mainfrom
jglogan:clitest-refactor
Open

Enhanced test fixtures for integration tests.#1834
jglogan wants to merge 1 commit into
apple:mainfrom
jglogan:clitest-refactor

Conversation

@jglogan

@jglogan jglogan commented Jun 26, 2026

Copy link
Copy Markdown
Contributor
  • Part of [Request]: Integration tests are fail frequently and are difficult to maintain. #1833.
  • Adds ContainerFixture with scoped resource lifecycle and cleanup in place of implementation inheritance for test support functions. The fixture also handles resource prefixing and uses a more ergonomic CommandResult in place of a tuple for return values.
  • ImageWarmup suite pre-pulls well-known images, and copyWarmupImage() tags test-local refs, keeping the canonical image store untouched.
  • Three-phase integration-new: warmup, followed by concurrent tests (managed by the swift test --experimental-maximum-parallelization-width flag), followed by serialized tests.
  • coverage-new merges unit + integration-new profraw, replacing coverage in CI as a migration progress indicator.
  • Updates GH workflow so non-coverage invokes both the integration and integration-new Makefile targets, while coverage runs invoke the coverage-new target.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

Motivation and Context

Recent CI integration test issues and test time increase, especially after adding container machine tests.

Testing

  • Tested locally
  • Added/updated tests
  • Added/updated docs

@github-actions github-actions Bot added the ci label Jun 26, 2026
@jglogan jglogan force-pushed the clitest-refactor branch 3 times, most recently from 705a335 to b92d19b Compare June 26, 2026 02:40
- Adds `ContainerFixture` with scoped resource lifecycle
  and cleanup in place of implementation inheritance for
  test support functions. The fixture also handles
  resource prefixing and uses a more ergonomic
  `CommandResult` in place of a tuple for return values.
- `ImageWarmup` suite pre-pulls well-known images, and
  `copyWarmupImage()` tags test-local refs, keeping the
  canonical image store untouched.
- Three-phase `integration-new`: warmup, followed by
  concurrent tests (managed by the swift test
  `--experimental-maximum-parallelization-width` flag),
  followed by serialized tests.
- `coverage-new` merges unit + integration-new profraw,
  replacing `coverage` in CI as a migration progress
  indicator.
- Updates GH workflow so non-coverage invokes both the
  `integration` and `integration-new` Makefile targets,
  while coverage runs invoke the `coverage-new` target.
@jglogan jglogan force-pushed the clitest-refactor branch from b92d19b to 529f6c4 Compare June 26, 2026 04:32
@github-actions

Copy link
Copy Markdown

Code Coverage

Tier Line Coverage
Unit 33.37%
Integration 0.62%
Combined 33.99%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant