Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/cecil.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/Test
diff options
context:
space:
mode:
authorJb Evain <jb@evain.net>2015-03-22 01:27:29 +0300
committerJb Evain <jb@evain.net>2015-03-22 01:27:29 +0300
commit07aa84baf9f99730d05237fc7c791069dc616a89 (patch)
tree14a57a55bf51ea816bd61b6494191d7b4267fb9e /Test
parent14f2bb49174c80d80fdfb9c6beeeabe5698d61c5 (diff)
Ignore tests on Mono that can't run
Diffstat (limited to 'Test')
-rw-r--r--Test/Mono.Cecil.Tests/BaseTestFixture.cs44
-rw-r--r--Test/Mono.Cecil.Tests/CompilationService.cs2
-rw-r--r--Test/Mono.Cecil.Tests/ImageReadTests.cs2
3 files changed, 29 insertions, 19 deletions
diff --git a/Test/Mono.Cecil.Tests/BaseTestFixture.cs b/Test/Mono.Cecil.Tests/BaseTestFixture.cs
index fc7e69f..2cba703 100644
--- a/Test/Mono.Cecil.Tests/BaseTestFixture.cs
+++ b/Test/Mono.Cecil.Tests/BaseTestFixture.cs
@@ -10,6 +10,12 @@ namespace Mono.Cecil.Tests {
public abstract class BaseTestFixture {
+ protected static void IgnoreOnMono ()
+ {
+ if (Platform.OnMono)
+ Assert.Ignore ();
+ }
+
public static string GetResourcePath (string name, Assembly assembly)
{
return Path.Combine (FindResourcesDirectory (assembly), name);
@@ -73,19 +79,19 @@ namespace Mono.Cecil.Tests {
return Path.Combine (path, "Resources");
}
- public static void TestModule (string file, Action<ModuleDefinition> test, bool verify = true, Type symbolReaderProvider = null, Type symbolWriterProvider = null)
+ public static void TestModule (string file, Action<ModuleDefinition> test, bool verify = true, bool readOnly = false, Type symbolReaderProvider = null, Type symbolWriterProvider = null)
{
- Run (new ModuleTestCase (file, test, verify, symbolReaderProvider, symbolWriterProvider));
+ Run (new ModuleTestCase (file, test, verify, readOnly, symbolReaderProvider, symbolWriterProvider));
}
- public static void TestCSharp (string file, Action<ModuleDefinition> test, bool verify = true, Type symbolReaderProvider = null, Type symbolWriterProvider = null)
+ public static void TestCSharp (string file, Action<ModuleDefinition> test, bool verify = true, bool readOnly = false, Type symbolReaderProvider = null, Type symbolWriterProvider = null)
{
- Run (new CSharpTestCase (file, test, verify, symbolReaderProvider, symbolWriterProvider));
+ Run (new CSharpTestCase (file, test, verify, readOnly, symbolReaderProvider, symbolWriterProvider));
}
- public static void TestIL (string file, Action<ModuleDefinition> test, bool verify = true, Type symbolReaderProvider = null, Type symbolWriterProvider = null)
+ public static void TestIL (string file, Action<ModuleDefinition> test, bool verify = true, bool readOnly = false, Type symbolReaderProvider = null, Type symbolWriterProvider = null)
{
- Run (new ILTestCase (file, test, verify, symbolReaderProvider, symbolWriterProvider));
+ Run (new ILTestCase (file, test, verify, readOnly, symbolReaderProvider, symbolWriterProvider));
}
private static void Run (TestCase testCase)
@@ -96,6 +102,9 @@ namespace Mono.Cecil.Tests {
runner = new TestRunner (testCase, TestCaseType.ReadImmediate);
runner.RunTest ();
+ if (testCase.ReadOnly)
+ return;
+
runner = new TestRunner (testCase, TestCaseType.WriteFromDeferred);
runner.RunTest();
@@ -107,6 +116,7 @@ namespace Mono.Cecil.Tests {
abstract class TestCase {
public readonly bool Verify;
+ public readonly bool ReadOnly;
public readonly Type SymbolReaderProvider;
public readonly Type SymbolWriterProvider;
public readonly Action<ModuleDefinition> Test;
@@ -115,10 +125,11 @@ namespace Mono.Cecil.Tests {
protected Assembly Assembly { get { return Test.Method.Module.Assembly; } }
- protected TestCase (Action<ModuleDefinition> test, bool verify, Type symbolReaderProvider, Type symbolWriterProvider)
+ protected TestCase (Action<ModuleDefinition> test, bool verify, bool readOnly, Type symbolReaderProvider, Type symbolWriterProvider)
{
Test = test;
Verify = verify;
+ ReadOnly = readOnly;
SymbolReaderProvider = symbolReaderProvider;
SymbolWriterProvider = symbolWriterProvider;
}
@@ -128,8 +139,8 @@ namespace Mono.Cecil.Tests {
public readonly string Module;
- public ModuleTestCase (string module, Action<ModuleDefinition> test, bool verify, Type symbolReaderProvider, Type symbolWriterProvider)
- : base (test, verify, symbolReaderProvider, symbolWriterProvider)
+ public ModuleTestCase (string module, Action<ModuleDefinition> test, bool verify, bool readOnly, Type symbolReaderProvider, Type symbolWriterProvider)
+ : base (test, verify, readOnly, symbolReaderProvider, symbolWriterProvider)
{
Module = module;
}
@@ -144,8 +155,8 @@ namespace Mono.Cecil.Tests {
public readonly string File;
- public CSharpTestCase (string file, Action<ModuleDefinition> test, bool verify, Type symbolReaderProvider, Type symbolWriterProvider)
- : base (test, verify, symbolReaderProvider, symbolWriterProvider)
+ public CSharpTestCase (string file, Action<ModuleDefinition> test, bool verify, bool readOnly, Type symbolReaderProvider, Type symbolWriterProvider)
+ : base (test, verify, readOnly, symbolReaderProvider, symbolWriterProvider)
{
File = file;
}
@@ -154,7 +165,7 @@ namespace Mono.Cecil.Tests {
{
get
{
- return CompilationService.CompileResource(BaseTestFixture.GetCSharpResourcePath(File, Assembly));
+ return CompilationService.CompileResource (BaseTestFixture.GetCSharpResourcePath (File, Assembly));
}
}
}
@@ -163,8 +174,8 @@ namespace Mono.Cecil.Tests {
public readonly string File;
- public ILTestCase (string file, Action<ModuleDefinition> test, bool verify, Type symbolReaderProvider, Type symbolWriterProvider)
- : base (test, verify, symbolReaderProvider, symbolWriterProvider)
+ public ILTestCase (string file, Action<ModuleDefinition> test, bool verify, bool readOnly, Type symbolReaderProvider, Type symbolWriterProvider)
+ : base (test, verify, readOnly, symbolReaderProvider, symbolWriterProvider)
{
File = file;
}
@@ -173,7 +184,7 @@ namespace Mono.Cecil.Tests {
{
get
{
- return CompilationService.CompileResource(BaseTestFixture.GetILResourcePath(File, Assembly)); ;
+ return CompilationService.CompileResource (BaseTestFixture.GetILResourcePath (File, Assembly)); ;
}
}
}
@@ -183,7 +194,7 @@ namespace Mono.Cecil.Tests {
readonly TestCase test_case;
readonly TestCaseType type;
- public TestRunner(TestCase testCase, TestCaseType type)
+ public TestRunner (TestCase testCase, TestCaseType type)
{
this.test_case = testCase;
this.type = type;
@@ -274,5 +285,4 @@ namespace Mono.Cecil.Tests {
WriteFromImmediate,
WriteFromDeferred,
}
-
}
diff --git a/Test/Mono.Cecil.Tests/CompilationService.cs b/Test/Mono.Cecil.Tests/CompilationService.cs
index 2b2fd8b..54fef5f 100644
--- a/Test/Mono.Cecil.Tests/CompilationService.cs
+++ b/Test/Mono.Cecil.Tests/CompilationService.cs
@@ -20,7 +20,7 @@ namespace Mono.Cecil.Tests {
}
}
- class Platform {
+ public static class Platform {
public static bool OnMono { get { return typeof (object).Assembly.GetType ("Mono.Runtime") != null; } }
}
diff --git a/Test/Mono.Cecil.Tests/ImageReadTests.cs b/Test/Mono.Cecil.Tests/ImageReadTests.cs
index ed0ceaf..f84e41b 100644
--- a/Test/Mono.Cecil.Tests/ImageReadTests.cs
+++ b/Test/Mono.Cecil.Tests/ImageReadTests.cs
@@ -161,7 +161,7 @@ namespace Mono.Cecil.Tests {
{
TestModule ("metro.exe", module => {
Assert.AreEqual (ModuleCharacteristics.AppContainer, module.Characteristics & ModuleCharacteristics.AppContainer);
- }, verify: false);
+ }, verify: false, readOnly: Platform.OnMono);
}
}
}