Page MenuHomePhabricator

Make "FutureIterator" queue management more formal
ClosedPublic

Authored by epriestley on Feb 27 2020, 2:13 PM.
Tags
None
Referenced Files
F13135455: D21036.id50109.diff
Thu, May 2, 8:48 AM
Unknown Object (File)
Wed, May 1, 8:07 PM
Unknown Object (File)
Sun, Apr 28, 9:30 AM
Unknown Object (File)
Sat, Apr 27, 10:30 PM
Unknown Object (File)
Fri, Apr 26, 11:08 PM
Unknown Object (File)
Sat, Apr 20, 5:08 PM
Unknown Object (File)
Wed, Apr 17, 3:08 PM
Unknown Object (File)
Tue, Apr 16, 5:01 AM
Subscribers
None

Details

Summary

Depends on D21035. Ref T11968. This allows a "FutureIterator" to hold futures which are blocked because of unresolved dependencies, and makes the resolution process more structured.

Test Plan

Ran unit tests, created this revision.

Diff Detail

Repository
rARC Arcanist
Branch
fx6
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 23927
Build 32929: Run Core Tests
Build 32928: arc lint + arc unit

Unit TestsFailed

TimeTest
15 msExecFutureTestCase::testResolveTimeoutTestShouldRunLessThan1Sec
EXCEPTION (Exception): Future has already started; futures can not start more than once. #0 /core/data/drydock/workingcopy-83/repo/arcanist/src/future/FutureIterator.php(390): Future->startFuture() #1 /core/data/drydock/workingcopy-83/repo/arcanist/src/future/FutureIterator.php(366): FutureIterator->moveFutureToWork('Future/638')
0 msAbstractDirectedGraphTestCase::testCyclicGraph
1 assertion(s) passed.
1 msAbstractDirectedGraphTestCase::testEdgeLoadFailure
1 assertion(s) passed.
0 msAbstractDirectedGraphTestCase::testNonTreeGraph
1 assertion(s) passed.
0 msAbstractDirectedGraphTestCase::testNoncyclicGraph
1 assertion(s) passed.
View Full Test Results (1 Failed · 488 Passed · 63 Skipped)