[full-ci][tests-only] test: run tests in parallel#13657
Draft
anon-pradip wants to merge 21 commits into
Draft
Conversation
671aadf to
cc57e41
Compare
69e0afe to
07c303a
Compare
d9f8640 to
ea95d4f
Compare
d40460d to
1c33bca
Compare
7dcf10f to
a66ae8b
Compare
3fec540 to
7dacc81
Compare
7dacc81 to
cb6cc3e
Compare
a659d28 to
6122402
Compare
… login and beforeAll regressions
…remove verbose comment
05c2d50 to
fb49582
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.


Description
Problem Statement
Running E2E tests with
fullyParallel: truecaused failures from two categories of backend conflicts:worldthreading — every step/support function accepted and passedworldas a parameter, making the code noisy and hard to refactor.Solution
Part 1: Module-Level World Context Store
Replaced parameter threading with a module-level context store (
getWorld()/setWorld()). Any function can now access the current worker context withoutworldin its signature.world.ts— exportsgetWorld(),setWorld(), and theWorldclassconst world = getWorld()replacesworldparameter in every functiongetUser,getGroup,getCreatedGroup,getSpace,getCreatedUseretc. callgetWorld()internallydeleteGroup/addUserToGroup— removed the unusedworldparam entirely (already dead)Part 2: Worker-Aware Resource Isolation
alice+w0-abc@example.org) to avoid Keycloak 409 duplicate email errors(workerIndex)suffix for UI matchinguser.idfirst, falls back touser.originalIdfor backward compatibilitybeforeAllreads directly fromstore.userStoresince no World is available thereBackward Compatibility
All transformations are gated on
getWorld()returning a valid World instance. Running without parallel workers (fullyParallel: false) bypasses all ID transformations — non-parallel test paths are unaffected.Related Issue
Motivation and Context
How Has This Been Tested?
Screenshots (if appropriate):
Types of changes
Open tasks: