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)
Feb 3 2024, 11:48 PM
Unknown Object (File)
Dec 24 2023, 10:49 AM
Unknown Object (File)
Dec 23 2023, 10:19 PM
Unknown Object (File)
Dec 20 2023, 9:32 AM
Unknown Object (File)
Dec 16 2023, 2:19 PM
Unknown Object (File)
Nov 30 2023, 2:26 AM
Unknown Object (File)
Nov 25 2023, 11:10 PM
Unknown Object (File)
Nov 16 2023, 1:07 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)