From 18af3ac2d5f5e7c80eef0044f77dc1a55d8d569a Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Fri, 31 Jan 2025 13:37:57 -0600 Subject: [PATCH] [tests] fix build warnings as errors in TestRunner.NUnit.NET (#9739) Context: https://github.com/dotnet/android/pull/9732 In d3cde470, we made warnings -> errors on CI. In #9732, the `$(SupportedOSPlatformVersion)` Roslyn analyzer was "fixed" so it properly emits warnings now. This causes several errors: tests/TestRunner.NUnit/NUnitTestRunner.cs(43,35): error CA1416: This call site is reachable on all platforms. 'Application.Context' is only supported on: 'Android' 21.0 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj] tests/TestRunner.NUnit/NUnitTestRunner.cs(43,35): error CA1416: This call site is reachable on all platforms. 'Context.PackageName' is only supported on: 'Android' 21.0 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj] tests/TestRunner.NUnit/NUnitTestInstrumentation.cs(39,32): error CA1416: This call site is reachable on all platforms. 'Instrumentation.Context' is only supported on: 'Android' 21.0 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj] tests/TestRunner.NUnit/NUnitTestInstrumentation.cs(70,4): error CA1416: This call site is reachable on all platforms. 'Log.Info(string?, string)' is only supported on: 'Android' 21.0 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj] tests/TestRunner.NUnit/NUnitTestInstrumentation.cs(64,4): error CA1416: This call site is reachable on all platforms. 'Log.Info(string?, string)' is only supported on: 'Android' 21.0 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj] tests/TestRunner.NUnit/NUnitTestInstrumentation.cs(76,4): error CA1416: This call site is reachable on all platforms. 'Log.Info(string?, string)' is only supported on: 'Android' 21.0 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj] tests/TestRunner.NUnit/NUnitTestInstrumentation.cs(67,4): error CA1416: This call site is reachable on all platforms. 'Log.Info(string?, string)' is only supported on: 'Android' 21.0 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj] tests/TestRunner.NUnit/NUnitTestInstrumentation.cs(73,4): error CA1416: This call site is reachable on all platforms. 'Log.Info(string?, string)' is only supported on: 'Android' 21.0 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj] tests/TestRunner.NUnit/NUnitTestInstrumentation.cs(117,5): error CA1416: This call site is reachable on all platforms. 'Log.Info(string?, string)' is only supported on: 'Android' 21.0 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj] tests/TestRunner.NUnit/NUnitTestInstrumentation.cs(110,5): error CA1416: This call site is reachable on all platforms. 'Log.Info(string?, string)' is only supported on: 'Android' 21.0 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj] tests/TestRunner.NUnit/NUnitTestInstrumentation.cs(104,5): error CA1416: This call site is reachable on all platforms. 'Log.Info(string?, string)' is only supported on: 'Android' 21.0 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj] tests/TestRunner.NUnit/NUnitTestInstrumentation.cs(94,6): error CA1416: This call site is reachable on all platforms. 'Log.Info(string?, string)' is only supported on: 'Android' 21.0 and later. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj] It appears this analyzer relies on `AssemblyInfo.cs` to determine the `$(SupportedOSPlatformVersion)` value. `$(GenerateAssemblyInfo)=false` appears to break this analyzer! This commit removes `$(GenerateAssemblyInfo)=false` to allow the .NET SDK to generate `AssemblyInfo.cs`. I also removed the `Properties/AssemblyInfo.cs` file, as it would create duplicate attributes. We do not *ship* this assembly, so the values in `AssemblyInfo.cs` are probably not important. --- .../Properties/AssemblyInfo.cs | 26 ------------------- .../TestRunner.NUnit.NET.csproj | 1 - 2 files changed, 27 deletions(-) delete mode 100644 tests/TestRunner.NUnit/Properties/AssemblyInfo.cs diff --git a/tests/TestRunner.NUnit/Properties/AssemblyInfo.cs b/tests/TestRunner.NUnit/Properties/AssemblyInfo.cs deleted file mode 100644 index 8b2e16fa71a..00000000000 --- a/tests/TestRunner.NUnit/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -// Information about this assembly is defined by the following attributes. -// Change them to the values specific to your project. - -[assembly: AssemblyTitle("TestRunner.NUnit")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("")] -[assembly: AssemblyCopyright("Microsoft, Inc")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". -// The form "{Major}.{Minor}.*" will automatically update the build and revision, -// and "{Major}.{Minor}.{Build}.*" will update just the revision. - -[assembly: AssemblyVersion("1.0.0")] - -// The following attributes are used to specify the signing key for the assembly, -// if desired. See the Mono documentation for more information about signing. - -//[assembly: AssemblyDelaySign(false)] -//[assembly: AssemblyKeyFile("")] diff --git a/tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj b/tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj index ff395a25370..a89367dfe38 100644 --- a/tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj +++ b/tests/TestRunner.NUnit/TestRunner.NUnit.NET.csproj @@ -6,7 +6,6 @@ Library Xamarin.Android.UnitTests.NUnit TestRunner.NUnit.NET - false