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.46k stars 341 forks source link

[Bug]: Skipped installation of bin bin/paratest.bat for package brianium/paratest: name conflicts with an existing file #1167

Open mikkolukas opened 3 months ago

mikkolukas commented 3 months ago

If this looks familiar, it is because it is a regression of #928 (or the bug was never fixed in the first place)

Running composer clearcache as @nunomaduro mentioned before closing the bug, does not solve the problem.

We are all humans, but it is a bit embarrassing to have a testing framework of all things to fail on such a simple bug as this when it have already been addressed and closed. One could imagine that a test had been written since #928 that ensured the bug would not appear again?


What happened

0/53 [>---------------------------]   0%    Skipped installation of bin bin/paratest.bat for package brianium/paratest: name conflicts with an existing file

image

How to Reproduce

composer.json:

{
    "require": {
        "php": "^8.3"
    },
    "require-dev": {
        "pestphp/pest": "^2.34"
    },
    "config": {
        "sort-packages": true,
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "allow-plugins": {
            "pestphp/pest-plugin": true
        }
    },
    "minimum-stability": "stable",
    "prefer-stable": true
}

Run:

composer update

Sample Repository

No response

Pest Version

2.34.1

PHP Version

PHP 8.3.7 (cli) (built: May 13 2024 15:28:16) (NTS)

Operation System

Linux

Notes

php -v:

PHP 8.3.7 (cli) (built: May 13 2024 15:28:16) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.7, Copyright (c), by Zend Technologies

composer:

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.7.6 2024-05-04 23:03:15

lsb_release -a:

No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 12 (bookworm)
Release:        12
Codename:       bookworm
mikkolukas commented 3 months ago

@alf4712, @zokistale, @ZayRTun, @BlackBlex, @v1p3r75

Did you ever find a solution?

mikkolukas commented 3 months ago

I can confirm the issue have existed since pest 2.0.1, which is the version where brianium/paratest was introduced.

mikkolukas commented 3 months ago

It turns out the bug is actually with paratestphp/paratest. I have created a bug report paratestphp/paratest#858 there too.

It bugs me though, that pestphp/pest have not created a bug report about it, as it makes noise in the pestphp/pest camp.

owenvoke commented 3 months ago

I've tried replicating this using your replication example, and was unable to on my macOS, Windows, or Ubuntu environments.

But I think as this is a Paratest issue, not a Pest issue, it's good to solve it there. Thanks for opening an issue in their repository. 👍🏻

alf4712 commented 3 months ago

@alf4712, @zokistale, @ZayRTun, @BlackBlex, @v1p3r75

Did you ever find a solution?

run "composer update" three times and all is fine. I know, it is not a solution but a workaround.

mikkolukas commented 3 months ago

This bug have just been fixed one hour ago in paratestphp/paratest 7.5.0

That same release is completely dropping Windows support. Tagging @nunomaduro here.