Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
58 changes: 29 additions & 29 deletions tests/BenchmarkDotNet.IntegrationTests/ArgumentsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public static IEnumerable<object[]> GetToolchains()

public ArgumentsTests(ITestOutputHelper output) : base(output) { }

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void ArgumentsArePassedToBenchmarks(IToolchain toolchain) => CanExecute<WithArguments>(toolchain);

public class WithArguments
Expand Down Expand Up @@ -61,7 +61,7 @@ public ValueTask<int> SimpleValueTaskAsync(bool boolean, int number)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void ArgumentsFromSourceArePassedToBenchmarks(IToolchain toolchain) => CanExecute<WithArgumentsSource>(toolchain);

public class WithArgumentsSource
Expand All @@ -81,7 +81,7 @@ public IEnumerable<object[]> ArgumentsProvider()
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void ArgumentsFromSourceInAnotherClassArePassedToBenchmarks(IToolchain toolchain) => CanExecute<WithArgumentsSourceInAnotherClass>(toolchain);

public class WithArgumentsSourceInAnotherClass
Expand All @@ -103,7 +103,7 @@ public static IEnumerable<object[]> ArgumentsProvider()
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void ArgumentsCanBePassedByReferenceToBenchmark(IToolchain toolchain) => CanExecute<WithRefArguments>(toolchain);

public class WithRefArguments
Expand All @@ -118,7 +118,7 @@ public void Simple(ref bool boolean, ref int number)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void ArgumentsCanBePassedByReadonlyReferenceToBenchmark(IToolchain toolchain) => CanExecute<WithInArguments>(toolchain);

public class WithInArguments
Expand All @@ -133,7 +133,7 @@ public void Simple(in bool boolean, in int number)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void NonCompileTimeConstantsCanBeReturnedFromSource(IToolchain toolchain) => CanExecute<WithComplexTypesReturnedFromSources>(toolchain);

public class WithComplexTypesReturnedFromSources
Expand Down Expand Up @@ -190,7 +190,7 @@ public struct SomeStruct
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void ArrayCanBeUsedAsArgument(IToolchain toolchain) => CanExecute<WithArray>(toolchain);

public class WithArray
Expand All @@ -208,7 +208,7 @@ public void AcceptingArray(int[] array)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void IEnumerableCanBeUsedAsArgument(IToolchain toolchain) => CanExecute<WithIEnumerable>(toolchain);

public class WithIEnumerable
Expand All @@ -233,7 +233,7 @@ public IEnumerable<object[]> Sources()
public void Any(string name, IEnumerable<int> source) => source.Any();
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void JaggedArrayCanBeUsedAsArgument(IToolchain toolchain) => CanExecute<WithJaggedArray>(toolchain);

public class WithJaggedArray
Expand Down Expand Up @@ -269,7 +269,7 @@ public IEnumerable<object> CreateMatrix()
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void GenericTypeCanBePassedByRefAsArgument(IToolchain toolchain) => CanExecute<WithGenericByRef>(toolchain);

public class WithGenericByRef
Expand Down Expand Up @@ -305,7 +305,7 @@ public IEnumerable<object> GetInputData()
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void AnArrayOfTypeWithNoParameterlessCtorCanBePassedAsArgument(IToolchain toolchain) => CanExecute<WithArrayOfStringAsArgument>(toolchain);

public class WithArrayOfStringAsArgument
Expand All @@ -322,7 +322,7 @@ public void TypeReflectionArrayGetType(object anArray)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void AnArrayCanBePassedToBenchmarkAsSpan(IToolchain toolchain) => CanExecute<WithArrayToSpan>(toolchain);

public class WithArrayToSpan
Expand All @@ -342,7 +342,7 @@ public void AcceptsSpan(Span<int> span)

[TheoryEnvSpecific("The implicit cast operator is available only in .NET Core 2.1+ (See https://github.com/dotnet/corefx/issues/30121 for more)",
EnvRequirement.DotNetCoreOnly)]
[MemberData(nameof(GetToolchains))]
[MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void StringCanBePassedToBenchmarkAsReadOnlySpan(IToolchain toolchain) => CanExecute<WithStringToReadOnlySpan>(toolchain);

public class WithStringToReadOnlySpan
Expand All @@ -360,7 +360,7 @@ public void AcceptsReadOnlySpan(ReadOnlySpan<char> notString)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void AnArrayOfStringsCanBeUsedAsArgument(IToolchain toolchain) =>
CanExecute<WithArrayOfStringFromArgumentSource>(toolchain);

Expand All @@ -380,7 +380,7 @@ public void TypeReflectionArrayGetType(string[] array)
}
}

