#!/usr/bin/env php
<?php

if (!file_exists(__DIR__.'/vendor/symfony/phpunit-bridge/bin/simple-phpunit')) {
    echo "Unable to find the `simple-phpunit` script in `vendor/symfony/phpunit-bridge/bin/`.\nPlease run `composer update` before running this command.\n";
    exit(1);
}
if (!getenv('SYMFONY_PHPUNIT_VERSION')) {
    if (\PHP_VERSION_ID >= 80300) {
        if (\PHP_VERSION_ID >= 80401) {
            putenv('SYMFONY_PHPUNIT_VERSION=13');

            if (!in_array('--fail-on-empty-test-suite', $_SERVER['argv'], true) && !in_array('--do-not-fail-on-empty-test-suite', $_SERVER['argv'], true)) {
                $_SERVER['argv'][] = '--do-not-fail-on-empty-test-suite';
            }
        } else {
            putenv('SYMFONY_PHPUNIT_VERSION=12');
        }

        if (!in_array('--fail-on-phpunit-notice', $_SERVER['argv'], true) && !in_array('--do-not-fail-on-phpunit-notice', $_SERVER['argv'], true)) {
            $_SERVER['argv'][] = '--fail-on-phpunit-notice';
        }
    } else {
        putenv('SYMFONY_PHPUNIT_VERSION=11.5');
    }
}
(static function () {
    if (version_compare(getenv('SYMFONY_PHPUNIT_VERSION'), '13', '>=') || !is_file($file = realpath('./phpunit.xml.dist'))) {
        return;
    }
    $target = substr($file, 0, -5);
    $content = file_get_contents($file);
    $content = str_replace('<deprecationTrigger ignoreUndefinedTriggers="true">', '<deprecationTrigger>', $content);
    if (version_compare(getenv('SYMFONY_PHPUNIT_VERSION'), '12', '<')) {
        $content = str_replace('<function>trigger_deprecation</function>', '', $content);
        $content = str_replace('<method>Doctrine\Deprecations\Deprecation::trigger</method>', '', $content);
        $content = str_replace('<method>Doctrine\Deprecations\Deprecation::triggerIfCalledFromOutside</method>', '', $content);
    }
    $lock = fopen($file, 'r');
    flock($lock, LOCK_EX);
    if (!is_file($target) || file_get_contents($target) !== $content) {
        file_put_contents($target, $content);
    }
    flock($lock, LOCK_UN);
    fclose($lock);
})();
if (!getenv('SYMFONY_PATCH_TYPE_DECLARATIONS')) {
    putenv('SYMFONY_PATCH_TYPE_DECLARATIONS=deprecations=1');
}
if (getcwd() === realpath(__DIR__.'/src/Symfony/Bridge/PhpUnit')) {
    putenv('SYMFONY_DEPRECATIONS_HELPER=disabled');
}
putenv('SYMFONY_PHPUNIT_DIR='.__DIR__.'/.phpunit');
require __DIR__.'/vendor/symfony/phpunit-bridge/bin/simple-phpunit';
