You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@@ -419,6 +419,9 @@ public class Tests : TestsBase, ITest2
|
||||
ss_step_through ();
|
||||
ss_non_user_code ();
|
||||
ss_recursive (1);
|
||||
ss_recursive2 (1);
|
||||
ss_recursive2 (1);
|
||||
ss_recursive_chaotic ();
|
||||
ss_fp_clobber ();
|
||||
}
|
||||
|
||||
@@ -568,6 +571,92 @@ public class Tests : TestsBase, ITest2
|
||||
ss_recursive (n + 1);
|
||||
}
|
||||
|
||||
// Breakpoint will be placed here
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void ss_recursive2_trap ()
|
||||
{
|
||||
}
|
||||
|
||||
public static void ss_recursive2_at (string s)
|
||||
{
|
||||
// Console.WriteLine (s);
|
||||
}
|
||||
|
||||
// This method is used both for a step over and step out test.
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void ss_recursive2 (int x)
|
||||
{
|
||||
ss_recursive2_at ( "ss_recursive2 in " + x);
|
||||
if (x < 5) {
|
||||
int next = x + 1;
|
||||
ss_recursive2_at ("ss_recursive2 descend " + x);
|
||||
ss_recursive2_trap ();
|
||||
ss_recursive2 (next);
|
||||
}
|
||||
ss_recursive2_at ("ss_recursive2 out " + x);
|
||||
}
|
||||
|
||||
// Breakpoint will be placed here
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void ss_recursive_chaotic_trap ()
|
||||
{
|
||||
}
|
||||
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void ss_recursive_chaotic_at (bool exiting, string at, int n)
|
||||
{
|
||||
// string indent = "";
|
||||
// for (int count = 5 - n; count > 0; count--)
|
||||
// indent += "\t";
|
||||
// Console.WriteLine (indent + (exiting ? "<--" : "-->") + " " + at + " " + n);
|
||||
}
|
||||
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void ss_recursive_chaotic_fizz (int n)
|
||||
{
|
||||
ss_recursive_chaotic_at (false, "fizz", n);
|
||||
if (n > 0) {
|
||||
int next = n - 1;
|
||||
ss_recursive_chaotic_buzz (next);
|
||||
ss_recursive_chaotic_fizzbuzz (next);
|
||||
} else {
|
||||
ss_recursive_chaotic_trap ();
|
||||
}
|
||||
ss_recursive_chaotic_at (true, "fizz", n);
|
||||
}
|
||||
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void ss_recursive_chaotic_buzz (int n)
|
||||
{
|
||||
ss_recursive_chaotic_at (false, "buzz", n);
|
||||
if (n > 0) {
|
||||
int next = n - 1;
|
||||
ss_recursive_chaotic_fizz (next);
|
||||
ss_recursive_chaotic_fizzbuzz (next);
|
||||
}
|
||||
ss_recursive_chaotic_at (true, "buzz", n);
|
||||
}
|
||||
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void ss_recursive_chaotic_fizzbuzz (int n)
|
||||
{
|
||||
ss_recursive_chaotic_at (false, "fizzbuzz", n);
|
||||
if (n > 0) {
|
||||
int next = n - 1;
|
||||
ss_recursive_chaotic_fizz (next);
|
||||
ss_recursive_chaotic_buzz (next);
|
||||
ss_recursive_chaotic_fizzbuzz (next);
|
||||
}
|
||||
ss_recursive_chaotic_at (true, "fizzbuzz", n);
|
||||
}
|
||||
|
||||
// Call a complex tree of recursive calls that has tripped up "step out" in the past.
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void ss_recursive_chaotic ()
|
||||
{
|
||||
ss_recursive_chaotic_fizz (5);
|
||||
}
|
||||
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void ss_fp_clobber () {
|
||||
double v = ss_fp_clobber_1 (5.0);
|
||||
@@ -1200,6 +1289,8 @@ public class Tests : TestsBase, ITest2
|
||||
CrossDomain o = (CrossDomain)domain.CreateInstanceAndUnwrap (
|
||||
typeof (CrossDomain).Assembly.FullName, "CrossDomain");
|
||||
|
||||
domains_print_across (o);
|
||||
|
||||
domains_2 (o, new CrossDomain ());
|
||||
|
||||
o.invoke_2 ();
|
||||
@@ -1223,6 +1314,10 @@ public class Tests : TestsBase, ITest2
|
||||
public static void domains_2 (object o, object o2) {
|
||||
}
|
||||
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void domains_print_across (object o) {
|
||||
}
|
||||
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void domains_3 () {
|
||||
}
|
||||
@@ -1454,8 +1549,13 @@ class TypeLoadClass {
|
||||
class TypeLoadClass2 {
|
||||
}
|
||||
|
||||
public class SentinelClass : MarshalByRefObject {
|
||||
}
|
||||
|
||||
public class CrossDomain : MarshalByRefObject
|
||||
{
|
||||
SentinelClass printMe = new SentinelClass ();
|
||||
|
||||
public void invoke () {
|
||||
Tests.invoke_in_domain ();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user