[Theory, MemberData(nameof(GetToolchains))] // make sure BDN mimics xunit's MemberData behaviour
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)] // make sure BDN mimics xunit's MemberData behaviour
public void AnIEnumerableOfArrayOfObjectsCanBeUsedAsArgumentForBenchmarkAcceptingSingleArgument(IToolchain toolchain)
=> CanExecute<WithIEnumerableOfArrayOfObjectsFromArgumentSource>(toolchain);

Expand All @@ -400,7 +400,7 @@ public void SingleArgument(bool boolean)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void BenchmarkCanAcceptFewArrays(IToolchain toolchain) => CanExecute<FewArrays>(toolchain);

public class FewArrays
Expand Down Expand Up @@ -429,7 +429,7 @@ public void AcceptsArrays(int[] even, int[] notEven)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void VeryBigIntegersAreSupported(IToolchain toolchain) => CanExecute<WithVeryBigInteger>(toolchain);

public class WithVeryBigInteger
Expand All @@ -450,7 +450,7 @@ public void Method(BigInteger passed)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void SpecialDoubleValuesAreSupported(IToolchain toolchain) => CanExecute<WithSpecialDoubleValues>(toolchain);

public class WithSpecialDoubleValues
Expand Down Expand Up @@ -495,7 +495,7 @@ public void Method(double passed, string name)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void SpecialFloatValuesAreSupported(IToolchain toolchain) => CanExecute<WithSpecialFloatValues>(toolchain);

public class WithSpecialFloatValues
Expand Down Expand Up @@ -540,7 +540,7 @@ public void Method(float passed, string name)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void SpecialDecimalValuesAreSupported(IToolchain toolchain) => CanExecute<WithSpecialDecimalValues>(toolchain);

public class WithSpecialDecimalValues
Expand Down Expand Up @@ -569,7 +569,7 @@ public void Method(decimal passed, string name)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void DateTimeCanBeUsedAsArgument(IToolchain toolchain) => CanExecute<WithDateTime>(toolchain);

public class WithDateTime
Expand All @@ -590,7 +590,7 @@ public void Test(DateTime passed)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void CustomTypeThatAlsoExistsInTheSystemNamespaceAsArgument(IToolchain toolchain) => CanExecute<CustomTypeThatAlsoExistsInTheSystemNamespace>(toolchain);

public class CustomTypeThatAlsoExistsInTheSystemNamespace
Expand All @@ -611,7 +611,7 @@ public void Test(Action passed)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void EnumFlagsAreSupported(IToolchain toolchain) => CanExecute<WithEnumFlags>(toolchain);

