'DefaultPrinter', 'COLLISION_IGNORE_DURATION' => 'true'], ); $process->run(); return removeAnsiEscapeSequences($process->getOutput()); }; test('parallel', function () use ($run) { expect($run('--exclude-group=integration')) ->toContain('Tests: 2 deprecated, 4 warnings, 5 incomplete, 3 notices, 39 todos, 26 skipped, 1250 passed (2887 assertions)') ->toContain('Parallel: 3 processes'); })->skipOnWindows(); test('a parallel test can extend another test with same name', function () use ($run) { expect($run('tests/Fixtures/Inheritance'))->toContain('Tests: 1 skipped, 1 passed (1 assertions)'); })->skipOnWindows(); test('parallel reports invalid datasets as failures', function () use ($run) { expect($run('tests/.tests/ParallelInvalidDataset')) ->toContain("A dataset with the name `missing.dataset` does not exist. You can create it using `dataset('missing.dataset', ['a', 'b']);`.") ->toContain('Tests: 1 failed, 1 passed (1 assertions)') ->toContain('Parallel: 3 processes'); })->skipOnWindows();