Imported Upstream version 5.0.0.42

Former-commit-id: fd56571888259555122d8a0f58c68838229cea2b
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2017-04-10 11:41:01 +00:00
parent 1190d13a04
commit 6bdd276d05
19939 changed files with 3099680 additions and 93811 deletions

View File

@@ -16,7 +16,8 @@ VALID_TEST_PROFILE := $(filter net_4_x, $(PROFILE))
ifdef VALID_TEST_PROFILE
TEST_HELPERS_SOURCES = \
../test-helpers/NetworkHelpers.cs
../test-helpers/NetworkHelpers.cs \
Test/TypeLoadClass.cs
test-local: dtest-app.exe dtest-excfilter.exe

View File

@@ -36,7 +36,7 @@ namespace Mono.Debugger.Soft
struct SourceInfo {
public string source_file;
public byte[] guid, hash;
public byte[] hash;
}
class DebugInfo {

View File

@@ -13,6 +13,7 @@ using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
using System.Net.Sockets;
using System.Threading.Tasks;
using MonoTests.Helpers;
public class TestsBase
@@ -318,6 +319,7 @@ public class Tests : TestsBase, ITest2
threadpool_io ();
return 0;
}
assembly_load ();
breakpoints ();
single_stepping ();
arguments ();
@@ -327,7 +329,6 @@ public class Tests : TestsBase, ITest2
locals ();
line_numbers ();
type_info ();
assembly_load ();
invoke ();
exceptions ();
exception_filter ();
@@ -431,6 +432,7 @@ public class Tests : TestsBase, ITest2
ss_recursive_chaotic ();
ss_fp_clobber ();
ss_no_frames ();
ss_await ();
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
@@ -485,25 +487,51 @@ public class Tests : TestsBase, ITest2
public static void ss6_2 () {
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static void ss7 () {
try {
ss7_2 ();
ss7_3 ();
} catch {
}
ss7_2 ();
[MethodImplAttribute(MethodImplOptions.NoInlining)]
public static void ss7 ()
{
ss7_2();//Used to test stepout inside ss7_2, which may not go to catch
ss7_2();//Used to test stepout inside ss7_2_1, which must go to catch
ss7_2();//Used to test stepover inside ss7_2, which must go to catch
ss7_2();//Used to test stepover inside ss7_2_1, which must go to catch
ss7_3();//Used to test stepin inside ss7_3, which must go to catch
ss7_2();//Used to test stepin inside ss7_2_1, which must go to catch
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static void ss7_2 () {
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static void ss7_3 () {
[MethodImplAttribute(MethodImplOptions.NoInlining)]
public static void ss7_2_1 ()
{
throw new Exception ();
}
[MethodImplAttribute(MethodImplOptions.NoInlining)]
public static void ss7_2_2 ()
{
ss7_2_1();
}
[MethodImplAttribute(MethodImplOptions.NoInlining)]
public static void ss7_2 ()
{
try {
ss7_2_2();
}
catch
{
}
}
[MethodImplAttribute(MethodImplOptions.NoInlining)]
public static void ss7_3 ()
{
try {
throw new Exception ();
}
catch
{
}
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static void ss_nested () {
ss_nested_1 (ss_nested_2 ());
@@ -691,6 +719,52 @@ public class Tests : TestsBase, ITest2
ss_no_frames_3 ();
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static void ss_await ()
{
ss_await_1 ().Wait ();//in
ss_await_1 ().Wait ();//over
ss_await_1 ().Wait ();//out before
ss_await_1 ().Wait ();//out after
ss_await_1_exc (true, true).Wait ();//in
ss_await_1_exc (true, true).Wait ();//over
ss_await_1_exc (true, true).Wait ();//out
try {
ss_await_1_exc (true, false).Wait ();//in
} catch { }
try {
ss_await_1_exc (true, false).Wait ();//over
} catch { }
try {
ss_await_1_exc (true, false).Wait ();//out
} catch { }
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static async Task<int> ss_await_1 () {
var a = 1;
await Task.Delay (10);
return a + 2;
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static async Task<int> ss_await_1_exc (bool exc, bool handled)
{
var a = 1;
await Task.Delay (10);
if (exc) {
if (handled) {
try {
throw new Exception ();
} catch {
}
} else {
throw new Exception ();
}
}
return a + 2;
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static void ss_no_frames_2 () {
}
@@ -1616,12 +1690,6 @@ public class Tests : TestsBase, ITest2
}
}
class TypeLoadClass {
}
class TypeLoadClass2 {
}
public class SentinelClass : MarshalByRefObject {
}
@@ -1651,6 +1719,25 @@ public class Foo
public ProcessStartInfo info;
}
class LocalReflectClass
{
public static void RunMe ()
{
var reflectMe = new someClass ();
var temp = reflectMe; // Breakpoint location
reflectMe.someMethod ();
}
class someClass : ContextBoundObject
{
public object someField;
public void someMethod ()
{
}
}
}
// Class used for line number info testing, don't change its layout
public class LineNumbers
{
@@ -1674,22 +1761,5 @@ public class LineNumbers
}
}
class LocalReflectClass
{
public static void RunMe ()
{
var reflectMe = new someClass ();
reflectMe.someMethod ();
}
class someClass : ContextBoundObject
{
public object someField;
public void someMethod ()
{
}
}
}

View File

@@ -1 +1 @@
1d8f429b58b595754ddcbc30238a86f4f64a5050
61b3e31088102e4ffffb6bdae168636c1356d2de