From bc23bf4ee16cbd1999105b1916e1f2f76baef6a7 Mon Sep 17 00:00:00 2001 From: Thays Grazia Date: Wed, 26 Jul 2023 11:04:04 -0300 Subject: [PATCH] [wasm][debugger] Adding test for #42421 (#89395) * Adding test for #42421 * Remove pdb to simulate the same scenario that a customer has. * Fix tests that have a different behavior without system.private.corelib.pdb --- .../wasm/debugger/DebuggerTestSuite/AsyncTests.cs | 15 +++++++++++++++ .../debugger/DebuggerTestSuite/BreakpointTests.cs | 4 ++-- .../tests/debugger-test/debugger-test.csproj | 3 ++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/mono/wasm/debugger/DebuggerTestSuite/AsyncTests.cs b/src/mono/wasm/debugger/DebuggerTestSuite/AsyncTests.cs index 0711883eab4e85..592f6efec673d8 100644 --- a/src/mono/wasm/debugger/DebuggerTestSuite/AsyncTests.cs +++ b/src/mono/wasm/debugger/DebuggerTestSuite/AsyncTests.cs @@ -154,5 +154,20 @@ await EvaluateAndCheck( } ); } + + [ConditionalFact(nameof(WasmSingleThreaded), nameof(RunningOnChrome))] + public async Task StepOutOfAsyncMethod() + { + await SetJustMyCode(true); + string source_file = "dotnet://debugger-test.dll/debugger-async-step.cs"; + + await SetBreakpointInMethod("debugger-test.dll", "DebuggerTests.AsyncStepClass", "TestAsyncStepOut2", 2); + await EvaluateAndCheck( + "window.setTimeout(function() { invoke_static_method_async('[debugger-test] DebuggerTests.AsyncStepClass:TestAsyncStepOut'); }, 1);", + "dotnet://debugger-test.dll/debugger-async-step.cs", 21, 12, + "DebuggerTests.AsyncStepClass.TestAsyncStepOut2"); + + await StepAndCheck(StepKind.Out, source_file, 16, 8, "DebuggerTests.AsyncStepClass.TestAsyncStepOut"); + } } } diff --git a/src/mono/wasm/debugger/DebuggerTestSuite/BreakpointTests.cs b/src/mono/wasm/debugger/DebuggerTestSuite/BreakpointTests.cs index f251ceb78b2296..356f7bb4c1f4a5 100644 --- a/src/mono/wasm/debugger/DebuggerTestSuite/BreakpointTests.cs +++ b/src/mono/wasm/debugger/DebuggerTestSuite/BreakpointTests.cs @@ -839,9 +839,9 @@ await EvaluateAndCheck( [Theory] [InlineData("IDefaultInterface", "DefaultMethod", "Evaluate", "DefaultInterfaceMethod.Evaluate", 1089, 1005, 1003, 1007)] [InlineData("IExtendIDefaultInterface", "IDefaultInterface.DefaultMethodToOverride", "Evaluate", "DefaultInterfaceMethod.Evaluate", 1090, 1049, 1047, 1051)] - [InlineData("IDefaultInterface", "DefaultMethodAsync", "EvaluateAsync", "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Startd__3>", 37, 1018, 1016, 1020)] + [InlineData("IDefaultInterface", "DefaultMethodAsync", "EvaluateAsync", "DefaultInterfaceMethod.EvaluateAsync", 1097, 1018, 1016, 1020)] [InlineData("IDefaultInterface", "DefaultMethodStatic", "EvaluateStatic", "DefaultInterfaceMethod.EvaluateStatic", 1126, 1024, 1022, 1026)] - [InlineData("IDefaultInterface", "DefaultMethodAsyncStatic", "EvaluateAsyncStatic", "System.Runtime.CompilerServices.AsyncMethodBuilderCore.Startd__5>", 37, 1033, 1031, 1035)] + [InlineData("IDefaultInterface", "DefaultMethodAsyncStatic", "EvaluateAsyncStatic", "DefaultInterfaceMethod.EvaluateAsyncStatic", 1131, 1033, 1031, 1035)] public async Task BreakInDefaultInterfaceMethod( string dimClassName, string dimName, string entryMethod, string prevFrameInDim, int evaluateAsPrevFrameLine, int dimAsPrevFrameLine, int functionLocationLine, int functionEndLine) { diff --git a/src/mono/wasm/debugger/tests/debugger-test/debugger-test.csproj b/src/mono/wasm/debugger/tests/debugger-test/debugger-test.csproj index 3d1ca30dbbf1d1..3dad6526e0c504 100644 --- a/src/mono/wasm/debugger/tests/debugger-test/debugger-test.csproj +++ b/src/mono/wasm/debugger/tests/debugger-test/debugger-test.csproj @@ -52,7 +52,8 @@ - + + false $(AppDir)