public class WithEnumFlags
Expand Down Expand Up @@ -648,7 +648,7 @@ public void Test(LongFlagEnum passedLongFlagEnum, ByteFlagEnum passedByteFlagEnu
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void UndefinedEnumValuesAreSupported(IToolchain toolchain) => CanExecute<WithUndefinedEnumValue>(toolchain);

public class WithUndefinedEnumValue
Expand All @@ -674,7 +674,7 @@ public void Test(SomeEnum defined, SomeEnum undefined, SomeEnum undefinedNegativ
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void StaticMethodsAndPropertiesCanBeUsedAsSources_EnumerableOfObjects(IToolchain toolchain)
=> CanExecute<WithStaticSources_EnumerableOfObjects>(toolchain);

Expand Down Expand Up @@ -722,7 +722,7 @@ public void TestProperty(int argument)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void StaticMethodsAndPropertiesCanBeUsedAsSources_EnumerableOfArrayOfObjects(IToolchain toolchain)
=> CanExecute<WithStaticSources_EnumerableOfArrayOfObjects>(toolchain);

Expand Down Expand Up @@ -769,7 +769,7 @@ public void TestProperty(int argument)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void MethodsAndPropertiesFromAnotherClassCanBeUsedAsSources(IToolchain toolchain)
=> CanExecute<ParamsSourcePointingToAnotherClass>(toolchain);

Expand Down Expand Up @@ -805,7 +805,7 @@ public static IEnumerable<int> Property
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void VeryLongStringsAreSupported(IToolchain toolchain) => CanExecute<WithVeryLongString>(toolchain);

public class WithVeryLongString
Expand All @@ -829,7 +829,7 @@ public void Test(string first, string second)
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
public void ComplexStringPattersAreSupported(IToolchain toolchain) => CanExecute<Perf_Regex_Industry_RustLang_Sherlock>(toolchain);

public class Perf_Regex_Industry_RustLang_Sherlock
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public void Recursive()
}

[Theory]
[MemberData(nameof(GetAllJits))]
[MemberData(nameof(GetAllJits), DisableDiscoveryEnumeration = true)]
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void CanDisassembleAllMethodCalls(Jit jit, Platform platform, Runtime runtime)
{
Expand All @@ -107,7 +107,7 @@ public void CanDisassembleAllMethodCalls(Jit jit, Platform platform, Runtime run
}

[Theory]
[MemberData(nameof(GetAllJits))]
[MemberData(nameof(GetAllJits), DisableDiscoveryEnumeration = true)]
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void CanDisassembleAllMethodCallsUsingFilters(Jit jit, Platform platform, Runtime runtime)
{
Expand All @@ -132,7 +132,7 @@ public void CanDisassembleAllMethodCallsUsingFilters(Jit jit, Platform platform,
}

[Theory]
[MemberData(nameof(GetAllJits))]
[MemberData(nameof(GetAllJits), DisableDiscoveryEnumeration = true)]
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void CanDisassembleGenericTypes(Jit jit, Platform platform, Runtime runtime)
{
Expand All @@ -154,7 +154,7 @@ [Benchmark] public void JustReturn() { }
}

[Theory]
[MemberData(nameof(GetAllJits))]
[MemberData(nameof(GetAllJits), DisableDiscoveryEnumeration = true)]
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void CanDisassembleInlinableBenchmarks(Jit jit, Platform platform, Runtime runtime)
{
Expand Down
18 changes: 9 additions & 9 deletions tests/BenchmarkDotNet.IntegrationTests/MemoryDiagnoserTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public class AccurateAllocations
[Benchmark] public Task<int> AllocateTask() => Task.FromResult<int>(-12345);
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void MemoryDiagnoserIsAccurate(IToolchain toolchain)
{
Expand Down Expand Up @@ -109,7 +109,7 @@ private void AllocateUntilGcWakesUp()
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void MemoryDiagnoserDoesNotIncludeAllocationsFromSetupAndCleanup(IToolchain toolchain)
{
Expand All @@ -135,7 +135,7 @@ public ulong TimeConsuming()
}
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void EngineShouldNotInterfereAllocationResults(IToolchain toolchain)
{
Expand All @@ -146,7 +146,7 @@ public void EngineShouldNotInterfereAllocationResults(IToolchain toolchain)
}

// #1542
[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void TieredJitShouldNotInterfereAllocationResults(IToolchain toolchain)
{
Expand All @@ -162,7 +162,7 @@ public class NoBoxing
[Benchmark] public ValueTuple<int> ReturnsValueType() => new ValueTuple<int>(0);
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void EngineShouldNotIntroduceBoxing(IToolchain toolchain)
{
Expand All @@ -183,7 +183,7 @@ public class NonAllocatingAsynchronousBenchmarks
[Benchmark] public ValueTask<int> CompletedValueTaskOfT() => new ValueTask<int>(default(int));
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void AwaitingTasksShouldNotInterfereAllocationResults(IToolchain toolchain)
{
Expand All @@ -208,7 +208,7 @@ public void WithOperationsPerInvoke()
private void DoNotInline(object left, object right) { }
}

[Theory, MemberData(nameof(GetToolchains))]
[Theory, MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void AllocatedMemoryShouldBeScaledForOperationsPerInvoke(IToolchain toolchain)
{
Expand All @@ -235,7 +235,7 @@ public byte[] SixtyFourBytesArray()
}

[TheoryEnvSpecific("Full Framework cannot measure precisely enough for low invocation counts.", EnvRequirement.DotNetCoreOnly)]
[MemberData(nameof(GetToolchains))]
[MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void AllocationQuantumIsNotAnIssueForNetCore21Plus(IToolchain toolchain)
{
Expand Down Expand Up @@ -301,7 +301,7 @@ public void Allocate()
}

[TheoryEnvSpecific("Full Framework cannot measure precisely enough", EnvRequirement.DotNetCoreOnly)]
[MemberData(nameof(GetToolchains))]
[MemberData(nameof(GetToolchains), DisableDiscoveryEnumeration = true)]
[Trait(Constants.Category, Constants.BackwardCompatibilityCategory)]
public void MemoryDiagnoserIsAccurateForMultiThreadedBenchmarks(IToolchain toolchain)
{
Expand Down
Loading