Page MenuHomePhorge

PHP 8.4: Do not pass null to exit() in PhutilArgumentParser
AbandonedPublic

Authored by aklapper on Feb 17 2025, 18:57.
Tags
None
Referenced Files
F3300344: D25888.1743038089.diff
Wed, Mar 26, 01:14
F3285492: D25888.1742802349.diff
Sun, Mar 23, 07:45
F3283725: D25888.1742758911.diff
Sat, Mar 22, 19:41
F3278543: D25888.1742624703.diff
Fri, Mar 21, 06:25
F3221335: D25888.1741823565.diff
Tue, Mar 11, 23:52
F3219222: D25888.1741746933.diff
Tue, Mar 11, 02:35
F3219006: D25888.1741739325.diff
Tue, Mar 11, 00:28
F3169860: D25888.1741271549.diff
Wed, Mar 5, 14:32

Details

Summary

Per the Changelog at https://www.php.net/manual/en/function.exit.php, since PHP 8.4.0, "exit() is now a proper function, therefore it follows the usual type juggling semantics is affected by the strict_types declare".

ERROR 8192: exit(): Passing null to parameter #1 ($status) of type string|int is deprecated at [/arcanist/src/parser/argument/PhutilArgumentParser.php:494]

Closes T15990

Test Plan

Run ./bin/arc diff --create --help under PHP 8.4 and check for additional final output.

Diff Detail

Repository
rARC Arcanist
Branch
T15990 (branched from master)
Lint
Lint Passed
Unit
Test Failures
Build Status
Buildable 1726
Build 1726: arc lint + arc unit

Unit TestsFailed

TimeTest
661 msArcanistBundleTestCase::testGitRepository
EXCEPTION (Exception): Expected patch and actual patch for 5dec8bf28557f078d1987c4e8cfb53d08310f522 differ. Wrote actual patch to '/var/www/html/phorge/arcanist/src/parser/__tests__/patches//5dec8bf28557f078d1987c4e8cfb53d08310f522.gitpatch.real'. #0 /var/www/html/phorge/arcanist/src/parser/__tests__/ArcanistBundleTestCase.php(87): ArcanistBundleTestCase->runGitRepositoryTests(Object(PhutilDirectoryFixture)) #1 /var/www/html/phorge/arcanist/src/unit/engine/phutil/PhutilTestCase.php(639): ArcanistBundleTestCase->testGitRepository()
45 msArcanistBaseCommitParserTestCase::testBasics
2 assertion(s) passed.
45 msArcanistBaseCommitParserTestCase::testHalt
1 assertion(s) passed.
45 msArcanistBaseCommitParserTestCase::testJump
1 assertion(s) passed.
44 msArcanistBaseCommitParserTestCase::testJumpReturn
1 assertion(s) passed.
View Full Test Results (1 Failed · 99 Passed)