Skip to content

fix(workflows): also exclude *AbstractTest.php suffix from Mage-OS suite#374

Merged
mage-os-ci merged 3 commits into
mage-os:mainfrom
rhoerr:fix/full-integration-tests-exclude-abstract-tests
May 17, 2026
Merged

fix(workflows): also exclude *AbstractTest.php suffix from Mage-OS suite#374
mage-os-ci merged 3 commits into
mage-os:mainfrom
rhoerr:fix/full-integration-tests-exclude-abstract-tests

Conversation

@rhoerr
Copy link
Copy Markdown
Contributor

@rhoerr rhoerr commented May 17, 2026

Summary

Extends the abstract-test exclusion in full-integration-tests.yaml to also match the suffix form *AbstractTest.php. The prior commit only handled the Abstract*Test.php prefix form.

Why

PHPUnit 12 treats abstract test classes discovered via <directory> as runner warnings, which the integration job interprets as exit code 1 — turning shards red even when all concrete tests pass.

Upstream Magento ships 6 abstract base classes with the suffix form that the previous glob missed:

  • dev/tests/integration/testsuite/Magento/PaypalGraphQl/PaypalExpressAbstractTest.php
  • dev/tests/integration/testsuite/Magento/PaypalGraphQl/PaypalPayflowProAbstractTest.php
  • dev/tests/integration/testsuite/Magento/ImportExport/Model/Import/EntityAbstractTest.php
  • dev/tests/integration/testsuite/Magento/ImportExport/Model/Export/EntityAbstractTest.php
  • dev/tests/integration/testsuite/Magento/ImportExport/Model/Import/Entity/EntityAbstractTest.php
  • dev/tests/integration/testsuite/Magento/ImportExport/Model/Import/Entity/EavAbstractTest.php

These were the root cause of 14 of the 21 red shards in mage-os/mageos-magento2 run 25980469684 (release/3.x full integration suite).

Change

- find "$dir" -type f -name 'Abstract*Test.php' -print
+ find "$dir" -type f \( -name 'Abstract*Test.php' -o -name '*AbstractTest.php' \) -print

Test plan

  • Re-run the full integration test suite on release/3.x of mageos-magento2 after merge and confirm the 14 abstract-warning shards turn green.

rhoerr added 2 commits May 16, 2026 23:28
PHPUnit 12 treats discovered Abstract*Test.php files as runner warnings,
which the integration job interprets as exit code 1 even when all concrete
tests pass. Generate <exclude> entries for any Abstract*Test.php inside
the included shards. Also fix unescaped backticks in the trailing echo so
bash no longer logs "integrationIgnore: command not found".
Prior commit only matched Abstract*Test.php prefix; upstream Magento
also ships abstract bases with the suffix form (PaypalExpressAbstractTest,
EntityAbstractTest, EavAbstractTest, etc.), which still trip PHPUnit 12
runner warnings and turn shards red.
@rhoerr rhoerr requested a review from a team as a code owner May 17, 2026 04:35
@mage-os-ci mage-os-ci merged commit bded228 into mage-os:main May 17, 2026
1 check passed
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.

2 participants