diff options
author | Jb Evain <jb@evain.net> | 2015-03-22 01:27:29 +0300 |
---|---|---|
committer | Jb Evain <jb@evain.net> | 2015-03-22 01:27:29 +0300 |
commit | 07aa84baf9f99730d05237fc7c791069dc616a89 (patch) | |
tree | 14a57a55bf51ea816bd61b6494191d7b4267fb9e /Test | |
parent | 14f2bb49174c80d80fdfb9c6beeeabe5698d61c5 (diff) |
Ignore tests on Mono that can't run
Diffstat (limited to 'Test')
-rw-r--r-- | Test/Mono.Cecil.Tests/BaseTestFixture.cs | 44 | ||||
-rw-r--r-- | Test/Mono.Cecil.Tests/CompilationService.cs | 2 | ||||
-rw-r--r-- | Test/Mono.Cecil.Tests/ImageReadTests.cs | 2 |
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); } } } |