Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge branch 'master' into longpath
  • Loading branch information
adamsitnik authored Feb 23, 2021
commit 0b1c57e312fb405c382f7e302cb3b3ebbf6b69e7
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Reflection;
using Microsoft.DotNet.RemoteExecutor;
using Xunit;

Expand All @@ -30,61 +30,6 @@ public void TestModuleProperties()
}
}

[ConditionalFact(nameof(IsProcessElevated))]
[PlatformSpecific(TestPlatforms.Windows)]
public void TestModuleLongPath()
{
// // Metadata version: v4.0.30319
// .assembly Test
// {
// .ver 0:0:0:0
// }
// .module Test.dll
// // MVID: {48E60D10-353B-45DC-AA09-3A1E6B0FD382}
// .imagebase 0x00400000
// .file alignment 0x00000200
// .stackreserve 0x00100000
// .subsystem 0x0003 // WINDOWS_CUI
// .corflags 0x00000001 // ILONLY
byte[] assemblyImage = Convert.FromBase64String(
"TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFt" +
"IGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAECAJyj7l8AAAAAAAAAAOAAAiELAQsAAAIAAAACAAAAAAAAfiEAAAAgAAAAQAAA" +
"AABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAABgAAAAAgAAAAAAAAMAQIUAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAADAhAABLAAAAAAAAAAAA" +
"AAAAAAAAAAAAAAAAAAAAAAAAAEAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACAAAAAAAAAAAAAAA" +
"CCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAhAEAAAAgAAAAAgAAAAIAAAAAAAAAAAAAAAAAACAAAGAucmVsb2MAAAwAAAAAQAAAAAIAAAAEAAAAAAAAAAAAAAAA" +
"AABAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgIQAAAAAAAEgAAAACAAUAUCAAAOAAAAABAAAA" +
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAQAXAAAAFQA" +
"AAAjfgAAsAAAABgAAAAjU3RyaW5ncwAAAADIAAAACAAAACNVUwDQAAAAEAAAACNHVUlEAAAAAAAAAAIAAAEFAAAAAQAAAAD6JTMAFgAAAQAAAAEAAAABAAAA" +
"AAAKAAEAAAAAAAAAAAABAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAEwAAAAAAADxNb2R1bGU+AFRlc3QuZGxsAFRlc3QAAAMgAAAAAAAQDeZIOzXcRaoJ" +
"Oh5rD9OCWCEAAAAAAAAAAAAAbiEAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAhAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAA" +
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAMAAAAgDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
"AAAAAAAA"
);

string libraryDirectory = GetTestFilePath();
Directory.CreateDirectory(libraryDirectory);
string libraryPath = Path.Combine(libraryDirectory, new string('_', 250) + ".dll");
Assert.True(libraryPath.Length > 260);
File.WriteAllBytes(libraryPath, assemblyImage);

IntPtr library = NativeLibrary.Load(libraryPath);
Assert.True(library != IntPtr.Zero);
try
{
Assert.Contains(Process.GetCurrentProcess().Modules.Cast<ProcessModule>(), module => module.FileName == libraryPath);
}
finally
{
NativeLibrary.Free(library);
}
}

[Fact]
public void Modules_Get_ContainsHostFileName()
{
Expand Down Expand Up @@ -147,7 +92,6 @@ public void ModulesAreDisposedWhenProcessIsDisposed()
Assert.Equal(expectedCount, disposedCount);
}

[ActiveIssue("https://github.com/dotnet/runtime/pull/335059")]
[ConditionalFact(typeof(PathFeatures), nameof(PathFeatures.AreAllLongPathsAvailable))]
[PlatformSpecific(TestPlatforms.Windows)]
public void LongModuleFileNamesAreSupported()
Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.