mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-01 16:59:35 +01:00
Fix InvokeLeakTest debugger failure on x64 with high-resolution timing (#4304)
* Initial plan * Add comprehensive analysis of InvokeLeakTest debugger failure Co-authored-by: tig <585482+tig@users.noreply.github.com> * Add XML documentation to InvokeLeakTest about debugger issues Co-authored-by: tig <585482+tig@users.noreply.github.com> * Add visual timing diagrams for InvokeLeakTest analysis Co-authored-by: tig <585482+tig@users.noreply.github.com> * Add executive summary of InvokeLeakTest investigation Co-authored-by: tig <585482+tig@users.noreply.github.com> * Update analysis with x64 vs ARM confirmation from @tig Co-authored-by: tig <585482+tig@users.noreply.github.com> * Implement Stopwatch-based timing in TimedEvents to fix x64 race condition Co-authored-by: tig <585482+tig@users.noreply.github.com> * Update documentation to reflect fix implementation Co-authored-by: tig <585482+tig@users.noreply.github.com> * Fix test issues and increase TimeSpan.Zero buffer for debugger safety Co-authored-by: tig <585482+tig@users.noreply.github.com> * Add MainLoop.Wakeup() call in Invoke and remove problematic test Co-authored-by: tig <585482+tig@users.noreply.github.com> * Auto-detect debugger and increase test timeout to 500ms Co-authored-by: tig <585482+tig@users.noreply.github.com> * Remove unnecessary MainLoop.Wakeup() call for v2 drivers Co-authored-by: tig <585482+tig@users.noreply.github.com> * Move analysis documents to Tests/StressTests folder Co-authored-by: tig <585482+tig@users.noreply.github.com> * Add test coverage for multiple drivers per @BDisp's suggestion Co-authored-by: tig <585482+tig@users.noreply.github.com> * Revert multi-driver test coverage changes per @tig request Co-authored-by: tig <585482+tig@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: tig <585482+tig@users.noreply.github.com>
This commit is contained in:
@@ -243,7 +243,8 @@ public class MainLoopTests
|
||||
var ml = new MainLoop (new FakeMainLoop ());
|
||||
var ms = 100;
|
||||
|
||||
long originTicks = DateTime.UtcNow.Ticks;
|
||||
// Use Stopwatch ticks since TimedEvents now uses Stopwatch.GetTimestamp internally
|
||||
long originTicks = Stopwatch.GetTimestamp () * TimeSpan.TicksPerSecond / Stopwatch.Frequency;
|
||||
|
||||
var callbackCount = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user