Imported Upstream version 5.0.0.42

Former-commit-id: fd56571888259555122d8a0f58c68838229cea2b
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2017-04-10 11:41:01 +00:00
parent 1190d13a04
commit 6bdd276d05
19939 changed files with 3099680 additions and 93811 deletions

View File

@@ -352,6 +352,38 @@ namespace Mono.Cecil.Tests {
}, symbolReaderProvider: typeof (PortablePdbReaderProvider), symbolWriterProvider: typeof (PortablePdbWriterProvider));
}
[Test]
public void RoundTripLargePortablePdb ()
{
TestModule ("Mono.Android.dll", module => {
Assert.IsTrue (module.HasSymbols);
}, verify: false, symbolReaderProvider: typeof (PortablePdbReaderProvider), symbolWriterProvider: typeof (PortablePdbWriterProvider));
}
[Test]
public void EmptyPortablePdb ()
{
TestModule ("EmptyPdb.dll", module => {
Assert.IsTrue (module.HasSymbols);
}, symbolReaderProvider: typeof (PortablePdbReaderProvider), symbolWriterProvider: typeof (PortablePdbWriterProvider));
}
[Test]
public void NullClassConstant ()
{
TestModule ("xattr.dll", module => {
var type = module.GetType ("Library");
var method = type.GetMethod ("NullXAttributeConstant");
var symbol = method.DebugInformation;
Assert.IsNotNull (symbol);
Assert.AreEqual(1, symbol.Scope.Constants.Count);
var a = symbol.Scope.Constants [0];
Assert.AreEqual ("a", a.Name);
}, symbolReaderProvider: typeof (PortablePdbReaderProvider), symbolWriterProvider: typeof (PortablePdbWriterProvider));
}
[Test]
public void PortablePdbLineInfo ()
{

View File

@@ -0,0 +1,53 @@
using System;
using System.IO;
using NUnit.Framework;
using Mono.Cecil.Cil;
using Mono.Cecil.Mdb;
using Mono.Cecil.Pdb;
namespace Mono.Cecil.Tests {
[TestFixture]
public class SymbolTests : BaseTestFixture {
[Test]
public void DefaultPdb ()
{
IgnoreOnMono ();
TestModule ("libpdb.dll", module => {
Assert.IsTrue (module.HasSymbols);
Assert.AreEqual (typeof (NativePdbReader), module.SymbolReader.GetType ());
}, symbolReaderProvider: typeof (DefaultSymbolReaderProvider), symbolWriterProvider: typeof (DefaultSymbolWriterProvider));
}
[Test]
public void DefaultMdb ()
{
TestModule ("libmdb.dll", module => {
Assert.IsTrue (module.HasSymbols);
Assert.AreEqual (typeof (MdbReader), module.SymbolReader.GetType ());
}, symbolReaderProvider: typeof (DefaultSymbolReaderProvider), symbolWriterProvider: typeof (DefaultSymbolWriterProvider));
}
[Test]
public void DefaultPortablePdb ()
{
TestModule ("PdbTarget.exe", module => {
Assert.IsTrue (module.HasSymbols);
Assert.AreEqual (typeof (PortablePdbReader), module.SymbolReader.GetType ());
}, symbolReaderProvider: typeof (DefaultSymbolReaderProvider), symbolWriterProvider: typeof (DefaultSymbolWriterProvider));
}
[Test]
public void DefaultEmbeddedPortablePdb ()
{
TestModule ("EmbeddedPdbTarget.exe", module => {
Assert.IsTrue (module.HasSymbols);
Assert.AreEqual (typeof (PortablePdbReader), module.SymbolReader.GetType ());
}, symbolReaderProvider: typeof (DefaultSymbolReaderProvider), symbolWriterProvider: typeof (DefaultSymbolWriterProvider), verify: !Platform.OnMono);
}
}
}