Skip to content

Inventory Management analysis assertion has been failing since at least July 28, hidden by continue-on-error #1482

Description

@fabianvf

partially-migrated-apps-scenario.test.ts:434 has been failing on every infrastructure run since at least July 28. Nobody has noticed because the check still reports green.

The failure

1) [solution-server-tests] › e2e/tests/solution-server/partially-migrated-apps-scenario.test.ts:434:9
   Error: Analysis validation failed for Inventory Management: expect(received).toBe(expected)
   Expected: 2
   Received: 3

validateAnalysisResults counts .pf-v6-c-card__header-toggle elements and asserts toBe(2). It gets 3.

Seen on:

Three unrelated PRs, same assertion, same numbers, so this is deterministic rather than flaky. I have not gone back further than July 28 to find the first bad run.

Why it is invisible

test-infrastructure is continue-on-error on PRs, added in #1436 while the extension's hub auth was being migrated. So the step exits 1 and the job still reports pass:

1 failed
4 did not run
2 passed (8.1m)
##[error]Process completed with exit code 1.

Note the 4 did not run. The failure aborts the rest of the batch, so four infrastructure tests have not executed on any PR for over a week. That is the part I would fix first, independent of the assertion. Right now a green Infrastructure Tests check does not mean the infrastructure tests passed.

Likely cause

The expectation is a hardcoded count, and collect-assets pulls the rulesets release unpinned at build time, so a new rules release can add a violation and silently invalidate it. Same shape as the VS Code 1.131.0 breakage in #1480, where nothing in the repo changed but CI started failing on its own.

I have not confirmed what the third violation is yet. Will add that once I have it.

Suggested fixes

  • Work out whether 3 is correct. If it is, update the expectation, and prefer asserting on violation identity rather than a bare count so the next rules bump gives a useful error.
  • Make the infrastructure job's result honest again, or at minimum stop a single failure from skipping the remaining tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions