Page MenuHomePhabricator

Accommodate PHP 7.4 changes to certain "preg_match_all()" calls
ClosedPublic

Authored by epriestley on Apr 26 2020, 3:32 PM.
Tags
None
Referenced Files
F14403471: D21173.diff
Mon, Dec 23, 2:40 AM
Unknown Object (File)
Fri, Dec 20, 9:16 PM
Unknown Object (File)
Wed, Dec 18, 4:16 AM
Unknown Object (File)
Tue, Dec 17, 6:40 AM
Unknown Object (File)
Tue, Dec 17, 5:56 AM
Unknown Object (File)
Tue, Dec 17, 5:06 AM
Unknown Object (File)
Mon, Dec 16, 4:53 PM
Unknown Object (File)
Mon, Dec 16, 5:48 AM
Subscribers
None

Details

Summary

Ref T13518. The result format of this call changed in PHP 7.4, which causes us to emit "-1" matches because "-1" survives array_filter().

Filter results in a way that should survive both result formats.

Test Plan

Ran arc unit --everything under PHP 7.4.

Diff Detail

Repository
rARC Arcanist
Branch
php741
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 24234
Build 33379: Run Core Tests
Build 33378: arc lint + arc unit

Unit TestsFailed

TimeTest
12 msArcanistDoubleQuoteXHPASTLinterRuleTestCase::testLinter
Assertion failed, expected values to be equal (at ArcanistLinterTestCase.php:169): Some linters failed: - RuntimeException: Uninitialized string offset: 0
14 msXHPASTNodeTestCase::testGetStringVariables
EXCEPTION (RuntimeException): Uninitialized string offset: 0 #0 /core/data/drydock/workingcopy-85/repo/arcanist/src/parser/xhpast/api/XHPASTNode.php(172): PhutilErrorHandler::handleError(8, 'Uninitialized s...', '/core/data/dryd...', 172, Array) #1 /core/data/drydock/workingcopy-85/repo/arcanist/src/parser/xhpast/api/__tests__/XHPASTNodeTestCase.php(26): XHPASTNode->getStringVariables()
1 msAbstractDirectedGraphTestCase::testCyclicGraph
1 assertion(s) passed.
0 msAbstractDirectedGraphTestCase::testEdgeLoadFailure
1 assertion(s) passed.
0 msAbstractDirectedGraphTestCase::testNonTreeGraph
1 assertion(s) passed.
View Full Test Results (2 Failed · 541 Passed · 34 Skipped)

Event Timeline

Harbormaster returned this revision to the author for changes because remote builds failed.Apr 26 2020, 3:32 PM
Harbormaster failed remote builds in B24233: Diff 50414!
  • Swap order to work better under PHP 7.3 and earlier.
Harbormaster returned this revision to the author for changes because remote builds failed.Apr 26 2020, 3:35 PM
Harbormaster failed remote builds in B24234: Diff 50415!
  • Actually look at the PHP 7.3x output before writing code for it.
  • Third try's the charm!
This revision was not accepted when it landed; it landed in state Needs Review.Apr 26 2020, 3:39 PM
epriestley requested review of this revision.
This revision was automatically updated to reflect the committed changes.