Imported Upstream version 5.14.0.106

Former-commit-id: 03fab0f68b93e237c47a03f7d3793d7f5d7c276d
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-05-26 08:37:10 +00:00
parent c34b058d3e
commit fee6ab6a16
60 changed files with 271 additions and 93 deletions

View File

@@ -1,6 +1,7 @@
using System;
using Mono.Cecil;
using Mono.Cecil.Cil;
using NUnit.Framework;
@@ -91,15 +92,16 @@ namespace Mono.Cecil.Tests {
}
[Test]
public void MismatchedLibraryAndSymbols_DoNotThrow ()
public void MismatchedLibraryAndSymbols ()
{
// SQLite-net.dll (from nuget) shiped with mismatched symbol files, but throwIfNoSymbol did not prevent it from throwing
var readerParms = new ReaderParameters {
var parameters = new ReaderParameters {
ReadSymbols = true,
SymbolReaderProvider = new Cil.DefaultSymbolReaderProvider (throwIfNoSymbol: false)
SymbolReaderProvider = new DefaultSymbolReaderProvider (throwIfNoSymbol: false),
ThrowIfSymbolsAreNotMatching = false,
};
using (var module = GetResourceModule ("SQLite-net.dll", readerParms)) {
using (var module = GetResourceModule ("SQLite-net.dll", parameters)) {
Assert.Null (module.SymbolReader);
}
}

View File

@@ -254,6 +254,15 @@ namespace Mono.Cecil.Tests {
}
}
[Test]
public void GetNonExistentTypeRuntimeName ()
{
using (var module = GetResourceModule ("libhello.dll")) {
var type = module.GetType ("DoesNotExist", runtimeName: true);
Assert.IsNull (type);
}
}
[Test]
public void OpenModuleImmediate ()
{

View File

@@ -50,6 +50,36 @@ namespace Mono.Cecil.Tests {
Assert.AreEqual (typeof (PortablePdbReader), module.SymbolReader.GetType ());
}, symbolReaderProvider: typeof (DefaultSymbolReaderProvider), symbolWriterProvider: typeof (DefaultSymbolWriterProvider), verify: !Platform.OnMono);
}
[Test]
public void MdbMismatch ()
{
Assert.Throws<SymbolsNotMatchingException> (() => GetResourceModule ("mdb-mismatch.dll", new ReaderParameters { SymbolReaderProvider = new MdbReaderProvider () }));
}
[Test]
public void MdbIgnoreMismatch()
{
using (var module = GetResourceModule ("mdb-mismatch.dll", new ReaderParameters { SymbolReaderProvider = new MdbReaderProvider (), ThrowIfSymbolsAreNotMatching = false })) {
Assert.IsNull (module.SymbolReader);
Assert.IsFalse (module.HasSymbols);
}
}
[Test]
public void PortablePdbMismatch ()
{
Assert.Throws<SymbolsNotMatchingException> (() => GetResourceModule ("pdb-mismatch.dll", new ReaderParameters { SymbolReaderProvider = new PortablePdbReaderProvider () }));
}
[Test]
public void PortablePdbIgnoreMismatch()
{
using (var module = GetResourceModule ("pdb-mismatch.dll", new ReaderParameters { SymbolReaderProvider = new PortablePdbReaderProvider (), ThrowIfSymbolsAreNotMatching = false })) {
Assert.IsNull (module.SymbolReader);
Assert.IsFalse (module.HasSymbols);
}
}
}
}
#endif

Binary file not shown.

Binary file not shown.