pestphp / pest

Pest is an elegant PHP testing Framework with a focus on simplicity, meticulously designed to bring back the joy of testing in PHP.
https://pestphp.com
MIT License
9.07k stars 315 forks source link

Fix junit parallel #1073

Closed nuernbergerA closed 5 months ago

nuernbergerA commented 5 months ago

What:

Description:

Related:

Fixes #1070 Caused by #887 and https://github.com/pestphp/pest/commit/b9d2be87a28b218fd13d52df1c0d6c72d58cf191

How to test

    "require-dev": {
        "pestphp/pest": "dev-fix-junit-parallel as v2.33"
    },
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/nuernbergerA/pest"
        }
    ],
nuernbergerA commented 5 months ago

@calebdw can you please test and confirm if this fixes all issues?

calebdw commented 5 months ago

I'm testing now

calebdw commented 5 months ago

I'm having trouble installing it:

$ composer update -W
Loading composer repositories with package information
Updating dependencies                                 
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires pestphp/pest-plugin-faker ^2.0 -> satisfiable by pestphp/pest-plugin-faker[v2.0.0, 2.x-dev].
    - pestphp/pest-plugin-faker[v2.0.0, ..., 2.x-dev] require pestphp/pest ^2.0.0 -> found pestphp/pest[2.x-dev] but it conflicts with your root composer.json require (dev-
fix-junit-parallel).
  Problem 2
    - Root composer.json requires spatie/pest-plugin-test-time ^2.0 -> satisfiable by spatie/pest-plugin-test-time[2.0.0].
    - spatie/pest-plugin-test-time 2.0.0 requires pestphp/pest ^2.0 -> found pestphp/pest[2.x-dev] but it conflicts with your root composer.json require (dev-fix-junit-para
llel).
  Problem 3
    - pestphp/pest-plugin-laravel 2.x-dev requires pestphp/pest ^2.22.0 -> found pestphp/pest[2.x-dev] but it conflicts with your root composer.json require (dev-fix-junit-
parallel).
    - pestphp/pest-plugin-laravel v2.0.0 requires pestphp/pest ^2.0.0 -> found pestphp/pest[2.x-dev] but it conflicts with your root composer.json require (dev-fix-junit-pa
rallel).
    - pestphp/pest-plugin-laravel v2.1.0 requires pestphp/pest ^2.8.3 -> found pestphp/pest[2.x-dev] but it conflicts with your root composer.json require (dev-fix-junit-pa
rallel).
    - pestphp/pest-plugin-laravel v2.2.0 requires pestphp/pest ^2.13.0 -> found pestphp/pest[2.x-dev] but it conflicts with your root composer.json require (dev-fix-junit-p
arallel).
    - Root composer.json requires pestphp/pest-plugin-laravel ^2.0 -> satisfiable by pestphp/pest-plugin-laravel[v2.0.0, v2.1.0, v2.2.0, 2.x-dev].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
nuernbergerA commented 5 months ago

@calebdw if updated the composer json

note the as v2.33 part to "trick" the plugins

    "require-dev": {
        "pestphp/pest": "dev-fix-junit-parallel as v2.33"
    },
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/nuernbergerA/pest"
        }
    ],
calebdw commented 5 months ago

@nuernbergerA, everything seems to work great!

nunomaduro commented 5 months ago

@nuernbergerA After merging this pull request, the --log-junit works with parallel and non-parallel right?

nuernbergerA commented 5 months ago

@nunomaduro yes i double checked it and can confirm that it works with and without parallel.