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
diff options
context:
space:
mode:
authorIgnas Ziberkas <ignas@unity3d.com>2015-11-02 16:05:35 +0300
committerIgnas Ziberkas <ignas@unity3d.com>2015-11-02 16:05:35 +0300
commit526112013873481a999de75e9104c7f09cca03d7 (patch)
tree826998be324e01bf22215f1ef75e89a25559dc3e
parenta6f9d15417983a40a7cea14ba6c3ecc773b53d58 (diff)
Assembly resolver used in tests no longer have to derive from BaseAssemblyResolver class
-rw-r--r--Test/Mono.Cecil.Tests/BaseTestFixture.cs32
1 files changed, 17 insertions, 15 deletions
diff --git a/Test/Mono.Cecil.Tests/BaseTestFixture.cs b/Test/Mono.Cecil.Tests/BaseTestFixture.cs
index 07dbbed..f782ffc 100644
--- a/Test/Mono.Cecil.Tests/BaseTestFixture.cs
+++ b/Test/Mono.Cecil.Tests/BaseTestFixture.cs
@@ -79,17 +79,17 @@ namespace Mono.Cecil.Tests {
return Path.Combine (path, "Resources");
}
- public static void TestModule (string file, Action<ModuleDefinition> test, bool verify = true, bool readOnly = false, Type symbolReaderProvider = null, Type symbolWriterProvider = null, BaseAssemblyResolver assemblyResolver = null)
+ public static void TestModule (string file, Action<ModuleDefinition> test, bool verify = true, bool readOnly = false, Type symbolReaderProvider = null, Type symbolWriterProvider = null, IAssemblyResolver assemblyResolver = null)
{
Run (new ModuleTestCase (file, test, verify, readOnly, symbolReaderProvider, symbolWriterProvider, assemblyResolver));
}
- public static void TestCSharp (string file, Action<ModuleDefinition> test, bool verify = true, bool readOnly = false, Type symbolReaderProvider = null, Type symbolWriterProvider = null, BaseAssemblyResolver assemblyResolver = null)
+ public static void TestCSharp (string file, Action<ModuleDefinition> test, bool verify = true, bool readOnly = false, Type symbolReaderProvider = null, Type symbolWriterProvider = null, IAssemblyResolver assemblyResolver = null)
{
Run (new CSharpTestCase (file, test, verify, readOnly, symbolReaderProvider, symbolWriterProvider, assemblyResolver));
}
- public static void TestIL (string file, Action<ModuleDefinition> test, bool verify = true, bool readOnly = false, Type symbolReaderProvider = null, Type symbolWriterProvider = null, BaseAssemblyResolver assemblyResolver = null)
+ public static void TestIL (string file, Action<ModuleDefinition> test, bool verify = true, bool readOnly = false, Type symbolReaderProvider = null, Type symbolWriterProvider = null, IAssemblyResolver assemblyResolver = null)
{
Run (new ILTestCase (file, test, verify, readOnly, symbolReaderProvider, symbolWriterProvider, assemblyResolver));
}
@@ -119,14 +119,14 @@ namespace Mono.Cecil.Tests {
public readonly bool ReadOnly;
public readonly Type SymbolReaderProvider;
public readonly Type SymbolWriterProvider;
- public readonly BaseAssemblyResolver AssemblyResolver;
+ public readonly IAssemblyResolver AssemblyResolver;
public readonly Action<ModuleDefinition> Test;
public abstract string ModuleLocation { get; }
protected Assembly Assembly { get { return Test.Method.Module.Assembly; } }
- protected TestCase (Action<ModuleDefinition> test, bool verify, bool readOnly, Type symbolReaderProvider, Type symbolWriterProvider, BaseAssemblyResolver assemblyResolver)
+ protected TestCase (Action<ModuleDefinition> test, bool verify, bool readOnly, Type symbolReaderProvider, Type symbolWriterProvider, IAssemblyResolver assemblyResolver)
{
Test = test;
Verify = verify;
@@ -141,7 +141,7 @@ namespace Mono.Cecil.Tests {
public readonly string Module;
- public ModuleTestCase (string module, Action<ModuleDefinition> test, bool verify, bool readOnly, Type symbolReaderProvider, Type symbolWriterProvider, BaseAssemblyResolver assemblyResolver)
+ public ModuleTestCase (string module, Action<ModuleDefinition> test, bool verify, bool readOnly, Type symbolReaderProvider, Type symbolWriterProvider, IAssemblyResolver assemblyResolver)
: base (test, verify, readOnly, symbolReaderProvider, symbolWriterProvider, assemblyResolver)
{
Module = module;
@@ -157,7 +157,7 @@ namespace Mono.Cecil.Tests {
public readonly string File;
- public CSharpTestCase (string file, Action<ModuleDefinition> test, bool verify, bool readOnly, Type symbolReaderProvider, Type symbolWriterProvider, BaseAssemblyResolver assemblyResolver)
+ public CSharpTestCase (string file, Action<ModuleDefinition> test, bool verify, bool readOnly, Type symbolReaderProvider, Type symbolWriterProvider, IAssemblyResolver assemblyResolver)
: base (test, verify, readOnly, symbolReaderProvider, symbolWriterProvider, assemblyResolver)
{
File = file;
@@ -176,7 +176,7 @@ namespace Mono.Cecil.Tests {
public readonly string File;
- public ILTestCase (string file, Action<ModuleDefinition> test, bool verify, bool readOnly, Type symbolReaderProvider, Type symbolWriterProvider, BaseAssemblyResolver assemblyResolver)
+ public ILTestCase (string file, Action<ModuleDefinition> test, bool verify, bool readOnly, Type symbolReaderProvider, Type symbolWriterProvider, IAssemblyResolver assemblyResolver)
: base (test, verify, readOnly, symbolReaderProvider, symbolWriterProvider, assemblyResolver)
{
File = file;
@@ -205,14 +205,10 @@ namespace Mono.Cecil.Tests {
ModuleDefinition GetModule ()
{
var location = test_case.ModuleLocation;
- var directory = Path.GetDirectoryName (location);
-
- var resolver = GetAssemblyResolver();
- resolver.AddSearchDirectory (directory);
var parameters = new ReaderParameters {
SymbolReaderProvider = GetSymbolReaderProvider (),
- AssemblyResolver = resolver,
+ AssemblyResolver = GetAssemblyResolver (),
};
switch (type) {
@@ -249,9 +245,15 @@ namespace Mono.Cecil.Tests {
return (ISymbolWriterProvider) Activator.CreateInstance (test_case.SymbolWriterProvider);
}
- BaseAssemblyResolver GetAssemblyResolver ()
+ IAssemblyResolver GetAssemblyResolver ()
{
- return test_case.AssemblyResolver ?? new DefaultAssemblyResolver ();
+ if (test_case.AssemblyResolver != null)
+ return test_case.AssemblyResolver;
+
+ var resolver = new DefaultAssemblyResolver ();
+ var directory = Path.GetDirectoryName (test_case.ModuleLocation);
+ resolver.AddSearchDirectory (directory);
+ return resolver;
}
ModuleDefinition RoundTrip (string location, ReaderParameters reader_parameters, string folder)