Author: gert
Date: 2008-02-10 02:59:17 -0500 (Sun, 10 Feb 2008)
New Revision: 95358
Modified:
trunk/gert/standalone/bug356938/test.cs
Log:
Do not rely on order of modules.
Modified: trunk/gert/standalone/bug356938/test.cs
===================================================================
--- trunk/gert/standalone/bug356938/test.cs 2008-02-10 04:05:55 UTC (rev
95357)
+++ trunk/gert/standalone/bug356938/test.cs 2008-02-10 07:59:17 UTC (rev
95358)
@@ -27,7 +27,11 @@
types = modules [0].GetTypes ();
Assert.AreEqual (0, types.Length, "#A3");
types = modules [0].GetTypes ();
+#if NET_2_0
Assert.AreEqual ("myDynamicModule.dll", modules [1].Name,
"#A4");
+#else
+ Assert.IsTrue (string.Compare (modules [1].Name,
"myDynamicModule.dll", true) == 0, "#A4");
+#endif
types = modules [1].GetTypes ();
Assert.AreEqual (1, types.Length, "#A5");
Assert.AreEqual ("myDynamicModuleType", types [0].FullName,
"#A6");
@@ -40,17 +44,27 @@
modules = a.GetModules ();
Assert.AreEqual (2, modules.Length, "#B1");
- Assert.IsNotNull (modules [0].Name, "#B2");
- types = modules [0].GetTypes ();
- Assert.AreEqual (0, types.Length, "#B3");
- types = modules [0].GetTypes ();
- Assert.IsNotNull (modules [1].Name, "#B4");
- types = modules [1].GetTypes ();
- Assert.AreEqual (1, types.Length, "#B5");
- Assert.AreEqual ("myDynamicModuleType", types [0].FullName,
"#B6");
- methods = types [0].GetMethods (BindingFlags.DeclaredOnly |
BindingFlags.Public | BindingFlags.Static);
- Assert.AreEqual (1, methods.Length, "#B7");
- Assert.AreEqual ("testDynamic", methods [0].Name, "#B8");
+
+ bool foundModule = false;
+
+ for (int i = 0; i < modules.Length; i++) {
+ Assert.IsNotNull (modules [i].Name, "#B2");
+ types = modules [i].GetTypes ();
+
+ if (types.Length > 0) {
+ Assert.IsFalse (foundModule, "#B3");
+ Assert.AreEqual (1, types.Length, "#B4");
+ Assert.AreEqual ("myDynamicModuleType", types
[0].FullName, "#B5");
+ methods = types [0].GetMethods
(BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Static);
+ Assert.AreEqual (1, methods.Length, "#B6");
+ Assert.AreEqual ("testDynamic", methods
[0].Name, "#B7");
+ foundModule = true;
+ } else {
+ Assert.AreEqual (0, types.Length, "#B8");
+ }
+ }
+
+ Assert.IsTrue (foundModule, "#C");
}
}
@@ -100,7 +114,7 @@
newName, AssemblyBuilderAccess.RunAndSave);
ModuleBuilder newModule = asmBuilder.DefineDynamicModule (
- "myDynamicModule1", "myDynamicModule" + ".dll", true);
+ "myDynamicModule1", "myDynamicModule.dll", true);
TypeBuilder myTypeBld = newModule.DefineType
("myDynamicModuleType",
TypeAttributes.Public);
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches