Page MenuHomePhabricator

Make "FutureIterator" queue management more formal
ClosedPublic

Authored by epriestley on Feb 27 2020, 2:13 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Nov 22, 6:08 AM
Unknown Object (File)
Fri, Nov 22, 3:51 AM
Unknown Object (File)
Thu, Nov 21, 8:22 PM
Unknown Object (File)
Fri, Nov 1, 8:38 PM
Unknown Object (File)
Oct 21 2024, 10:01 PM
Unknown Object (File)
Oct 21 2024, 7:27 PM
Unknown Object (File)
Oct 19 2024, 8:03 AM
Unknown Object (File)
Oct 16 2024, 9:30 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)