Skip to content

Commit

Permalink
test: add tests for .NET Core 3
Browse files Browse the repository at this point in the history
  • Loading branch information
natemcmaster committed Sep 14, 2019
1 parent ccc2b5b commit 6b822fc
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 15 deletions.
12 changes: 3 additions & 9 deletions build.ps1
Expand Up @@ -55,20 +55,14 @@ exec dotnet pack --no-restore --no-build --configuration $Configuration -o $arti
exec dotnet build --configuration $Configuration "$PSScriptRoot/docs/samples/samples.sln"

[string[]] $testArgs=@()
if ($PSVersionTable.PSEdition -eq 'Core' -and -not $IsWindows) {
$testArgs += '--framework','netcoreapp2.2'
if (-not $IsWindows) {
$testArgs += '-p:TestFullFramework=false'
}
if ($env:TF_BUILD) {
$testArgs += '--logger', 'trx'
}

exec dotnet test --no-restore --no-build --configuration $Configuration '-clp:Summary' `
"$PSScriptRoot/test/CommandLineUtils.Tests/McMaster.Extensions.CommandLineUtils.Tests.csproj" `
@testArgs `
@MSBuildArgs

exec dotnet test --no-restore --no-build --configuration $Configuration '-clp:Summary' `
"$PSScriptRoot/test/Hosting.CommandLine.Tests/McMaster.Extensions.Hosting.CommandLine.Tests.csproj" `
exec dotnet test --no-restore --no-build --configuration $Configuration `
@testArgs `
@MSBuildArgs

Expand Down
@@ -1,7 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>netcoreapp2.2;net472</TargetFrameworks>
<TargetFrameworks>netcoreapp3.0;netcoreapp2.2</TargetFrameworks>
<TargetFrameworks Condition="'$(TestFullFramework)' != 'false'">$(TargetFrameworks);net472</TargetFrameworks>
</PropertyGroup>

<ItemGroup>
Expand Down
4 changes: 4 additions & 0 deletions test/CommandLineUtils.Tests/OptionAttributeTests.cs
Expand Up @@ -241,12 +241,16 @@ public void BindsToStaticProperties()
Assert.Equal(1, PrivateSetterProgram.StaticNumber);
}

#if !NETCOREAPP3_0
// .NET Core 3.0 made an intentional breaking change
// see https://github.com/dotnet/coreclr/issues/21268
[Fact]
public void BindsToStaticReadOnlyProps()
{
CommandLineParser.ParseArgs<PrivateSetterProgram>("--static-string", "1");
Assert.Equal("1", PrivateSetterProgram.StaticString);
}
#endif

[Fact]
public void BindsToStaticPropertiesWithSetterMethod()
Expand Down
8 changes: 4 additions & 4 deletions test/CommandLineUtils.Tests/ValueParserProviderTests.cs
Expand Up @@ -415,7 +415,7 @@ public void ParsesValueTupleOfBoolAndEnum(string input, Color expected)
[InlineData(Color.Green)]
public void ParsesNullableEnum(Color? color)
{
var parsed = CommandLineParser.ParseArgs<Program>("--color-opt", color.ToString().ToLowerInvariant());
var parsed = CommandLineParser.ParseArgs<Program>("--color-opt", color!.ToString()!.ToLowerInvariant());
Assert.True(parsed.ColorOpt.HasValue, "Option should have value");
Assert.Equal(color, parsed.ColorOpt);
}
Expand Down Expand Up @@ -491,7 +491,7 @@ public void DefaultCultureCanBeChanged(string property, string option, string te
app.Conventions.UseAttributes();
app.Parse(option, test);

var actual = typeof(Program).GetProperty(property).GetMethod.Invoke(app.Model, null);
var actual = typeof(Program).GetProperty(property)!.GetMethod!.Invoke(app.Model, null);
Assert.Equal(expected, actual);
}

Expand Down Expand Up @@ -569,7 +569,7 @@ public void ItParsesParamofT(Type type, string input, object expected)
};

private static readonly MethodInfo s_ItParsesOptionOfTImpl
= typeof(ValueParserProviderTests).GetMethod(nameof(ItParsesOptionOfTImpl), BindingFlags.NonPublic | BindingFlags.Instance);
= typeof(ValueParserProviderTests).GetMethod(nameof(ItParsesOptionOfTImpl), BindingFlags.NonPublic | BindingFlags.Instance)!;

private void ItParsesOptionOfTImpl<T>(string input, T expected)
{
Expand All @@ -581,7 +581,7 @@ private void ItParsesOptionOfTImpl<T>(string input, T expected)
}

private static readonly MethodInfo s_ItParsesArgumentOfTImpl
= typeof(ValueParserProviderTests).GetMethod(nameof(ItParsesArgumentOfTImpl), BindingFlags.NonPublic | BindingFlags.Instance);
= typeof(ValueParserProviderTests).GetMethod(nameof(ItParsesArgumentOfTImpl), BindingFlags.NonPublic | BindingFlags.Instance)!;

private void ItParsesArgumentOfTImpl<T>(string input, T expected)
{
Expand Down
@@ -1,7 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>netcoreapp2.2;net472</TargetFrameworks>
<TargetFrameworks>netcoreapp3.0;netcoreapp2.2</TargetFrameworks>
<TargetFrameworks Condition="'$(TestFullFramework)' != 'false'">$(TargetFrameworks);net472</TargetFrameworks>
</PropertyGroup>

<ItemGroup>
Expand Down

0 comments on commit 6b822fc

Please sign in to comment.