You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Running multiple processes of pest in parallel create a crash with "ShouldNotHappen" for "vendor/pestphp/pest/.temp/coverage.php".
e.g. first process deletes the coverage.php from the second process
Using "--cache-directory=/tmp/foo" still writes coverage.php to "vendor/pestphp/pest/.temp/coverage.php".
Ideally, pest should not write into "vendor/*".
My recommendation:
write coverage.php to "--cache-directory" if given
if coverage.php cannot be written, stop with an error
How to Reproduce
e.g. use "--cache-directory=/tmp/foo" and make vendor/pestphp/pest/.temp/ readonly
Expectation:
coverage.php gets written to /tmp/foo/coverage.php
Output:
Pest\Exceptions\ShouldNotHappen
This should not happen - please create an new issue here: https://github.com/pestphp/pest.
Issue: Coverage not found in path: xxx/vendor/pestphp/pest/.temp/coverage.php.
PHP version: 8.4.1
Operating system: Linux
at vendor/pestphp/pest/src/Exceptions/ShouldNotHappen.php:37
33▕ * Creates a new instance of should not happen without a specific exception.
34▕ */
35▕ public static function fromMessage(string $message): ShouldNotHappen
36▕ {
➜ 37▕ return new ShouldNotHappen(new Exception($message));
38▕ }
39▕ }
40▕
+1 vendor frames
1 vendor/pestphp/pest/src/Support/Coverage.php:88
Pest\Exceptions\ShouldNotHappen::fromMessage()
+1 vendor frames
2 vendor/pestphp/pest/src/Plugins/Coverage.php:147
Pest\Support\Coverage::report()
+1 vendor frames
Sample Repository
No response
Pest Version
3.6.0
PHP Version
8.4.1
Operation System
Linux
Notes
No response
The text was updated successfully, but these errors were encountered:
What Happened
Running multiple processes of pest in parallel create a crash with "ShouldNotHappen" for "vendor/pestphp/pest/.temp/coverage.php".
e.g. first process deletes the coverage.php from the second process
Using "--cache-directory=/tmp/foo" still writes coverage.php to "vendor/pestphp/pest/.temp/coverage.php".
Ideally, pest should not write into "vendor/*".
My recommendation:
How to Reproduce
e.g. use "--cache-directory=/tmp/foo" and make vendor/pestphp/pest/.temp/ readonly
Expectation:
Output:
Sample Repository
No response
Pest Version
3.6.0
PHP Version
8.4.1
Operation System
Linux
Notes
No response
The text was updated successfully, but these errors were encountered: