Skip to content

[Bug]: In TIA mode on Windows there's a 1 minute execution overhead, even 100% of tests are replayed and Pest reports "just 2 seconds" #1880

Description

@agnius-vasiliauskas-di

What Happened

Pest reporting about execution time in TIA mode when many files are changed, but none actually should invoke real test iteration just a replay- do not match actual real execution time (say reported by time command). Action goes on Windows.

How to Reproduce

  1. On Windows OS, change 100 test files slightly with no actual influential changes (like add spaces, comments etc).
  2. Run pest --parallel --tia
  3. Observe 20x-50x times execution penalty, i.e. What Pest reports in "Duration" column and how much Pest process execution actually took (reported with time utility or by other means)

Expected results:
Real execution time should match the one Pest reports. So there's a probable execution overhead on windows when many files are changed, but very tiny amount of them (or none at all) actually leads to a test execution, i,.e. TIA replays most of results.

Sample Repository

No response

Pest Version

5.1.1

PHP Version

8.4.19

Operation System

Windows

Notes

Suggested resolution. I am suspecting that most overhead in windows comes from making many calls to "git show" or similar git commands which fetches actual changes file-by-file. If so, scanning could be done by streaming changes of many objects in one go with git cat-file --batch or similar.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions