testKit: report all root unready APIs on loading timeout + configurable timeout#351
Open
bodia-uz wants to merge 1 commit into
Open
testKit: report all root unready APIs on loading timeout + configurable timeout#351bodia-uz wants to merge 1 commit into
bodia-uz wants to merge 1 commit into
Conversation
bodia-uz
force-pushed
the
feat/unready-entry-points-report
branch
from
July 6, 2026 15:54
2397d1a to
2441dbd
Compare
bodia-uz
force-pushed
the
feat/unready-entry-points-report
branch
4 times, most recently
from
July 6, 2026 16:48
75980f7 to
ebb6474
Compare
…y APIs on timeout getRootUnreadyAPI walked a single dependency chain from an arbitrary first unready entry point - sibling branches were dropped and only one API was reported even when several independent APIs are missing. Replace the walk with getRootUnreadyAPIs (plural) on repluggableAppDebug.utils: dependencies of unready entry points that are neither ready nor declared by another unready entry point. The singular util becomes its first element. The testKit timeout message now lists all of them, and the hardcoded 3s timeout becomes an optional parameter (default unchanged) so heavy hosts can raise it above their boot time and let this error surface before the test runner's own opaque timeout. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
bodia-uz
force-pushed
the
feat/unready-entry-points-report
branch
from
July 6, 2026 17:04
ebb6474 to
0eb1099
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
When
createAppHostAndWaitForLoadingtimes out, the message reports a single API fromgetRootUnreadyAPI(), which walks one dependency chain from an arbitrary first unready entry point — sibling branches are dropped, so when several independent APIs are missing only one (sometimes not the actionable one) is shown.The 3s timeout is also hardcoded. In heavy integration setups host creation alone exceeds the test runner's timeout, so this informative rejection loses the race and developers only see a bare
Exceeded timeout of 5000 msfrom Jest.What
repluggableAppDebug.utils.getRootUnreadyAPIs()(plural) — dependencies of unready entry points that are neither ready nor declared by another unready entry point, i.e. the actual blockers (missing entry point/pact, or a contribution that never completed). Replaces the single-chain walk (net −32 lines, no longer loops forever on dependency cycles);getRootUnreadyAPI()is deprecated and returns the first element.createAppHostAndWaitForLoading(packages, pacts, timeout = 3000)— optional third parameter, default unchangedDebug-util specs migrated to the plural util; testKit specs unchanged + two added (multi-root message, custom timeout).
🤖 Generated with Claude Code