ConstReadonlyflpSettings: "sap:flp-settings"FLP user settings — language, timezone, date/number format.
ReadonlytestData: "sap:test-data"The shared test-data directory, whose cleanup is recursive.
ReadonlytestUser: "sap:test-user"A single named SAP test user shared across a suite.
Each entry corresponds to a contention source verified in the code, not a guess:
flpSettings — FLP user settings (language, timezone, number format).
FLPSettingsHandler is read-only, so it is the victim here rather
than the cause: a test that changes the language through the FLP UI
corrupts a concurrent reader. Lock the test that mutates.testUser — a single named SAP user shared by a suite. Logging in,
personalizing, or holding a transaction affects every other test using it.testData — TestDataHandler.cleanup() calls
rm(baseDir, { recursive: true, force: true }). Without a lock, one
worker's teardown deletes another worker's fixtures mid-test.For a specific business object use sapObjectLock instead, so two tests editing different purchase orders still run in parallel.
Conventional lock names for state SAP tests actually share.