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>2019-01-27 07:11:32 +0300
committerJb Evain <jb@evain.net>2019-02-12 01:38:44 +0300
commitc005b7d92a700e711fb835b6140597196fb1fc89 (patch)
treea77c2348b6db2716f1e575c5d3349ea35c6be74a /Test
parent71b08cb673452d972f1f7374bc79463db7e6e388 (diff)
Move to SDK style projects
Diffstat (limited to 'Test')
-rw-r--r--Test/Mono.Cecil.Tests.csproj36
-rw-r--r--Test/Mono.Cecil.Tests/BaseTestFixture.cs61
-rw-r--r--Test/Mono.Cecil.Tests/ModuleTests.cs2
-rw-r--r--Test/Mono.Cecil.Tests/ResolveTests.cs4
4 files changed, 45 insertions, 58 deletions
diff --git a/Test/Mono.Cecil.Tests.csproj b/Test/Mono.Cecil.Tests.csproj
index 4585623..9042d40 100644
--- a/Test/Mono.Cecil.Tests.csproj
+++ b/Test/Mono.Cecil.Tests.csproj
@@ -1,45 +1,24 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="Current">
<Import Project="..\Mono.Cecil.Tests.props" />
<PropertyGroup>
- <ProjectGuid>{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}</ProjectGuid>
- <RootNamespace>Mono.Cecil.Tests</RootNamespace>
- <AssemblyName>Mono.Cecil.Tests</AssemblyName>
+ <TargetFrameworks>netcoreapp2.1;net40</TargetFrameworks>
</PropertyGroup>
- <ItemGroup Condition="$(NetStandard)">
- <PackageReference Include="System.Reflection.TypeExtensions">
- <Version>4.3.0</Version>
- </PackageReference>
- <PackageReference Include="System.Diagnostics.Process">
- <Version>4.3.0</Version>
- </PackageReference>
- <PackageReference Include="System.Diagnostics.StackTrace">
- <Version>4.3.0</Version>
- </PackageReference>
- <PackageReference Include="System.Diagnostics.FileVersionInfo">
- <Version>4.3.0</Version>
- </PackageReference>
- <PackageReference Include="System.Runtime.Loader">
- <Version>4.3.0</Version>
- </PackageReference>
+ <ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp2.1' ">
<PackageReference Include="Microsoft.CodeAnalysis.CSharp">
- <Version>2.3.2</Version>
+ <Version>2.10.0</Version>
</PackageReference>
<PackageReference Include="Microsoft.CodeAnalysis.VisualBasic">
- <Version>2.3.2</Version>
+ <Version>2.10.0</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Mono.Cecil.csproj">
- <Project>{D68133BD-1E63-496E-9EDE-4FBDBF77B486}</Project>
<Name>Mono.Cecil</Name>
</ProjectReference>
<ProjectReference Include="..\symbols\mdb\Mono.Cecil.Mdb.csproj">
- <Project>{8559dd7f-a16f-46d0-a05a-9139faeba8fd}</Project>
<Name>Mono.Cecil.Mdb</Name>
</ProjectReference>
<ProjectReference Include="..\symbols\pdb\Mono.Cecil.Pdb.csproj">
- <Project>{63e6915c-7ea4-4d76-ab28-0d7191eea626}</Project>
<Name>Mono.Cecil.Pdb</Name>
</ProjectReference>
</ItemGroup>
@@ -48,7 +27,8 @@
<Compile Include="Mono.Cecil.Tests\*.cs" />
</ItemGroup>
<ItemGroup>
- <None Include="Resources\**\*" />
+ <None Include="Resources\**\*">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </None>
</ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" Condition="!$(NetStandard)" />
</Project> \ No newline at end of file
diff --git a/Test/Mono.Cecil.Tests/BaseTestFixture.cs b/Test/Mono.Cecil.Tests/BaseTestFixture.cs
index 476e17b..b94097d 100644
--- a/Test/Mono.Cecil.Tests/BaseTestFixture.cs
+++ b/Test/Mono.Cecil.Tests/BaseTestFixture.cs
@@ -1,11 +1,18 @@
using System;
using System.IO;
-using System.Reflection;
+using System.Runtime.CompilerServices;
using Mono.Cecil.Cil;
using NUnit.Framework;
using Mono.Cecil.PE;
+#if !NET_CORE
+namespace System.Runtime.CompilerServices {
+ public sealed class CallerFilePathAttribute : Attribute {
+ }
+}
+#endif
+
namespace Mono.Cecil.Tests {
public abstract class BaseTestFixture {
@@ -16,49 +23,49 @@ namespace Mono.Cecil.Tests {
Assert.Ignore ();
}
- public static string GetResourcePath (string name, Assembly assembly)
+ public static string GetResourcePath (string name, string sourceFilePath)
{
- return Path.Combine (FindResourcesDirectory (assembly), name);
+ return Path.Combine (FindResourcesDirectory (sourceFilePath), name);
}
- public static string GetAssemblyResourcePath (string name, Assembly assembly)
+ public static string GetAssemblyResourcePath (string name, [CallerFilePath] string sourceFilePath = "")
{
- return GetResourcePath (Path.Combine ("assemblies", name), assembly);
+ return GetResourcePath (Path.Combine ("assemblies", name), sourceFilePath);
}
- public static string GetCSharpResourcePath (string name, Assembly assembly)
+ public static string GetCSharpResourcePath (string name, [CallerFilePath] string sourceFilePath = "")
{
- return GetResourcePath (Path.Combine ("cs", name), assembly);
+ return GetResourcePath (Path.Combine ("cs", name), sourceFilePath);
}
- public static string GetILResourcePath (string name, Assembly assembly)
+ public static string GetILResourcePath (string name, [CallerFilePath] string sourceFilePath = "")
{
- return GetResourcePath (Path.Combine ("il", name), assembly);
+ return GetResourcePath (Path.Combine ("il", name), sourceFilePath);
}
- public ModuleDefinition GetResourceModule (string name)
+ public ModuleDefinition GetResourceModule (string name, [CallerFilePath] string sourceFilePath = "")
{
- return ModuleDefinition.ReadModule (GetAssemblyResourcePath (name, GetType ().Assembly));
+ return ModuleDefinition.ReadModule (GetAssemblyResourcePath (name, sourceFilePath));
}
- public ModuleDefinition GetResourceModule (string name, ReaderParameters parameters)
+ public ModuleDefinition GetResourceModule (string name, ReaderParameters parameters, [CallerFilePath] string sourceFilePath = "")
{
- return ModuleDefinition.ReadModule (GetAssemblyResourcePath (name, GetType ().Assembly), parameters);
+ return ModuleDefinition.ReadModule (GetAssemblyResourcePath (name, sourceFilePath), parameters);
}
- public ModuleDefinition GetResourceModule (string name, ReadingMode mode)
+ public ModuleDefinition GetResourceModule (string name, ReadingMode mode, [CallerFilePath] string sourceFilePath = "")
{
- return ModuleDefinition.ReadModule (GetAssemblyResourcePath (name, GetType ().Assembly), new ReaderParameters (mode));
+ return ModuleDefinition.ReadModule (GetAssemblyResourcePath (name, sourceFilePath), new ReaderParameters (mode));
}
- public Stream GetResourceStream (string name)
+ public Stream GetResourceStream (string name, [CallerFilePath] string sourceFilePath = "")
{
- return new FileStream (GetAssemblyResourcePath (name, GetType ().Assembly), FileMode.Open, FileAccess.Read);
+ return new FileStream (GetAssemblyResourcePath (name, sourceFilePath), FileMode.Open, FileAccess.Read);
}
- internal Image GetResourceImage (string name)
+ internal Image GetResourceImage (string name, [CallerFilePath] string sourceFilePath = "")
{
- var file = new FileStream (GetAssemblyResourcePath (name, GetType ().Assembly), FileMode.Open, FileAccess.Read);
+ var file = new FileStream (GetAssemblyResourcePath (name, sourceFilePath), FileMode.Open, FileAccess.Read);
return ImageReader.ReadImage (Disposable.Owned (file as Stream), file.Name);
}
@@ -72,9 +79,9 @@ namespace Mono.Cecil.Tests {
return ModuleDefinition.ReadModule (GetType ().Module.FullyQualifiedName, parameters);
}
- public static string FindResourcesDirectory (Assembly assembly)
+ public static string FindResourcesDirectory (string sourceFilePath)
{
- var path = Path.GetDirectoryName (new Uri (assembly.CodeBase).LocalPath);
+ var path = Path.GetDirectoryName (sourceFilePath);
while (!Directory.Exists (Path.Combine (path, "Resources"))) {
var old = path;
path = Path.GetDirectoryName (path);
@@ -142,12 +149,11 @@ namespace Mono.Cecil.Tests {
public readonly IAssemblyResolver AssemblyResolver;
public readonly Action<ModuleDefinition> Test;
public readonly bool ApplyWindowsRuntimeProjections;
+ public readonly string SourceFilePath;
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, IAssemblyResolver assemblyResolver, bool applyWindowsRuntimeProjections)
+ protected TestCase (Action<ModuleDefinition> test, bool verify, bool readOnly, Type symbolReaderProvider, Type symbolWriterProvider, IAssemblyResolver assemblyResolver, bool applyWindowsRuntimeProjections, [CallerFilePath] string sourceFilePath = "")
{
Test = test;
Verify = verify;
@@ -156,6 +162,7 @@ namespace Mono.Cecil.Tests {
SymbolWriterProvider = symbolWriterProvider;
AssemblyResolver = assemblyResolver;
ApplyWindowsRuntimeProjections = applyWindowsRuntimeProjections;
+ SourceFilePath = sourceFilePath;
}
}
@@ -171,7 +178,7 @@ namespace Mono.Cecil.Tests {
public override string ModuleLocation
{
- get { return BaseTestFixture.GetAssemblyResourcePath (Module, Assembly); }
+ get { return BaseTestFixture.GetAssemblyResourcePath (Module, SourceFilePath); }
}
}
@@ -189,7 +196,7 @@ namespace Mono.Cecil.Tests {
{
get
{
- return CompilationService.CompileResource (BaseTestFixture.GetCSharpResourcePath (File, Assembly));
+ return CompilationService.CompileResource (BaseTestFixture.GetCSharpResourcePath (File, SourceFilePath));
}
}
}
@@ -208,7 +215,7 @@ namespace Mono.Cecil.Tests {
{
get
{
- return CompilationService.CompileResource (BaseTestFixture.GetILResourcePath (File, Assembly)); ;
+ return CompilationService.CompileResource (BaseTestFixture.GetILResourcePath (File, SourceFilePath)); ;
}
}
}
diff --git a/Test/Mono.Cecil.Tests/ModuleTests.cs b/Test/Mono.Cecil.Tests/ModuleTests.cs
index 2fbe55a..218ccd7 100644
--- a/Test/Mono.Cecil.Tests/ModuleTests.cs
+++ b/Test/Mono.Cecil.Tests/ModuleTests.cs
@@ -282,7 +282,7 @@ namespace Mono.Cecil.Tests {
[Test]
public void OwnedStreamModuleFileName ()
{
- var path = GetAssemblyResourcePath ("hello.exe", GetType ().Assembly);
+ var path = GetAssemblyResourcePath ("hello.exe");
using (var file = File.Open (path, FileMode.Open))
{
using (var module = ModuleDefinition.ReadModule (file))
diff --git a/Test/Mono.Cecil.Tests/ResolveTests.cs b/Test/Mono.Cecil.Tests/ResolveTests.cs
index f65b889..bb57570 100644
--- a/Test/Mono.Cecil.Tests/ResolveTests.cs
+++ b/Test/Mono.Cecil.Tests/ResolveTests.cs
@@ -134,7 +134,7 @@ namespace Mono.Cecil.Tests {
var parameters = new ReaderParameters { AssemblyResolver = resolver };
var types = ModuleDefinition.ReadModule (
- CompilationService.CompileResource (GetCSharpResourcePath ("CustomAttributes.cs", typeof (ResolveTests).Assembly)),
+ CompilationService.CompileResource (GetCSharpResourcePath ("CustomAttributes.cs")),
parameters);
resolver.Register (types.Assembly);
@@ -155,7 +155,7 @@ namespace Mono.Cecil.Tests {
var parameters = new ReaderParameters { AssemblyResolver = resolver };
var types = ModuleDefinition.ReadModule (
- CompilationService.CompileResource (GetCSharpResourcePath ("CustomAttributes.cs", typeof (ResolveTests).Assembly)),
+ CompilationService.CompileResource (GetCSharpResourcePath ("CustomAttributes.cs")),
parameters);
resolver.Register (types.Assembly);