You've already forked linux-packaging-mono
Imported Upstream version 5.20.0.180
Former-commit-id: ff953ca879339fe1e1211f7220f563e1342e66cb
This commit is contained in:
parent
0e2d47d1c8
commit
0510252385
@@ -51,6 +51,11 @@ namespace Mono.Cecil.Tests {
|
||||
return ModuleDefinition.ReadModule (GetAssemblyResourcePath (name, GetType ().Assembly), new ReaderParameters (mode));
|
||||
}
|
||||
|
||||
public Stream GetResourceStream (string name)
|
||||
{
|
||||
return new FileStream (GetAssemblyResourcePath (name, GetType ().Assembly), FileMode.Open, FileAccess.Read);
|
||||
}
|
||||
|
||||
internal Image GetResourceImage (string name)
|
||||
{
|
||||
var file = new FileStream (GetAssemblyResourcePath (name, GetType ().Assembly), FileMode.Open, FileAccess.Read);
|
||||
|
||||
@@ -449,6 +449,21 @@ namespace Mono.Cecil.Tests {
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void NullCharInString ()
|
||||
{
|
||||
TestCSharp ("CustomAttributes.cs", module => {
|
||||
var type = module.GetType ("NullCharInString");
|
||||
var attributes = type.CustomAttributes;
|
||||
Assert.AreEqual (1, attributes.Count);
|
||||
var attribute = attributes [0];
|
||||
Assert.AreEqual (1, attribute.ConstructorArguments.Count);
|
||||
var value = (string) attribute.ConstructorArguments [0].Value;
|
||||
Assert.AreEqual (8, value.Length);
|
||||
Assert.AreEqual ('\0', value [7]);
|
||||
});
|
||||
}
|
||||
|
||||
#if !READ_ONLY
|
||||
[Test]
|
||||
public void DefineCustomAttributeFromBlob ()
|
||||
|
||||
@@ -364,6 +364,8 @@ namespace Mono.Cecil.Tests {
|
||||
|
||||
var eppdb = header.Entries [1];
|
||||
Assert.AreEqual (ImageDebugType.EmbeddedPortablePdb, eppdb.Directory.Type);
|
||||
Assert.AreEqual (0x0100, eppdb.Directory.MajorVersion);
|
||||
Assert.AreEqual (0x0100, eppdb.Directory.MinorVersion);
|
||||
}, symbolReaderProvider: typeof (EmbeddedPortablePdbReaderProvider), symbolWriterProvider: typeof (EmbeddedPortablePdbWriterProvider));
|
||||
}
|
||||
|
||||
|
||||
@@ -80,6 +80,58 @@ namespace Mono.Cecil.Tests {
|
||||
Assert.IsFalse (module.HasSymbols);
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DefaultPortablePdbStream ()
|
||||
{
|
||||
using (var symbolStream = GetResourceStream ("PdbTarget.pdb")) {
|
||||
var parameters = new ReaderParameters {
|
||||
SymbolReaderProvider = new PortablePdbReaderProvider (),
|
||||
SymbolStream = symbolStream,
|
||||
};
|
||||
|
||||
using (var module = GetResourceModule ("PdbTarget.exe", parameters)) {
|
||||
Assert.IsNotNull (module.SymbolReader);
|
||||
Assert.IsTrue (module.HasSymbols);
|
||||
Assert.AreEqual (typeof (PortablePdbReader), module.SymbolReader.GetType ());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DefaultPdbStream ()
|
||||
{
|
||||
using (var symbolStream = GetResourceStream ("libpdb.pdb")) {
|
||||
var parameters = new ReaderParameters {
|
||||
SymbolReaderProvider = new NativePdbReaderProvider (),
|
||||
SymbolStream = symbolStream,
|
||||
};
|
||||
|
||||
using (var module = GetResourceModule ("libpdb.dll", parameters)) {
|
||||
Assert.IsNotNull (module.SymbolReader);
|
||||
Assert.IsTrue (module.HasSymbols);
|
||||
Assert.AreEqual (typeof (NativePdbReader), module.SymbolReader.GetType ());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DefaultMdbStream ()
|
||||
{
|
||||
using (var symbolStream = GetResourceStream ("libmdb.dll.mdb")) {
|
||||
var parameters = new ReaderParameters {
|
||||
SymbolReaderProvider = new MdbReaderProvider (),
|
||||
SymbolStream = symbolStream,
|
||||
};
|
||||
|
||||
using (var module = GetResourceModule ("libmdb.dll", parameters)) {
|
||||
Assert.IsNotNull (module.SymbolReader);
|
||||
Assert.IsTrue (module.HasSymbols);
|
||||
Assert.AreEqual (typeof (MdbReader), module.SymbolReader.GetType ());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -30,6 +30,19 @@ namespace Mono.Cecil.Tests {
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void EmptyStructLayout ()
|
||||
{
|
||||
TestModule ("hello.exe", module =>
|
||||
{
|
||||
var foo = new TypeDefinition ("", "Foo",
|
||||
TypeAttributes.Sealed | TypeAttributes.BeforeFieldInit | TypeAttributes.SequentialLayout,
|
||||
module.ImportReference (typeof (ValueType))) ;
|
||||
|
||||
module.Types.Add (foo) ;
|
||||
}) ;
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SimpleInterfaces ()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user