mirror of
https://github.com/pestphp/pest.git
synced 2026-09-05 06:13:35 +02:00
chore: upgrades to phpunit:13.3
This commit is contained in:
@@ -77,6 +77,9 @@
|
||||
--fail-on-warning Signal failure using shell exit code when a warning was triggered
|
||||
--fail-on-risky Signal failure using shell exit code when a test was considered risky
|
||||
--fail-on-deprecation Signal failure using shell exit code when a deprecation was triggered
|
||||
--fail-on-self-deprecation Signal failure using shell exit code when a deprecation was triggered in first-party code
|
||||
--fail-on-direct-deprecation Signal failure using shell exit code when a deprecation was triggered in third-party code called from first-party code
|
||||
--fail-on-indirect-deprecation Signal failure using shell exit code when a deprecation was triggered in third-party code called from third-party code
|
||||
--fail-on-phpunit-deprecation Signal failure using shell exit code when a PHPUnit deprecation was triggered
|
||||
--fail-on-phpunit-notice Signal failure using shell exit code when a PHPUnit notice was triggered
|
||||
--fail-on-phpunit-warning Signal failure using shell exit code when a PHPUnit warning was triggered
|
||||
@@ -88,19 +91,26 @@
|
||||
--do-not-fail-on-warning Do not signal failure using shell exit code when a warning was triggered
|
||||
--do-not-fail-on-risky Do not signal failure using shell exit code when a test was considered risky
|
||||
--do-not-fail-on-deprecation Do not signal failure using shell exit code when a deprecation was triggered
|
||||
--do-not-fail-on-self-deprecation Do not signal failure using shell exit code when a deprecation was triggered in first-party code
|
||||
--do-not-fail-on-direct-deprecation Do not signal failure using shell exit code when a deprecation was triggered in third-party code called from first-party code
|
||||
--do-not-fail-on-indirect-deprecation Do not signal failure using shell exit code when a deprecation was triggered in third-party code called from third-party code
|
||||
--do-not-fail-on-phpunit-deprecation Do not signal failure using shell exit code when a PHPUnit deprecation was triggered
|
||||
--do-not-fail-on-phpunit-notice Do not signal failure using shell exit code when a PHPUnit notice was triggered
|
||||
--do-not-fail-on-phpunit-warning Do not signal failure using shell exit code when a PHPUnit warning was triggered
|
||||
--do-not-fail-on-notice Do not signal failure using shell exit code when a notice was triggered
|
||||
--do-not-fail-on-skipped Do not signal failure using shell exit code when a test was skipped
|
||||
--do-not-fail-on-incomplete Do not signal failure using shell exit code when a test was marked incomplete
|
||||
--cache-result ............................ Write test results to cache file
|
||||
--do-not-cache-result .............. Do not write test results to cache file
|
||||
--record-test-run-history .......................... Record test run history
|
||||
--do-not-record-test-run-history ............ Do not record test run history
|
||||
--warn-when-php-is-not-configured-for-development Trigger a test runner warning when PHP is not configured for development
|
||||
--do-not-warn-when-php-is-not-configured-for-development Do not trigger a test runner warning when PHP is not configured for development
|
||||
--order-by [order] Run tests in order: default|defects|depends|duration-ascending|duration-descending|no-depends|random|reverse|size-ascending|size-descending
|
||||
--resolve-dependencies ...................... Alias for "--order-by depends"
|
||||
--ignore-dependencies .................... Alias for "--order-by no-depends"
|
||||
--random-order ............................... Alias for "--order-by random"
|
||||
--random-order-seed [N] Use the specified random seed when running tests in random order
|
||||
--repeat [N] .......... Run each test N times, stopping at the first failure
|
||||
--retry [N] . Attempt each test up to N times, stopping at the first success
|
||||
--reverse-order ............................. Alias for "--order-by reverse"
|
||||
|
||||
REPORTING OPTIONS:
|
||||
@@ -151,6 +161,8 @@
|
||||
--coverage-cobertura [file] Write code coverage report in Cobertura XML format to file
|
||||
--coverage-crap4j [file] Write code coverage report in Crap4J XML format to file
|
||||
--coverage-html [dir] Write code coverage report in HTML format to directory
|
||||
--without-class-view Render code coverage report in HTML format without class view
|
||||
--without-file-view Render code coverage report in HTML format without file view
|
||||
--coverage-php [file] .......... Write serialized code coverage data to file
|
||||
--coverage-text=[file] Write code coverage report in text format to file [default: standard output]
|
||||
--only-summary-for-coverage-text Option for code coverage report in text format: only show summary
|
||||
|
||||
@@ -1226,7 +1226,7 @@
|
||||
✓ it does not leak mock objects between retries
|
||||
✓ it does not stop retrying when snapshot changes are absent
|
||||
✓ it does not leak dynamic properties between retries
|
||||
✓ it clears output buffer between retries when expectOutputString is used
|
||||
! it clears output buffer between retries when expectOutputString is used → Creation of dynamic property PHPUnit\Framework\TestCase\OutputBuffer::$expectedString is deprecated
|
||||
✓ it preserves output between retries when no output expectation is set
|
||||
|
||||
WARN Tests\Features\Helpers
|
||||
@@ -1568,232 +1568,6 @@
|
||||
PASS Tests\Features\Tia
|
||||
✓ it does not run user hooks when replaying cached skipped and incomplete results
|
||||
|
||||
PASS Tests\Features\Tia\BranchShapes
|
||||
✓ a branch name git allows is a branch key TIA can hold with dataset "slashes"
|
||||
✓ a branch name git allows is a branch key TIA can hold with dataset "dots"
|
||||
✓ a branch name git allows is a branch key TIA can hold with dataset "unicode"
|
||||
✓ a branch name git allows is a branch key TIA can hold with dataset "digits"
|
||||
✓ a branch name git allows is a branch key TIA can hold with dataset "underscores"
|
||||
✓ a branch name git allows is a branch key TIA can hold with dataset "very long"
|
||||
✓ a branch differing from the default only in case gets its own key
|
||||
✓ a branch that only lives on the remote keeps its baseline
|
||||
✓ a branch checked out in a worktree keeps its baseline
|
||||
✓ deleting many branches reclaims every one of their baselines with dataset "sequential"
|
||||
✓ deleting many branches reclaims every one of their baselines with dataset "parallel"
|
||||
✓ a narrowed run does not reclaim anything
|
||||
✓ a detached HEAD does not reclaim anything either
|
||||
✓ the default branch baseline survives every branch that comes and goes
|
||||
✓ a project below the git repository root refuses to run and writes nothing with dataset "sequential"
|
||||
✓ a project below the git repository root refuses to run and writes nothing with dataset "parallel"
|
||||
✓ a repository with no commits says so, and leaves plain runs alone
|
||||
✓ a directory with no repository at all still asks for git
|
||||
|
||||
PASS Tests\Features\Tia\CompleteRunWriteTier
|
||||
✓ a complete run prunes a deleted test with dataset "sequential"
|
||||
✓ a complete run prunes a deleted test with dataset "parallel"
|
||||
✓ a complete run records nothing for a test file the graph does not know
|
||||
✓ a partial run records nothing for a test file the graph does not know
|
||||
✓ a truncated run does not prune with dataset "sequential"
|
||||
✓ a truncated run does not prune with dataset "parallel"
|
||||
✓ a green bail run is complete
|
||||
✓ --no-tia refreshes results without enabling tia with dataset "sequential"
|
||||
✓ --no-tia refreshes results without enabling tia with dataset "parallel"
|
||||
✓ a plain run refreshes the results it executed with dataset "sequential"
|
||||
✓ a plain run refreshes the results it executed with dataset "parallel"
|
||||
✓ a parallel replay keeps the recorded time of tests that did not run
|
||||
✓ a run that never enables tia creates no graph with dataset "plain"
|
||||
✓ a run that never enables tia creates no graph with dataset "filtered"
|
||||
✓ a run that never enables tia creates no graph with dataset "parallel filtered"
|
||||
✓ a test edit narrows to the affected file and replays the rest
|
||||
✓ a parallel run merges worker results into the parent baseline
|
||||
|
||||
PASS Tests\Features\Tia\CoveragePiggyback
|
||||
✓ a coverage report does not found a dependency graph with dataset "pest coverage"
|
||||
✓ a coverage report does not found a dependency graph with dataset "phpunit coverage report"
|
||||
✓ a coverage report does not found a dependency graph with dataset "parallel"
|
||||
✓ a plain run after a coverage run records the whole project scope
|
||||
✓ a coverage report leaves the edges of an existing graph alone
|
||||
|
||||
PASS Tests\Features\Tia\DefaultBranchReplay
|
||||
✓ replays the default branch baseline on a new branch
|
||||
✓ replays whatever the default branch is called with ('main')
|
||||
✓ replays whatever the default branch is called with ('master')
|
||||
✓ replays whatever the default branch is called with ('trunk')
|
||||
✓ replays whatever the default branch is called with ('develop')
|
||||
✓ replays on a second new branch too
|
||||
✓ writes nothing on a second run on the same branch
|
||||
✓ replays on a branch whose name contains slashes
|
||||
✓ replays again once back on the default branch
|
||||
✓ replays on a new branch when tia is enabled by configuration
|
||||
✓ a narrowed run on a new branch does not cost the fallback with dataset "sequential"
|
||||
✓ a narrowed run on a new branch does not cost the fallback with dataset "parallel"
|
||||
✓ replays inside a worktree on a new branch
|
||||
|
||||
PASS Tests\Features\Tia\DefaultBranchResolution
|
||||
✓ a declared default branch beats autodetection
|
||||
✓ a declared default branch that does not exist degrades to a full run
|
||||
✓ a renamed default branch replays and writes under its new name
|
||||
✓ the CI provider names the default branch where the checkout cannot
|
||||
✓ GitLab names the default branch through its own variable
|
||||
✓ a lone recorded baseline names the default branch
|
||||
✓ a default branch nothing can name is refused rather than guessed
|
||||
✓ an init.defaultBranch naming a branch that exists is still trusted
|
||||
✓ a repository with no remote is refused rather than silently re-run
|
||||
✓ a remote-less repository holding one baseline is not refused
|
||||
✓ a declared default branch stands in for a missing remote
|
||||
✓ tia still requires git
|
||||
✓ a plain run outside a repository creates no baseline
|
||||
✓ the default branch is resolved once per run, not once per test
|
||||
|
||||
PASS Tests\Features\Tia\DefaultBranchWriteTier
|
||||
✓ narrows to the affected tests on a new branch
|
||||
✓ filtered mode reads the fallback too
|
||||
✓ filtered mode finds nothing to do on a clean green feature branch
|
||||
✓ filtered mode falls back to a full replay when a cached failure cannot be located
|
||||
✓ filtered mode finds nothing to do on the default branch itself
|
||||
✓ a detached HEAD replays without minting a branch key
|
||||
✓ a detached HEAD does not write into the default branch baseline with dataset "sequential"
|
||||
✓ a detached HEAD does not write into the default branch baseline with dataset "parallel"
|
||||
✓ the branch that ran gets its own key and the default branch keeps its baseline
|
||||
✓ the fallback reaches parallel workers
|
||||
|
||||
PASS Tests\Features\Tia\FilteredMode
|
||||
✓ re-runs a cached failure on a clean tree
|
||||
✓ an explicit path turns filtered mode off
|
||||
✓ filtered mode runs the whole suite when there is no baseline
|
||||
✓ filtered mode finds nothing to do in parallel either
|
||||
✓ a corrupt graph is reported and does not crash the run
|
||||
✓ --parallel --retry is refused and leaves the graph alone
|
||||
|
||||
PASS Tests\Features\Tia\HostileState
|
||||
✓ a graph mangled beyond use still lets the suite run with dataset "empty"
|
||||
✓ a graph mangled beyond use still lets the suite run with dataset "truncated"
|
||||
✓ a graph mangled beyond use still lets the suite run with dataset "not json"
|
||||
✓ a graph mangled beyond use still lets the suite run with dataset "json scalar"
|
||||
✓ a graph mangled beyond use still lets the suite run with dataset "json list"
|
||||
✓ a graph mangled beyond use still lets the suite run with dataset "json null"
|
||||
✓ a graph mangled beyond use still lets the suite run with dataset "empty object"
|
||||
✓ a graph mangled beyond use still lets the suite run with dataset "nul bytes"
|
||||
✓ a graph whose shape is wrong everywhere is repaired rather than trusted with dataset "sequential"
|
||||
✓ a graph whose shape is wrong everywhere is repaired rather than trusted with dataset "parallel"
|
||||
✓ a cached status this build cannot interpret is re-run, not replayed with dataset "below the range"
|
||||
✓ a cached status this build cannot interpret is re-run, not replayed with dataset "one past the range"
|
||||
✓ a cached status this build cannot interpret is re-run, not replayed with dataset "far past the range"
|
||||
✓ a cached status this build cannot interpret is re-run, not replayed with dataset "huge"
|
||||
✓ a cached status with no replay of its own does not fail the run with dataset "notice"
|
||||
✓ a cached status with no replay of its own does not fail the run with dataset "deprecation"
|
||||
✓ a cached status with no replay of its own does not fail the run with dataset "warning"
|
||||
✓ a cached skip or todo replays with its message intact with dataset "skipped"
|
||||
✓ a cached skip or todo replays with its message intact with dataset "incomplete"
|
||||
✓ a cached failure with a multi-line message re-runs rather than replaying the text
|
||||
✓ a result pointing outside the project is not addressable and widens the run
|
||||
✓ an edge pointing at a file id that does not exist is ignored
|
||||
✓ a graph from a schema this build does not know is rebuilt, not read
|
||||
✓ graph.json being a directory does not stop the run
|
||||
✓ a state dir it cannot write to still replays
|
||||
|
||||
PASS Tests\Features\Tia\IssueStatuses
|
||||
✓ a triggered issue is recorded as itself, not as a pass with dataset "sequential" / dataset "deprecation"
|
||||
✓ a triggered issue is recorded as itself, not as a pass with dataset "sequential" / dataset "notice"
|
||||
✓ a triggered issue is recorded as itself, not as a pass with dataset "sequential" / dataset "warning"
|
||||
✓ a triggered issue is recorded as itself, not as a pass with dataset "parallel" / dataset "deprecation"
|
||||
✓ a triggered issue is recorded as itself, not as a pass with dataset "parallel" / dataset "notice"
|
||||
✓ a triggered issue is recorded as itself, not as a pass with dataset "parallel" / dataset "warning"
|
||||
✓ a cached deprecation still fails the run that asked to fail on one with dataset "sequential"
|
||||
✓ a cached deprecation still fails the run that asked to fail on one with dataset "parallel"
|
||||
✓ replaying a cached issue does not downgrade it to a pass with dataset "sequential"
|
||||
✓ replaying a cached issue does not downgrade it to a pass with dataset "parallel"
|
||||
✓ a failure outranks an issue triggered on the way to it
|
||||
✓ a skip outranks an issue triggered on the way to it
|
||||
✓ a suppressed issue is not recorded
|
||||
|
||||
PASS Tests\Features\Tia\LivewireComponents
|
||||
✓ a changed single-file component selects only the tests that rendered it, across workers
|
||||
✓ a changed multi-file component asset selects the tests that rendered the component
|
||||
✓ a deleted single-file component selects the tests that rendered it
|
||||
✓ a Blade file with no generated view still falls back to the watch pattern
|
||||
|
||||
PASS Tests\Features\Tia\PartialRunWriteTier
|
||||
✓ a filtered run rewrites only the test that ran
|
||||
✓ a filtered run under --tia announces that tia does not apply
|
||||
✓ a test suffix narrows the tier even though every test runs
|
||||
✓ a dirty run narrows to the uncommitted test edit
|
||||
✓ filtered mode yields to an explicit filter
|
||||
✓ an env flag narrows exactly like the option it mirrors with ('PEST_TIA')
|
||||
✓ an env flag narrows exactly like the option it mirrors with ('PEST_TIA_FILTERED')
|
||||
✓ a partial run does not purge the graph even with --fresh
|
||||
✓ --no-tia does not stop a partial run from refreshing its own entry
|
||||
✓ two partial runs each keep the other entry
|
||||
✓ a shard is a partial run
|
||||
✓ a parallel partial run records the test that ran, like a sequential one
|
||||
|
||||
PASS Tests\Features\Tia\RemoteBaseline
|
||||
✓ a published baseline is fetched instead of recorded locally
|
||||
✓ a fetched baseline that will not decode is discarded rather than trusted
|
||||
✓ a fetched baseline recorded against another tree is not used
|
||||
✓ an artifact without a graph in it fails loudly
|
||||
✓ a baseline that cannot be authenticated for fails loudly
|
||||
✓ a workflow or artifact that is not there fails loudly
|
||||
✓ a network failure warns and lets the suite run with dataset "querying the runs"
|
||||
✓ a network failure warns and lets the suite run with dataset "downloading the artifact"
|
||||
✓ no published baseline yet starts a cooldown, and a corrupt cooldown does not break the run
|
||||
|
||||
PASS Tests\Features\Tia\SelectionPaths
|
||||
✓ a committed rename selects the tests that depended on the old path with dataset "sequential"
|
||||
✓ a committed rename selects the tests that depended on the old path with dataset "parallel"
|
||||
✓ an affected test file that is gone does not strand a filtered run with dataset "sequential"
|
||||
✓ an affected test file that is gone does not strand a filtered run with dataset "parallel"
|
||||
✓ a plain run reclaims the edge of a test file that is gone
|
||||
✓ a changed view selects the test that rendered it
|
||||
✓ a changed partial selects the test that rendered its ancestor with dataset "direct @include"
|
||||
✓ a changed partial selects the test that rendered its ancestor with dataset "transitive @include"
|
||||
✓ a changed partial selects the test that rendered its ancestor with dataset "x- component"
|
||||
✓ a changed partial selects the test that rendered its ancestor with dataset "include cycle"
|
||||
✓ a changed Inertia page selects the test that rendered its component
|
||||
✓ a changed shared JS module selects the tests of the pages that import it
|
||||
✓ a changed frontend runtime file selects every Inertia test
|
||||
|
||||
PASS Tests\Features\Tia\StateReclamation
|
||||
✓ a detached HEAD does not purge the graph on structural drift with dataset "sequential"
|
||||
✓ a detached HEAD does not purge the graph on structural drift with dataset "parallel"
|
||||
✓ a detached HEAD does not purge the graph with --fresh either with dataset "sequential"
|
||||
✓ a detached HEAD does not purge the graph with --fresh either with dataset "parallel"
|
||||
✓ a detached HEAD leaves an unreadable graph for a checkout that can rebuild it
|
||||
✓ a cached failure whose test file was deleted stops widening later runs with dataset "sequential"
|
||||
✓ a cached failure whose test file was deleted stops widening later runs with dataset "parallel"
|
||||
✓ a complete run reclaims the entry and the edge of a deleted test file with dataset "sequential"
|
||||
✓ a complete run reclaims the entry and the edge of a deleted test file with dataset "parallel"
|
||||
✓ a pruned result does not come back from the fallback with dataset "sequential"
|
||||
✓ a pruned result does not come back from the fallback with dataset "parallel"
|
||||
✓ the fallback still reaches a branch that has never run a test file
|
||||
✓ a branch that git no longer knows loses its baseline
|
||||
✓ an unknown cached status is re-run rather than replayed as a failure with dataset "unknown"
|
||||
✓ an unknown cached status is re-run rather than replayed as a failure with dataset "future"
|
||||
✓ an unknown cached status is re-run rather than replayed as a failure with dataset "garbage"
|
||||
✓ a cached notice, deprecation or warning does not replay as a failure with dataset "notice"
|
||||
✓ a cached notice, deprecation or warning does not replay as a failure with dataset "deprecation"
|
||||
✓ a cached notice, deprecation or warning does not replay as a failure with dataset "warning"
|
||||
✓ a malformed baseline entry cannot break the run with dataset "sequential"
|
||||
✓ a malformed baseline entry cannot break the run with dataset "parallel"
|
||||
✓ a run torn down mid-file does not prune the tests it never reached with dataset "sequential"
|
||||
✓ a run torn down mid-file does not prune the tests it never reached with dataset "parallel"
|
||||
✓ a fatal error mid-file is a test error, not a truncation with dataset "sequential"
|
||||
✓ a fatal error mid-file is a test error, not a truncation with dataset "parallel"
|
||||
✓ a green complete run leaves the graph exactly as it found it with dataset "bail"
|
||||
✓ a green complete run leaves the graph exactly as it found it with dataset "stop-on-failure"
|
||||
✓ a green complete run leaves the graph exactly as it found it with dataset "compact"
|
||||
✓ a green complete run leaves the graph exactly as it found it with dataset "parallel bail"
|
||||
✓ a green complete run leaves the graph exactly as it found it with dataset "parallel one process"
|
||||
✓ a green complete run leaves the graph exactly as it found it with dataset "parallel more processes than files"
|
||||
✓ --tia --no-tia is a plain run that still refreshes what it executed with dataset "sequential"
|
||||
✓ --tia --no-tia is a plain run that still refreshes what it executed with dataset "parallel"
|
||||
✓ --fresh on a partial run neither purges nor prunes with dataset "sequential"
|
||||
✓ --fresh on a partial run neither purges nor prunes with dataset "parallel"
|
||||
✓ a second green run on a feature branch writes nothing at all with dataset "sequential"
|
||||
✓ a second green run on a feature branch writes nothing at all with dataset "parallel"
|
||||
✓ a graph whose recorded commit is gone is re-anchored, not warned about forever with dataset "sequential"
|
||||
✓ a graph whose recorded commit is gone is re-anchored, not warned about forever with dataset "parallel"
|
||||
|
||||
PASS Tests\Features\Ticket
|
||||
✓ it may be associated with an ticket #1, #2
|
||||
✓ nested → it may be associated with an ticket #1, #4, #5, #6, #3
|
||||
@@ -2435,4 +2209,4 @@
|
||||
✓ pass with dataset with ('my-datas-set-value')
|
||||
✓ within describe → pass with dataset with ('my-datas-set-value')
|
||||
|
||||
Tests: 1 deprecated, 4 warnings, 5 incomplete, 2 notices, 40 todos, 34 skipped, 1760 passed (3983 assertions)
|
||||
Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 40 todos, 34 skipped, 1561 passed (3405 assertions)
|
||||
@@ -26,13 +26,13 @@ test('parallel', function () use ($run): void {
|
||||
$file = file_get_contents(__FILE__);
|
||||
$file = preg_replace(
|
||||
'/\$expected = \'.*?\';/',
|
||||
"\$expected = '1 deprecated, 4 warnings, 5 incomplete, 3 notices, 40 todos, 27 skipped, 1543 passed (3345 assertions)';",
|
||||
"\$expected = '2 deprecated, 4 warnings, 5 incomplete, 3 notices, 40 todos, 26 skipped, 1543 passed (3350 assertions)';",
|
||||
$file,
|
||||
);
|
||||
file_put_contents(__FILE__, $file);
|
||||
}
|
||||
|
||||
$expected = '1 deprecated, 4 warnings, 5 incomplete, 3 notices, 40 todos, 27 skipped, 1543 passed (3345 assertions)';
|
||||
$expected = '2 deprecated, 4 warnings, 5 incomplete, 3 notices, 40 todos, 26 skipped, 1543 passed (3350 assertions)';
|
||||
|
||||
expect($output)
|
||||
->toContain("Tests: {$expected}")
|
||||
|
||||
@@ -12,9 +12,9 @@ test('visual snapshot of test suite on success', function (): void {
|
||||
|
||||
$output = function () use ($testsPath): ?string {
|
||||
$process = (new Process(
|
||||
['php', '-d', 'memory_limit=-1', 'bin/pest'],
|
||||
['php', '-d', 'memory_limit=-1', 'bin/pest', '--exclude-group=tia'],
|
||||
dirname($testsPath),
|
||||
['EXCLUDE' => 'integration', '--exclude-group' => 'integration', 'REBUILD_SNAPSHOTS' => false, 'PARATEST' => 0, 'COLLISION_PRINTER' => 'DefaultPrinter', 'COLLISION_IGNORE_DURATION' => 'true', 'PAO_DISABLE' => '1'],
|
||||
['EXCLUDE' => 'integration', 'REBUILD_SNAPSHOTS' => false, 'PARATEST' => 0, 'COLLISION_PRINTER' => 'DefaultPrinter', 'COLLISION_IGNORE_DURATION' => 'true', 'PAO_DISABLE' => '1'],
|
||||
));
|
||||
|
||||
$process->setTimeout(300.0);
|
||||
|
||||
Reference in New Issue
Block a user