Skip to content

test: strengthen ProfileExManager concurrency regression coverage - #10410

Open
aleksandr-miheichev wants to merge 1 commit into
2dust:masterfrom
aleksandr-miheichev:codex/fix-profile-ex-creation-race
Open

aleksandr-miheichev wants to merge 1 commit into
2dust:masterfrom
aleksandr-miheichev:codex/fix-profile-ex-creation-race

Conversation

@aleksandr-miheichev

@aleksandr-miheichev aleksandr-miheichev commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

The production fix proposed here has been merged in #10420. This PR is rebased onto that change and now adds regression coverage for concurrent first creation.

Synchronize workers before each new ID in SetTestDelay_ShouldCreateOneEntryPerIndex. Add a mixed-setter test that checks delay, speed, message, IP information and sort are retained on one entry per ID. The final diff changes only the test file and preserves the production implementation accepted in #10420.

Validation for 2609f5a:

  • Windows x64, .NET SDK 10.0.402: dotnet test --project ./v2rayN/ServiceLib.Tests -c Release -- --report-trx — 137 passed, 0 failed, 0 skipped.
  • Each regression method passed in 20 fresh test processes: 40/40 passed, with exactly one executed test and no skips verified in every TRX report.
  • Negative control with the same tests and only ProfileExManager restored to the parent of fix(profile-ex): 修复并发创建重复 ProfileExItem 的问题 #10420: both methods failed in 3/3 fresh processes, finding 27–37 entries instead of 10 and 226–274 instead of 100.
  • Linux Code Test for the updated PR head — 137 passed, 0 failed, 0 skipped.

@aleksandr-miheichev
aleksandr-miheichev force-pushed the codex/fix-profile-ex-creation-race branch from fa1ca2d to 2609f5a Compare October 20, 2026 18:43
@aleksandr-miheichev aleksandr-miheichev changed the title fix: prevent duplicate profile result entries test: strengthen ProfileExManager concurrency regression coverage Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant