diff --git a/tests/AsyncTestCase.php b/tests/AsyncTestCase.php index b459c42414b..d173857ff1e 100644 --- a/tests/AsyncTestCase.php +++ b/tests/AsyncTestCase.php @@ -12,6 +12,7 @@ use Psalm\Internal\RuntimeCaches; use Psalm\Internal\Type\TypeParser; use Psalm\Internal\Type\TypeTokenizer; +use Psalm\Internal\VersionUtils; use Psalm\IssueBuffer; use Psalm\Tests\Internal\Provider\FakeParserCacheProvider; use Psalm\Type\Union; @@ -40,11 +41,11 @@ public static function setUpBeforeClass(): void ini_set('memory_limit', '-1'); if (!defined('PSALM_VERSION')) { - define('PSALM_VERSION', '5.0.0'); + define('PSALM_VERSION', VersionUtils::getPsalmVersion()); } if (!defined('PHP_PARSER_VERSION')) { - define('PHP_PARSER_VERSION', '5.0.0'); + define('PHP_PARSER_VERSION', VersionUtils::getPhpParserVersion()); } parent::setUpBeforeClass(); diff --git a/tests/Cache/CacheTest.php b/tests/Cache/CacheTest.php index c696aef96dd..cb04a6d9e62 100644 --- a/tests/Cache/CacheTest.php +++ b/tests/Cache/CacheTest.php @@ -26,6 +26,15 @@ class CacheTest extends TestCase { + public static function setUpBeforeClass(): void + { + parent::setUpBeforeClass(); + + // hack to isolate Psalm from PHPUnit cli arguments + global $argv; + $argv = []; + } + public function setUp(): void { parent::setUp(); diff --git a/tests/Config/ConfigFileTest.php b/tests/Config/ConfigFileTest.php index a198a41c87d..746fc62d27e 100644 --- a/tests/Config/ConfigFileTest.php +++ b/tests/Config/ConfigFileTest.php @@ -23,6 +23,15 @@ class ConfigFileTest extends TestCase { private string $file_path; + public static function setUpBeforeClass(): void + { + parent::setUpBeforeClass(); + + // hack to isolate Psalm from PHPUnit cli arguments + global $argv; + $argv = []; + } + public function setUp(): void { RuntimeCaches::clearAll(); diff --git a/tests/Config/ConfigTest.php b/tests/Config/ConfigTest.php index dd6a3fa6b80..8898f7e7530 100644 --- a/tests/Config/ConfigTest.php +++ b/tests/Config/ConfigTest.php @@ -17,7 +17,6 @@ use Psalm\Internal\Provider\Providers; use Psalm\Internal\RuntimeCaches; use Psalm\Internal\Scanner\FileScanner; -use Psalm\Internal\VersionUtils; use Psalm\Issue\TooManyArguments; use Psalm\Issue\UndefinedFunction; use Psalm\Tests\Config\Plugin\FileTypeSelfRegisteringPlugin; @@ -26,8 +25,6 @@ use Psalm\Tests\TestConfig; use function array_map; -use function define; -use function defined; use function dirname; use function error_get_last; use function get_class; @@ -56,15 +53,13 @@ class ConfigTest extends TestCase public static function setUpBeforeClass(): void { - self::$config = new TestConfig(); + parent::setUpBeforeClass(); - if (!defined('PSALM_VERSION')) { - define('PSALM_VERSION', VersionUtils::getPsalmVersion()); - } + // hack to isolate Psalm from PHPUnit cli arguments + global $argv; + $argv = []; - if (!defined('PHP_PARSER_VERSION')) { - define('PHP_PARSER_VERSION', VersionUtils::getPhpParserVersion()); - } + self::$config = new TestConfig(); } public function setUp(): void @@ -1334,10 +1329,6 @@ function handleThrow(I $e) : void { public function testModularConfig(): void { - // hack to isolate Psalm from PHPUnit arguments - global $argv; - $argv = []; - $root = __DIR__ . '/../fixtures/ModularConfig'; $config = Config::loadFromXMLFile($root . '/psalm.xml', $root); $this->assertEquals( diff --git a/tests/Config/PluginTest.php b/tests/Config/PluginTest.php index 9c3297633f6..6f430888f77 100644 --- a/tests/Config/PluginTest.php +++ b/tests/Config/PluginTest.php @@ -12,7 +12,6 @@ use Psalm\Internal\Provider\FakeFileProvider; use Psalm\Internal\Provider\Providers; use Psalm\Internal\RuntimeCaches; -use Psalm\Internal\VersionUtils; use Psalm\IssueBuffer; use Psalm\Plugin\EventHandler\AfterCodebasePopulatedInterface; use Psalm\Plugin\EventHandler\AfterEveryFunctionCallAnalysisInterface; @@ -26,8 +25,6 @@ use Psalm\Tests\TestConfig; use stdClass; -use function define; -use function defined; use function dirname; use function get_class; use function getcwd; @@ -44,19 +41,13 @@ class PluginTest extends TestCase public static function setUpBeforeClass(): void { + parent::setUpBeforeClass(); + // hack to isolate Psalm from PHPUnit cli arguments global $argv; $argv = []; self::$config = new TestConfig(); - - if (!defined('PSALM_VERSION')) { - define('PSALM_VERSION', VersionUtils::getPsalmVersion()); - } - - if (!defined('PHP_PARSER_VERSION')) { - define('PHP_PARSER_VERSION', VersionUtils::getPhpParserVersion()); - } } public function setUp(): void diff --git a/tests/ForbiddenCodeTest.php b/tests/ForbiddenCodeTest.php index a841f65fcf3..bae5147beb5 100644 --- a/tests/ForbiddenCodeTest.php +++ b/tests/ForbiddenCodeTest.php @@ -19,6 +19,15 @@ class ForbiddenCodeTest extends TestCase use InvalidCodeAnalysisTestTrait; use ValidCodeAnalysisTestTrait; + public static function setUpBeforeClass(): void + { + parent::setUpBeforeClass(); + + // hack to isolate Psalm from PHPUnit cli arguments + global $argv; + $argv = []; + } + public function providerInvalidCodeParse(): iterable { return [ diff --git a/tests/ProjectCheckerTest.php b/tests/ProjectCheckerTest.php index da8f75fe0c2..f1909539abf 100644 --- a/tests/ProjectCheckerTest.php +++ b/tests/ProjectCheckerTest.php @@ -8,7 +8,6 @@ use Psalm\Internal\Provider\FakeFileProvider; use Psalm\Internal\Provider\Providers; use Psalm\Internal\RuntimeCaches; -use Psalm\Internal\VersionUtils; use Psalm\IssueBuffer; use Psalm\Plugin\EventHandler\AfterCodebasePopulatedInterface; use Psalm\Plugin\EventHandler\Event\AfterCodebasePopulatedEvent; @@ -21,8 +20,6 @@ use Psalm\Tests\Internal\Provider\ProjectCacheProvider; use Psalm\Tests\Progress\EchoProgress; -use function define; -use function defined; use function get_class; use function getcwd; use function microtime; @@ -41,19 +38,13 @@ class ProjectCheckerTest extends TestCase public static function setUpBeforeClass(): void { + parent::setUpBeforeClass(); + // hack to stop Psalm seeing the phpunit arguments global $argv; $argv = []; self::$config = new TestConfig(); - - if (!defined('PSALM_VERSION')) { - define('PSALM_VERSION', VersionUtils::getPsalmVersion()); - } - - if (!defined('PHP_PARSER_VERSION')) { - define('PHP_PARSER_VERSION', VersionUtils::getPhpParserVersion()); - } } public function setUp(): void diff --git a/tests/StubTest.php b/tests/StubTest.php index 1e297daf976..93de365fe3a 100644 --- a/tests/StubTest.php +++ b/tests/StubTest.php @@ -13,11 +13,8 @@ use Psalm\Internal\Provider\FakeFileProvider; use Psalm\Internal\Provider\Providers; use Psalm\Internal\RuntimeCaches; -use Psalm\Internal\VersionUtils; use Psalm\Tests\Internal\Provider\FakeParserCacheProvider; -use function define; -use function defined; use function dirname; use function explode; use function getcwd; @@ -35,15 +32,13 @@ class StubTest extends TestCase public static function setUpBeforeClass(): void { - self::$config = new TestConfig(); + parent::setUpBeforeClass(); - if (!defined('PSALM_VERSION')) { - define('PSALM_VERSION', VersionUtils::getPsalmVersion()); - } + // hack to isolate Psalm from PHPUnit cli arguments + global $argv; + $argv = []; - if (!defined('PHP_PARSER_VERSION')) { - define('PHP_PARSER_VERSION', VersionUtils::getPhpParserVersion()); - } + self::$config = new TestConfig(); } public function setUp(): void diff --git a/tests/VariadicTest.php b/tests/VariadicTest.php index e77b0a142bb..8e543612b00 100644 --- a/tests/VariadicTest.php +++ b/tests/VariadicTest.php @@ -19,6 +19,15 @@ class VariadicTest extends TestCase { use ValidCodeAnalysisTestTrait; + public static function setUpBeforeClass(): void + { + parent::setUpBeforeClass(); + + // hack to isolate Psalm from PHPUnit cli arguments + global $argv; + $argv = []; + } + public function testVariadicArrayBadParam(): void { $this->expectExceptionMessage('InvalidScalarArgument');