diff options
author | Bernhard Urban <bernhard.urban@xamarin.com> | 2018-05-26 00:57:51 +0300 |
---|---|---|
committer | Ludovic Henry <luhenry@microsoft.com> | 2018-05-26 00:57:51 +0300 |
commit | 92d9a3ca16c6fa606a87b2af7cee6424d9c20cd9 (patch) | |
tree | 080b1e4f9ff09ce30514fad7cdb34eeb4ff81041 /mcs | |
parent | fae3b3506aa7b89ba4a22548c94e6bac99d50853 (diff) |
[Mono.Debugger.Soft.Test] Use interp on debugee (#8851)
* [debugger tests] use runtime flags for debugee
* [debugger] handle managed-to-native frames
fixes DebuggerTests.InspectThreadSuspenedOnWaitOne on the interpreter
* [interp] set SP in monoctx that is passed to exception handling
fixes DebuggerTests.ExceptionFilter on the interpreter
* [debugger] fix debugger_invoke frame in interp case
fixes DebuggerTests.BreakpointDuringInvoke on the interpreter
Diffstat (limited to 'mcs')
-rw-r--r-- | mcs/build/tests.make | 2 | ||||
-rw-r--r-- | mcs/class/Mono.Debugger.Soft/Test/dtest.cs | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/mcs/build/tests.make b/mcs/build/tests.make index 2b1c183417b..b648ee442c8 100644 --- a/mcs/build/tests.make +++ b/mcs/build/tests.make @@ -212,7 +212,7 @@ endif ## FIXME: i18n problem in the 'sed' command below run-test-lib: test-local test-local-aot-compile patch-nunitlite-appconfig ok=:; \ - PATH="$(TEST_RUNTIME_WRAPPERS_PATH):$(PATH)" MONO_REGISTRY_PATH="$(HOME)/.mono/registry" MONO_TESTS_IN_PROGRESS="yes" $(TEST_HARNESS_EXEC) $(test_assemblies) $(NOSHADOW_FLAG) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) $(TEST_HARNESS_EXCLUDES) $(LABELS_ARG) -format:nunit2 -result:TestResult-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG)|| ok=false; \ + PATH="$(TEST_RUNTIME_WRAPPERS_PATH):$(PATH)" MONO_REGISTRY_PATH="$(HOME)/.mono/registry" MONO_TESTS_IN_PROGRESS="yes" DBG_RUNTIME_ARGS="$(TEST_RUNTIME_FLAGS)" $(TEST_HARNESS_EXEC) $(test_assemblies) $(NOSHADOW_FLAG) $(TEST_HARNESS_FLAGS) $(LOCAL_TEST_HARNESS_FLAGS) $(TEST_HARNESS_EXCLUDES) $(LABELS_ARG) -format:nunit2 -result:TestResult-$(PROFILE).xml $(FIXTURE_ARG) $(TESTNAME_ARG)|| ok=false; \ if [ ! -f "TestResult-$(PROFILE).xml" ]; then echo "<?xml version='1.0' encoding='utf-8'?><test-results failures='1' total='1' not-run='0' name='bcl-tests' date='$$(date +%F)' time='$$(date +%T)'><test-suite name='$(strip $(test_assemblies))' success='False' time='0'><results><test-case name='$(notdir $(strip $(test_assemblies))).crash' executed='True' success='False' time='0'><failure><message>The test runner didn't produce a test result XML, probably due to a crash of the runtime. Check the log for more details.</message><stack-trace></stack-trace></failure></test-case></results></test-suite></test-results>" > TestResult-$(PROFILE).xml; fi; \ $$ok diff --git a/mcs/class/Mono.Debugger.Soft/Test/dtest.cs b/mcs/class/Mono.Debugger.Soft/Test/dtest.cs index da0d8dc3d1a..de430ae354a 100644 --- a/mcs/class/Mono.Debugger.Soft/Test/dtest.cs +++ b/mcs/class/Mono.Debugger.Soft/Test/dtest.cs @@ -45,6 +45,7 @@ public class DebuggerTests public static bool listening = Environment.GetEnvironmentVariable ("DBG_SUSPEND") != null; #endif public static string runtime = Environment.GetEnvironmentVariable ("DBG_RUNTIME"); + public static string runtime_args = Environment.GetEnvironmentVariable ("DBG_RUNTIME_ARGS"); public static string agent_args = Environment.GetEnvironmentVariable ("DBG_AGENT_ARGS"); // Not currently used, but can be useful when debugging individual tests. @@ -84,6 +85,8 @@ public class DebuggerTests if (string.IsNullOrEmpty (pi.FileName)) pi.FileName = "mono"; pi.Arguments = String.Join (" ", args); + if (runtime_args != null) + pi.Arguments = runtime_args + " " + pi.Arguments; return pi; } |