Page MenuHomePhabricator

Add an ArgumentParser helper for integers
ClosedPublic

Authored by epriestley on May 3 2022, 9:09 PM.
Tags
None
Referenced Files
F18264206: D21799.diff
Fri, Aug 22, 10:29 AM
F18112644: D21799.diff
Tue, Aug 12, 7:18 PM
F18106681: D21799.id.diff
Sun, Aug 10, 11:12 PM
F18044267: D21799.diff
Sun, Aug 3, 7:00 AM
F17868626: D21799.id51963.diff
Jul 28 2025, 8:02 AM
F17843203: D21799.diff
Jul 27 2025, 12:37 AM
F17796485: D21799.id51963.diff
Jul 25 2025, 12:59 AM
F17774368: D21799.id51958.diff
Jul 23 2025, 6:57 PM
Subscribers
None

Details

Summary

Ref T13676. With increased PHP8.1 strictness around null, it seems reasonable to add some convenience parsing to "PhutilArgumentParser".

Add a helper function for parsing integers.

Test Plan

See next change. Tried these arguments:

--count ''
--count asdf
--count 0
--count -3
--count 999999999999999999999999999999999999999999999234
--count 5

Got sensible parsing and appropriate feedback in all cases.

Diff Detail

Repository
rARC Arcanist
Branch
parse1
Lint
Lint Passed
Unit
Test Failures
Build Status
Buildable 25694
Build 35522: arc lint + arc unit

Unit TestsFailed

TimeTest
1,026 msArcanistBundleTestCase::testGitRepository
EXCEPTION (Exception): This patch has binary data. The PHP zlib extension is required to apply patches with binary data to git. Install the PHP zlib extension to continue. #0 /Users/epriestley/dev/core/lib/arcanist/src/parser/ArcanistBundle.php(823): ArcanistBundle::newBase85Data('\x89PNG\r\n\x1A\n\x00\x00\x00\rIHD...', '\n') #1 /Users/epriestley/dev/core/lib/arcanist/src/parser/ArcanistBundle.php(813): ArcanistBundle->emitBinaryDiffBody('\x89PNG\r\n\x1A\n\x00\x00\x00\rIHD...')
0 msArcanistBaseCommitParserTestCase::testBasics
2 assertion(s) passed.
0 msArcanistBaseCommitParserTestCase::testHalt
1 assertion(s) passed.
0 msArcanistBaseCommitParserTestCase::testJump
1 assertion(s) passed.
0 msArcanistBaseCommitParserTestCase::testJumpReturn
1 assertion(s) passed.
View Full Test Results (1 Failed · 99 Passed)

Event Timeline

epriestley created this revision.
This revision was not accepted when it landed; it landed in state Needs Review.May 3 2022, 10:57 PM
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.