Skip to content

Backfill parameterized unit tests for version-label-sensitive CLI / acquisition code paths #17318

@joperezr

Description

@joperezr

Follow-up to #15681 / #15335.

Now that PR builds stay on prerelease versions (with the new stabilization_check job exercising stable shape only in a dedicated CI lane), the bulk of Aspire test execution against stable-versioned Aspire assemblies happens in that one lane and in the eventual stabilization PR. Code paths in the CLI / acquisition layers that branch on prerelease-vs-stable (e.g. IsPrerelease, channel detection, update-check, template version pinning) historically only get coverage when stabilization is on.

Action: audit src/Aspire.Cli/ and the acquisition code (get-aspire-cli*.{sh,ps1} + their test fixtures) for branches that depend on whether a SemVer string is stable. For each, add unit/theory tests that feed in:

  • 13.4.0 (clean stable)
  • 13.4.0-dev.123 (Arcade dev build)
  • 13.4.0-preview.1.123
  • 13.4.0-pr.NNNNN.gSHA-dev.NNNNN (PR build with version suffix)
  • 13.4.0-rc.1

so the logic is exercised against the full space of version-label shapes regardless of the build flavor the test binary happened to be packed under.

Why this matters: even with the new stabilization_check job catching pack-time NU5104 + restore-against-stable-feed smoke, version-label-sensitive logic in the CLI is still only run against the prerelease label in regular PR CI. Backfilling parameterized theories closes the gap independent of CI build flavor.

Out of scope for #15681 — that PR is already cross-cutting and adding test backfill there would balloon the diff.

Originally raised as M1 in the discussion on #15681.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions