Skip to content

Commit d383135

Browse files
authored
use the new, strong-name signed Capstone.NET (#2212)
* use the new, strong-name signed Capstone.NET * handle edge case in the processes communication * disable long running tests on AppVeyor to hopefuly avoid timeouts
1 parent 61b3c56 commit d383135

File tree

6 files changed

+15
-8
lines changed

6 files changed

+15
-8
lines changed

src/BenchmarkDotNet.Disassembler.x64/DataContracts.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public class IntelAsm : Asm
3636

3737
public class Arm64Asm : Asm
3838
{
39-
#if !CLRMDV1
39+
#if !CLRMDV1 // don't include it in ClrMD V1 disassembler that supports only x86 and x64
4040
public Gee.External.Capstone.Arm64.Arm64Instruction Instruction { get; set; }
4141
#endif
4242
}
@@ -52,9 +52,6 @@ public class Map
5252
[XmlArrayItem(nameof(SourceCode), typeof(SourceCode))]
5353
[XmlArrayItem(nameof(Sharp), typeof(Sharp))]
5454
[XmlArrayItem(nameof(IntelAsm), typeof(IntelAsm))]
55-
#if NET6_0_OR_GREATER // we can replace it with !CLRMDV1 when https://github.com/9ee1/Capstone.NET/issues/36 is solved
56-
[XmlArrayItem(nameof(Arm64Asm), typeof(Arm64Asm))]
57-
#endif
5855
public SourceCode[] SourceCodes { get; set; }
5956
}
6057

src/BenchmarkDotNet/BenchmarkDotNet.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<AssemblyTitle>BenchmarkDotNet</AssemblyTitle>
55
<TargetFrameworks>netstandard2.0;net6.0</TargetFrameworks>
66
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
7-
<NoWarn>$(NoWarn);1701;1702;1705;1591;3005;NU1702;CS3001;CS3003;CS8002</NoWarn>
7+
<NoWarn>$(NoWarn);1701;1702;1705;1591;3005;NU1702;CS3001;CS3003</NoWarn>
88
<AssemblyName>BenchmarkDotNet</AssemblyName>
99
<PackageId>BenchmarkDotNet</PackageId>
1010
<RootNamespace>BenchmarkDotNet</RootNamespace>
@@ -17,7 +17,7 @@
1717
</ItemGroup>
1818
<ItemGroup>
1919
<PackageReference Include="CommandLineParser" Version="2.4.3" />
20-
<PackageReference Include="Gee.External.Capstone" Version="2.2.0" />
20+
<PackageReference Include="Gee.External.Capstone" Version="2.3.0" />
2121
<PackageReference Include="Iced" Version="1.17.0" />
2222
<PackageReference Include="Microsoft.Diagnostics.Runtime" Version="2.2.332302" />
2323
<PackageReference Include="Perfolizer" Version="0.2.1" />

src/BenchmarkDotNet/Engines/AnonymousPipesHost.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,11 @@ public void SendSignal(HostSignal hostSignal)
5151

5252
// read the response from Parent process, make the communication blocking
5353
string acknowledgment = inReader.ReadLine();
54-
if (acknowledgment != Engine.Signals.Acknowledgment)
54+
if (acknowledgment != Engine.Signals.Acknowledgment
55+
&& !(acknowledgment is null && hostSignal == HostSignal.AfterAll)) // an early EOF, but still valid
56+
{
5557
throw new NotSupportedException($"Unknown Acknowledgment: {acknowledgment}");
58+
}
5659
}
5760

5861
public void SendError(string message) => outWriter.WriteLine($"{ValidationErrorReporter.ConsoleErrorPrefix} {message}");

tests/BenchmarkDotNet.IntegrationTests/CustomBuildConfigurationTests.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ public CustomBuildConfigurationTests(ITestOutputHelper output) : base(output)
1818
[Fact]
1919
public void UserCanSpecifyCustomBuildConfiguration()
2020
{
21+
if (ContinuousIntegration.IsAppVeyorOnWindows())
22+
return; // timeouts
23+
2124
var jobWithCustomConfiguration = Job.Dry.WithCustomBuildConfiguration("CUSTOM");
2225

2326
var config = CreateSimpleConfig(job: jobWithCustomConfiguration);

tests/BenchmarkDotNet.IntegrationTests/MonoTests.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ public class MonoTests : BenchmarkTestExecutor
1212
[FactDotNetCoreOnly("UseMonoRuntime option is available in .NET Core only starting from .NET 6")]
1313
public void Mono70IsSupported()
1414
{
15+
if (ContinuousIntegration.IsAppVeyorOnWindows())
16+
return; // timeouts
17+
1518
var config = ManualConfig.CreateEmpty().AddJob(Job.Dry.WithRuntime(MonoRuntime.Mono70));
1619
CanExecute<MonoBenchmark>(config);
1720
}

tests/BenchmarkDotNet.IntegrationTests/ThreadingDiagnoserTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ public static IEnumerable<object[]> GetToolchains()
3232
yield return new object[] { Job.Default.GetToolchain() };
3333

3434
if (!ContinuousIntegration.IsGitHubActionsOnWindows() // no native dependencies
35-
&& !RuntimeInformation.IsMacOSX()) // currently not supported
35+
&& !RuntimeInformation.IsMacOSX() // currently not supported
36+
&& !ContinuousIntegration.IsAppVeyorOnWindows()) // timeouts
3637
{
3738
yield return new object[]{ NativeAotToolchain.CreateBuilder()
3839
.UseNuGet("7.0.0", "https://api.nuget.org/v3/index.json")

0 commit comments

Comments
 (0)