Imported Upstream version 5.2.0.175

Former-commit-id: bb0468d0f257ff100aa895eb5fe583fb5dfbf900
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2017-06-07 13:16:24 +00:00
parent 4bdbaf4a88
commit 966bba02bb
8776 changed files with 346420 additions and 149650 deletions

View File

@@ -1,7 +1,9 @@
using System;
using System.IO;
using System.Linq;
using Mono.Cecil;
using Mono.Cecil.Cil;
using Mono.Cecil.PE;
using Mono.Cecil.Metadata;
@@ -179,5 +181,47 @@ namespace Mono.Cecil.Tests {
Assert.IsTrue (module.Assembly.Name.IsWindowsRuntime);
}, verify: false, assemblyResolver: resolver);
}
[Test]
public void DeterministicAssembly ()
{
TestModule ("Deterministic.dll", module => {
Assert.IsTrue (module.HasDebugHeader);
var header = module.GetDebugHeader ();
Assert.AreEqual (1, header.Entries.Length);
Assert.IsTrue (header.Entries.Any (e => e.Directory.Type == ImageDebugType.Deterministic));
});
}
[Test]
public void ExternalPdbDeterministicAssembly ()
{
TestModule ("ExternalPdbDeterministic.dll", module => {
Assert.IsTrue (module.HasDebugHeader);
var header = module.GetDebugHeader ();
Assert.AreEqual (2, header.Entries.Length);
Assert.IsTrue (header.Entries.Any (e => e.Directory.Type == ImageDebugType.CodeView));
Assert.IsTrue (header.Entries.Any (e => e.Directory.Type == ImageDebugType.Deterministic));
}, symbolReaderProvider: typeof (PortablePdbReaderProvider), symbolWriterProvider: typeof (PortablePdbWriterProvider));
}
[Test]
public void EmbeddedPdbDeterministicAssembly ()
{
TestModule ("EmbeddedPdbDeterministic.dll", module => {
Assert.IsTrue (module.HasDebugHeader);
var header = module.GetDebugHeader ();
Assert.AreEqual (3, header.Entries.Length);
Assert.IsTrue (header.Entries.Any (e => e.Directory.Type == ImageDebugType.CodeView));
Assert.IsTrue (header.Entries.Any (e => e.Directory.Type == ImageDebugType.Deterministic));
Assert.IsTrue (header.Entries.Any (e => e.Directory.Type == ImageDebugType.EmbeddedPortablePdb));
}, symbolReaderProvider: typeof (EmbeddedPortablePdbReaderProvider), symbolWriterProvider: typeof (EmbeddedPortablePdbWriterProvider));
}
}
}