Skip to content

fix(tia): fingerprint the configuration file in use - #1861

Open
lazerg wants to merge 1 commit into
pestphp:5.xfrom
lazerg:fix/tia-fingerprint-active-configuration
Open

fix(tia): fingerprint the configuration file in use#1861
lazerg wants to merge 1 commit into
pestphp:5.xfrom
lazerg:fix/tia-fingerprint-active-configuration

Conversation

@lazerg

@lazerg lazerg commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

What:

  • Bug Fix
  • New Feature

Description:

The TIA fingerprint hashed phpunit.xml and phpunit.xml.dist by name, so -c / --configuration never reached it. pest --tia and pest --tia -c alternate.xml shared one graph even though the two files can declare different testsuites, excluded groups, bootstrap and source roots, and results recorded under one config were replayed under the other.

compute() now takes the run's arguments and hashes whatever configuration the run actually resolves: the -c value when there is one (file or directory), otherwise phpunit.xml falling back to phpunit.xml.dist. The active config is hashed whether or not git tracks it, since an untracked local phpunit.xml still decides what the run does.

I checked this against a scaffolded project with a seeded graph. Before, --tia -c alternate.xml replayed all six cached results; after, it drops the graph and re-records, and plain --tia, -c phpunit.xml and -c ./ all still replay.

Happy to add a tests/Features/Tia scenario for it if you want one.

Related:

Fixes #1858.

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.

TIA: the fingerprint ignores the config actually in use (-c / --configuration)

1 participant