diff --git a/MODULE.bazel b/MODULE.bazel index e9fa31a2c4a3e..724ecfafb57e4 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -118,7 +118,7 @@ dotnet.toolchain(dotnet_version = "10.0.100") use_repo(dotnet, "dotnet_toolchains") selenium_paket = use_extension("//dotnet:paket.nuget_extension.bzl", "nuget_extension") -use_repo(selenium_paket, "paket.nuget") +use_repo(selenium_paket, "nuget.nunit3testadapter.v6.2.0", "paket.nuget") docfx_ext = use_extension("//dotnet/private:docfx_repo.bzl", "docfx_extension") use_repo(docfx_ext, "docfx") diff --git a/dotnet/defs.bzl b/dotnet/defs.bzl index 76198b6d6996a..9874f36620fc6 100644 --- a/dotnet/defs.bzl +++ b/dotnet/defs.bzl @@ -8,7 +8,6 @@ load("//dotnet/private:generated_assembly_info.bzl", _generated_assembly_info = load("//dotnet/private:nuget_pack.bzl", _nuget_pack = "nuget_pack") load("//dotnet/private:nuget_package.bzl", _nuget_package = "nuget_package") load("//dotnet/private:nuget_push.bzl", _nuget_push = "nuget_push") -load("//dotnet/private:nunit_test.bzl", _nunit_test = "nunit_test") load("//dotnet/private:paket_deps.bzl", _paket_deps = "paket_deps") def devtools_version_targets(): @@ -28,5 +27,4 @@ generated_assembly_info = _generated_assembly_info nuget_pack = _nuget_pack nuget_package = _nuget_package nuget_push = _nuget_push -nunit_test = _nunit_test paket_deps = _paket_deps diff --git a/dotnet/paket.dependencies b/dotnet/paket.dependencies index 209934f687ad2..82b60ef77c957 100644 --- a/dotnet/paket.dependencies +++ b/dotnet/paket.dependencies @@ -10,8 +10,10 @@ nuget Humanizer.Core 2.8.26 nuget Microsoft.Extensions.DependencyInjection 3.1.9 nuget Moq 4.20.72 nuget NETStandard.Library 2.0.3 -nuget NUnit 3.13.2 -nuget NUnitLite 3.13.2 +nuget NUnit 4.5.1 +nuget NUnit3TestAdapter 6.2.0 +nuget Microsoft.Testing.Platform 2.1.0 +nuget Microsoft.Testing.Extensions.VSTestBridge 2.1.0 nuget System.Text.Json 8.0.5 nuget System.Threading.Channels 8.0.0 nuget Runfiles 0.14.0 diff --git a/dotnet/paket.lock b/dotnet/paket.lock index e96f67385cd77..01dc15f8751da 100644 --- a/dotnet/paket.lock +++ b/dotnet/paket.lock @@ -16,6 +16,8 @@ NUGET System.Reflection.TypeExtensions (>= 4.4) - restriction: || (&& (== net462) (< net452) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) Humanizer.Core (2.8.26) NETStandard.Library (>= 1.6.1) - restriction: || (== net462) (&& (== net8.0) (< netstandard2.0)) + Microsoft.ApplicationInsights (2.23) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + System.Diagnostics.DiagnosticSource (>= 5.0) Microsoft.Bcl.AsyncInterfaces (8.0) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (== netstandard2.0) System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) Microsoft.CSharp (4.4) - restriction: || (&& (== net462) (< net452) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) @@ -23,19 +25,44 @@ NUGET Microsoft.Bcl.AsyncInterfaces (>= 1.1.1) - restriction: || (== net462) (&& (== net8.0) (>= net461)) (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) Microsoft.Extensions.DependencyInjection.Abstractions (>= 3.1.9) Microsoft.Extensions.DependencyInjection.Abstractions (3.1.9) + Microsoft.Extensions.DependencyModel (8.0.2) - restriction: || (&& (== net462) (>= net8.0)) (== net8.0) (&& (== netstandard2.0) (>= net8.0)) Microsoft.NETCore.Platforms (1.1) + Microsoft.Testing.Extensions.Telemetry (2.1) + Microsoft.ApplicationInsights (>= 2.23) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + Microsoft.Testing.Platform (>= 2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + System.Diagnostics.DiagnosticSource (>= 6.0) - restriction: || (&& (== net462) (== net8.0)) (&& (== net462) (>= netstandard2.0)) (== netstandard2.0) + Microsoft.Testing.Extensions.TrxReport.Abstractions (2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + Microsoft.Testing.Platform (>= 2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + Microsoft.Testing.Extensions.VSTestBridge (2.1) + Microsoft.Testing.Extensions.Telemetry (>= 2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + Microsoft.Testing.Extensions.TrxReport.Abstractions (>= 2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + Microsoft.Testing.Platform (>= 2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + Microsoft.TestPlatform.ObjectModel (>= 18.0.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + Microsoft.Testing.Platform (2.1) + Microsoft.Testing.Platform.MSBuild (2.1) + Microsoft.Testing.Platform (>= 2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + Microsoft.TestPlatform.ObjectModel (18.0.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + System.Reflection.Metadata (>= 8.0) Moq (4.20.72) Castle.Core (>= 5.1.1) System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) NETStandard.Library (2.0.3) Microsoft.NETCore.Platforms (>= 1.1) - NUnit (3.13.2) - NETStandard.Library (>= 2.0) - restriction: || (&& (== net462) (< net35) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) - NUnitLite (3.13.2) - NETStandard.Library (>= 2.0) - restriction: || (&& (== net462) (< net35) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) - NUnit (3.13.2) + NUnit (4.5.1) + System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== netstandard2.0) (>= net462)) + System.ValueTuple (>= 4.4) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== netstandard2.0) (>= net462)) + NUnit3TestAdapter (6.2) + Microsoft.Extensions.DependencyModel (>= 8.0.2) - restriction: || (&& (== net462) (>= net8.0)) (== net8.0) (&& (== netstandard2.0) (>= net8.0)) + Microsoft.Testing.Extensions.VSTestBridge (>= 2.1) - restriction: || (== net462) (== net8.0) (&& (== netstandard2.0) (>= net462)) (&& (== netstandard2.0) (>= net8.0)) + Microsoft.Testing.Platform.MSBuild (>= 2.1) - restriction: || (== net462) (== net8.0) (&& (== netstandard2.0) (>= net462)) (&& (== netstandard2.0) (>= net8.0)) Runfiles (0.14) System.Buffers (4.5.1) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (== netstandard2.0) + System.Collections.Immutable (8.0) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + System.Memory (>= 4.5.5) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (== netstandard2.0) + System.Runtime.CompilerServices.Unsafe (>= 6.0) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (&& (== net8.0) (< net7.0)) (== netstandard2.0) + System.Diagnostics.DiagnosticSource (6.0) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + System.Memory (>= 4.5.4) - restriction: || (== net462) (&& (== net8.0) (>= net461)) (&& (== net8.0) (< net5.0)) (== netstandard2.0) + System.Runtime.CompilerServices.Unsafe (>= 6.0) System.Diagnostics.EventLog (6.0) - restriction: || (&& (== net462) (>= netstandard2.1)) (== net8.0) (== netstandard2.0) System.Security.Principal.Windows (>= 5.0) - restriction: || (== net462) (&& (== net8.0) (>= net461)) (&& (== net8.0) (< net6.0)) (&& (== net8.0) (< netcoreapp3.1)) (== netstandard2.0) System.Memory (4.5.5) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (== netstandard2.0) @@ -47,6 +74,9 @@ NUGET System.Reflection.Emit (4.7) - restriction: || (&& (== net462) (== net8.0)) (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (== net462) (== net8.0)) (&& (== net462) (< net45)) (&& (== net462) (< netstandard1.1)) (&& (== net462) (>= uap10.1)) (&& (== net462) (>= wpa81)) (&& (== net8.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= uap10.1)) (== netstandard2.0) System.Reflection.Emit.ILGeneration (4.7) - restriction: || (&& (== net462) (== net8.0)) (&& (== net8.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= uap10.1)) (== netstandard2.0) + System.Reflection.Metadata (8.0) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) + System.Collections.Immutable (>= 8.0) + System.Memory (>= 4.5.5) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (== netstandard2.0) System.Reflection.TypeExtensions (4.4) - restriction: || (&& (== net462) (< net452) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) System.Runtime.CompilerServices.Unsafe (6.0) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (&& (== net8.0) (< net7.0)) (== netstandard2.0) System.Security.Principal.Windows (5.0) - restriction: || (&& (== net462) (== net8.0)) (&& (== net462) (>= netcoreapp3.1)) (&& (== net462) (>= netstandard2.1)) (&& (== net8.0) (>= net461)) (&& (== net8.0) (< net6.0)) (&& (== net8.0) (< netcoreapp3.1)) (== netstandard2.0) diff --git a/dotnet/paket.nuget.bzl b/dotnet/paket.nuget.bzl index 4bc14e260647e..1453c7c199785 100644 --- a/dotnet/paket.nuget.bzl +++ b/dotnet/paket.nuget.bzl @@ -12,22 +12,33 @@ def nuget(): {"name": "CommandLineParser", "id": "CommandLineParser", "version": "2.8.0", "sha512": "sha512-jCdlE9/pHlvHLPs7lqDSRBHuO9Lpgy1CP2rePzlkoBHbuXfKkGAXUPoTOgol/nL2aVW+f2mnL11rc8fzEwlLXw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Handlebars.Net", "id": "Handlebars.Net", "version": "1.11.5", "sha512": "sha512-0MwU7vAXI3hT+9W7r7vadVZ21+HoGC5Z0Qc39JP+xxMlF7YOyZEhFByoQ2gtldWyeG6Gt2LglcFH8kJaXg/uiQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.CSharp", "System.Reflection.TypeExtensions"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["Microsoft.CSharp", "System.Reflection.TypeExtensions"], "net6.0": ["Microsoft.CSharp", "System.Reflection.TypeExtensions"], "net7.0": ["Microsoft.CSharp", "System.Reflection.TypeExtensions"], "net8.0": ["Microsoft.CSharp", "System.Reflection.TypeExtensions"], "net9.0": ["Microsoft.CSharp", "System.Reflection.TypeExtensions"], "netcoreapp1.0": ["Microsoft.CSharp", "NETStandard.Library", "System.Reflection.TypeExtensions"], "netcoreapp1.1": ["Microsoft.CSharp", "NETStandard.Library", "System.Reflection.TypeExtensions"], "netcoreapp2.0": ["Microsoft.CSharp", "System.Reflection.TypeExtensions"], "netcoreapp2.1": ["Microsoft.CSharp", "System.Reflection.TypeExtensions"], "netcoreapp2.2": ["Microsoft.CSharp", "System.Reflection.TypeExtensions"], "netcoreapp3.0": ["Microsoft.CSharp", "System.Reflection.TypeExtensions"], "netcoreapp3.1": ["Microsoft.CSharp", "System.Reflection.TypeExtensions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": ["Microsoft.CSharp", "NETStandard.Library", "System.Reflection.TypeExtensions"], "netstandard1.4": ["Microsoft.CSharp", "NETStandard.Library", "System.Reflection.TypeExtensions"], "netstandard1.5": ["Microsoft.CSharp", "NETStandard.Library", "System.Reflection.TypeExtensions"], "netstandard1.6": ["Microsoft.CSharp", "NETStandard.Library", "System.Reflection.TypeExtensions"], "netstandard2.0": ["Microsoft.CSharp", "System.Reflection.TypeExtensions"], "netstandard2.1": ["Microsoft.CSharp", "System.Reflection.TypeExtensions"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Humanizer.Core", "id": "Humanizer.Core", "version": "2.8.26", "sha512": "sha512-hdDm8u0FrPEorV1qXA+W01DCR9zeNX5fwe5fXFUyzmA/JjLxMjt7/W672rSOWIjWHGkD6cZYOFLjIg/0O+a8kg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": ["NETStandard.Library"], "net451": ["NETStandard.Library"], "net452": ["NETStandard.Library"], "net46": ["NETStandard.Library"], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": ["NETStandard.Library"], "netcoreapp1.1": ["NETStandard.Library"], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": ["NETStandard.Library"], "netstandard1.1": ["NETStandard.Library"], "netstandard1.2": ["NETStandard.Library"], "netstandard1.3": ["NETStandard.Library"], "netstandard1.4": ["NETStandard.Library"], "netstandard1.5": ["NETStandard.Library"], "netstandard1.6": ["NETStandard.Library"], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.ApplicationInsights", "id": "Microsoft.ApplicationInsights", "version": "2.23.0", "sha512": "sha512-3Ul7+tDGXlSk940qFkTz0IVNTNAd2DulBvjV1TY14oFSx8EyEN1d05hXgKqxRqdiDePrrq2O8SxvhwiGdsIVfw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Diagnostics.DiagnosticSource"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": ["System.Diagnostics.DiagnosticSource"], "net46": ["System.Diagnostics.DiagnosticSource"], "net461": ["System.Diagnostics.DiagnosticSource"], "net462": ["System.Diagnostics.DiagnosticSource"], "net47": ["System.Diagnostics.DiagnosticSource"], "net471": ["System.Diagnostics.DiagnosticSource"], "net472": ["System.Diagnostics.DiagnosticSource"], "net48": ["System.Diagnostics.DiagnosticSource"], "net5.0": ["System.Diagnostics.DiagnosticSource"], "net6.0": ["System.Diagnostics.DiagnosticSource"], "net7.0": ["System.Diagnostics.DiagnosticSource"], "net8.0": ["System.Diagnostics.DiagnosticSource"], "net9.0": ["System.Diagnostics.DiagnosticSource"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Diagnostics.DiagnosticSource"], "netcoreapp2.1": ["System.Diagnostics.DiagnosticSource"], "netcoreapp2.2": ["System.Diagnostics.DiagnosticSource"], "netcoreapp3.0": ["System.Diagnostics.DiagnosticSource"], "netcoreapp3.1": ["System.Diagnostics.DiagnosticSource"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Diagnostics.DiagnosticSource"], "netstandard2.1": ["System.Diagnostics.DiagnosticSource"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.Bcl.AsyncInterfaces", "id": "Microsoft.Bcl.AsyncInterfaces", "version": "8.0.0", "sha512": "sha512-ecsHc9lEZZJM7k5HHZA1PV2N+ELEarLFcssV2bn7XQIJoaiNZDkplTNcX+VKANfDGURAuEyVFCcRu7aFy16VUg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Threading.Tasks.Extensions"], "net462": ["System.Threading.Tasks.Extensions"], "net47": ["System.Threading.Tasks.Extensions"], "net471": ["System.Threading.Tasks.Extensions"], "net472": ["System.Threading.Tasks.Extensions"], "net48": ["System.Threading.Tasks.Extensions"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["System.Threading.Tasks.Extensions"], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Threading.Tasks.Extensions"], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.CSharp", "id": "Microsoft.CSharp", "version": "4.4.0", "sha512": "sha512-Mg7IqHdgGsyeXSApz85limYBHCUk4dQF4EPnSqcIfFiFA2C6bH4jdtYTsLeYnRN03BkPlNHXtbwlzGn8ASq8LA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": ["NETStandard.Library", "System.Reflection.TypeExtensions"], "netcoreapp1.1": ["NETStandard.Library", "System.Reflection.TypeExtensions"], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": ["NETStandard.Library"], "netstandard1.1": ["NETStandard.Library"], "netstandard1.2": ["NETStandard.Library"], "netstandard1.3": ["NETStandard.Library", "System.Reflection.TypeExtensions"], "netstandard1.4": ["NETStandard.Library", "System.Reflection.TypeExtensions"], "netstandard1.5": ["NETStandard.Library", "System.Reflection.TypeExtensions"], "netstandard1.6": ["NETStandard.Library", "System.Reflection.TypeExtensions"], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.Extensions.DependencyInjection", "id": "Microsoft.Extensions.DependencyInjection", "version": "3.1.9", "sha512": "sha512-vMQqPTihUGUTAzlr4354IcThGnC+ayzonlXLGBmnC6tdNUi40kKlqVl1d71RFgqV7Sj6L/ZmATPaX/xxCj5hAA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.Extensions.DependencyInjection.Abstractions"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Extensions.DependencyInjection.Abstractions", "Microsoft.Bcl.AsyncInterfaces"], "net462": ["Microsoft.Extensions.DependencyInjection.Abstractions", "Microsoft.Bcl.AsyncInterfaces"], "net47": ["Microsoft.Extensions.DependencyInjection.Abstractions", "Microsoft.Bcl.AsyncInterfaces"], "net471": ["Microsoft.Extensions.DependencyInjection.Abstractions", "Microsoft.Bcl.AsyncInterfaces"], "net472": ["Microsoft.Extensions.DependencyInjection.Abstractions", "Microsoft.Bcl.AsyncInterfaces"], "net48": ["Microsoft.Extensions.DependencyInjection.Abstractions", "Microsoft.Bcl.AsyncInterfaces"], "net5.0": ["Microsoft.Extensions.DependencyInjection.Abstractions"], "net6.0": ["Microsoft.Extensions.DependencyInjection.Abstractions"], "net7.0": ["Microsoft.Extensions.DependencyInjection.Abstractions"], "net8.0": ["Microsoft.Extensions.DependencyInjection.Abstractions"], "net9.0": ["Microsoft.Extensions.DependencyInjection.Abstractions"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Extensions.DependencyInjection.Abstractions", "Microsoft.Bcl.AsyncInterfaces"], "netcoreapp2.1": ["Microsoft.Extensions.DependencyInjection.Abstractions", "Microsoft.Bcl.AsyncInterfaces"], "netcoreapp2.2": ["Microsoft.Extensions.DependencyInjection.Abstractions", "Microsoft.Bcl.AsyncInterfaces"], "netcoreapp3.0": ["Microsoft.Extensions.DependencyInjection.Abstractions"], "netcoreapp3.1": ["Microsoft.Extensions.DependencyInjection.Abstractions"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Extensions.DependencyInjection.Abstractions", "Microsoft.Bcl.AsyncInterfaces"], "netstandard2.1": ["Microsoft.Extensions.DependencyInjection.Abstractions"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.Extensions.DependencyInjection.Abstractions", "id": "Microsoft.Extensions.DependencyInjection.Abstractions", "version": "3.1.9", "sha512": "sha512-qbiwYBpKjQ2u3FNFDuznksbzsR7e/pUK2XR/osxiU/1Lo+M8MqjRnvBm5x/Uvtv2iDdMNQ2N+smrPgRGKDXboQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.Extensions.DependencyModel", "id": "Microsoft.Extensions.DependencyModel", "version": "8.0.2", "sha512": "sha512-QqnlTFG1+ZodJq55ziGsy1IYpgCyU0YyqiwqTNysXSlC0pdvLJFf6FI+xeOQBDYHrGsKUw3p58u62eGEHs6jfg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"], "net462": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"], "net47": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"], "net471": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"], "net472": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"], "net48": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"], "net5.0": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"], "net6.0": ["System.Text.Encodings.Web", "System.Text.Json"], "net7.0": ["System.Text.Encodings.Web", "System.Text.Json"], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"], "netcoreapp2.1": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"], "netcoreapp2.2": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"], "netcoreapp3.0": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"], "netcoreapp3.1": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"], "netstandard2.1": ["System.Text.Encodings.Web", "System.Text.Json", "System.Buffers", "System.Memory"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Microsoft.NETCore.Platforms", "id": "Microsoft.NETCore.Platforms", "version": "1.1.0", "sha512": "sha512-a/iSwnRZb+LHFk49hQOyThh/ZNC3vsbZsF65XwQIb863qF6msmhdQtxGXFL28Ob2NsCz/drEj28BJd/YPpLRBg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.Testing.Extensions.Telemetry", "id": "Microsoft.Testing.Extensions.Telemetry", "version": "2.1.0", "sha512": "sha512-6cRkmN1tRjjMItaDPobFKiE8qAhbg5EBIn+4y59brFPYEpDkh3ZKXDH2jUjVj8SoO9XDYY4swgsFEgjzwipSpg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "net462": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "net47": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "net471": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "net472": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "net48": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "net5.0": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "net6.0": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "net7.0": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "net8.0": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights"], "net9.0": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "netcoreapp2.1": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "netcoreapp2.2": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "netcoreapp3.0": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "netcoreapp3.1": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"], "netstandard2.1": ["Microsoft.Testing.Platform", "Microsoft.ApplicationInsights", "System.Diagnostics.DiagnosticSource"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.Testing.Extensions.TrxReport.Abstractions", "id": "Microsoft.Testing.Extensions.TrxReport.Abstractions", "version": "2.1.0", "sha512": "sha512-o+9OyafFHlaJUOs1JOf1OU0N/WbSG5qE8pA4mH1wWagAroyPf9joxtDTu1sxgd/X8JJaTtDOZ3CxQ+bXzMGhMA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.Testing.Platform"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Testing.Platform"], "net462": ["Microsoft.Testing.Platform"], "net47": ["Microsoft.Testing.Platform"], "net471": ["Microsoft.Testing.Platform"], "net472": ["Microsoft.Testing.Platform"], "net48": ["Microsoft.Testing.Platform"], "net5.0": ["Microsoft.Testing.Platform"], "net6.0": ["Microsoft.Testing.Platform"], "net7.0": ["Microsoft.Testing.Platform"], "net8.0": ["Microsoft.Testing.Platform"], "net9.0": ["Microsoft.Testing.Platform"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Testing.Platform"], "netcoreapp2.1": ["Microsoft.Testing.Platform"], "netcoreapp2.2": ["Microsoft.Testing.Platform"], "netcoreapp3.0": ["Microsoft.Testing.Platform"], "netcoreapp3.1": ["Microsoft.Testing.Platform"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Testing.Platform"], "netstandard2.1": ["Microsoft.Testing.Platform"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.Testing.Extensions.VSTestBridge", "id": "Microsoft.Testing.Extensions.VSTestBridge", "version": "2.1.0", "sha512": "sha512-A4sUoOEW7YcKeQnXGC6moa/OgcY+hHsd20vPtERVdB8YRazgTNZNIpf9vONUQrFjXc17eyKB+MSTQecGE1L3GQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "net462": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "net47": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "net471": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "net472": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "net48": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "net5.0": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "net6.0": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "net7.0": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "net8.0": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "net9.0": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "netcoreapp2.1": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "netcoreapp2.2": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "netcoreapp3.0": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "netcoreapp3.1": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"], "netstandard2.1": ["Microsoft.Testing.Extensions.Telemetry", "Microsoft.Testing.Extensions.TrxReport.Abstractions", "Microsoft.Testing.Platform", "Microsoft.TestPlatform.ObjectModel"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.Testing.Platform", "id": "Microsoft.Testing.Platform", "version": "2.1.0", "sha512": "sha512-zx4mcm/3guHjHC6Eq/6yBNTHYUFcbGVv88UAfIq1GV657rGb4reaotG9dePtgcg/zxxuOWnF2HzSFKlQgisuFw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.Testing.Platform.MSBuild", "id": "Microsoft.Testing.Platform.MSBuild", "version": "2.1.0", "sha512": "sha512-iMBE1K7SQ0nAh4O+ieR4SbLKeSq/wxY2ySf22yVsfV5+V5U+TEN0CgnQJt14X6wlgvy8l4fA8eZLaMu8tQwlBQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.Testing.Platform"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Microsoft.Testing.Platform"], "net462": ["Microsoft.Testing.Platform"], "net47": ["Microsoft.Testing.Platform"], "net471": ["Microsoft.Testing.Platform"], "net472": ["Microsoft.Testing.Platform"], "net48": ["Microsoft.Testing.Platform"], "net5.0": ["Microsoft.Testing.Platform"], "net6.0": ["Microsoft.Testing.Platform"], "net7.0": ["Microsoft.Testing.Platform"], "net8.0": ["Microsoft.Testing.Platform"], "net9.0": ["Microsoft.Testing.Platform"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.Testing.Platform"], "netcoreapp2.1": ["Microsoft.Testing.Platform"], "netcoreapp2.2": ["Microsoft.Testing.Platform"], "netcoreapp3.0": ["Microsoft.Testing.Platform"], "netcoreapp3.1": ["Microsoft.Testing.Platform"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Microsoft.Testing.Platform"], "netstandard2.1": ["Microsoft.Testing.Platform"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "Microsoft.TestPlatform.ObjectModel", "id": "Microsoft.TestPlatform.ObjectModel", "version": "18.0.1", "sha512": "sha512-qZKcsS5mN7GMwtpd+tRfAt4Dmg8yVbtWkm9iGfqY2GNOG2qW95NH6zf/FrTLXTiS7rB7zqihWGEcSspOaSK8TQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Reflection.Metadata"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Reflection.Metadata"], "net462": ["System.Reflection.Metadata"], "net47": ["System.Reflection.Metadata"], "net471": ["System.Reflection.Metadata"], "net472": ["System.Reflection.Metadata"], "net48": ["System.Reflection.Metadata"], "net5.0": ["System.Reflection.Metadata"], "net6.0": ["System.Reflection.Metadata"], "net7.0": ["System.Reflection.Metadata"], "net8.0": ["System.Reflection.Metadata"], "net9.0": ["System.Reflection.Metadata"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Reflection.Metadata"], "netcoreapp2.1": ["System.Reflection.Metadata"], "netcoreapp2.2": ["System.Reflection.Metadata"], "netcoreapp3.0": ["System.Reflection.Metadata"], "netcoreapp3.1": ["System.Reflection.Metadata"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Reflection.Metadata"], "netstandard2.1": ["System.Reflection.Metadata"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Moq", "id": "Moq", "version": "4.20.72", "sha512": "sha512-HeLdAKzFe2G4fUg+tUa1WRf/Mye9zbkiv57jHRSb5IVi7GXVPgWbbEaUP8SaOpt43JJFRlWY9N5Yro32/tgRpQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Castle.Core"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Castle.Core", "System.Threading.Tasks.Extensions"], "net462": ["Castle.Core", "System.Threading.Tasks.Extensions"], "net47": ["Castle.Core", "System.Threading.Tasks.Extensions"], "net471": ["Castle.Core", "System.Threading.Tasks.Extensions"], "net472": ["Castle.Core", "System.Threading.Tasks.Extensions"], "net48": ["Castle.Core", "System.Threading.Tasks.Extensions"], "net5.0": ["Castle.Core"], "net6.0": ["Castle.Core"], "net7.0": ["Castle.Core"], "net8.0": ["Castle.Core"], "net9.0": ["Castle.Core"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Castle.Core", "System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["Castle.Core", "System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["Castle.Core", "System.Threading.Tasks.Extensions"], "netcoreapp3.0": ["Castle.Core"], "netcoreapp3.1": ["Castle.Core"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Castle.Core", "System.Threading.Tasks.Extensions"], "netstandard2.1": ["Castle.Core"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "NETStandard.Library", "id": "NETStandard.Library", "version": "2.0.3", "sha512": "sha512-548M6mnBSJWxsIlkQHfbzoYxpiYFXZZSL00p4GHYv8PkiqFBnnT68mW5mGEsA/ch9fDO9GkPgkFQpWiXZN7mAQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.NETCore.Platforms"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": ["Microsoft.NETCore.Platforms"], "net451": ["Microsoft.NETCore.Platforms"], "net452": ["Microsoft.NETCore.Platforms"], "net46": ["Microsoft.NETCore.Platforms"], "net461": ["Microsoft.NETCore.Platforms"], "net462": ["Microsoft.NETCore.Platforms"], "net47": ["Microsoft.NETCore.Platforms"], "net471": ["Microsoft.NETCore.Platforms"], "net472": ["Microsoft.NETCore.Platforms"], "net48": ["Microsoft.NETCore.Platforms"], "net5.0": ["Microsoft.NETCore.Platforms"], "net6.0": ["Microsoft.NETCore.Platforms"], "net7.0": ["Microsoft.NETCore.Platforms"], "net8.0": ["Microsoft.NETCore.Platforms"], "net9.0": ["Microsoft.NETCore.Platforms"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms"], "netstandard": [], "netstandard1.0": ["Microsoft.NETCore.Platforms"], "netstandard1.1": ["Microsoft.NETCore.Platforms"], "netstandard1.2": ["Microsoft.NETCore.Platforms"], "netstandard1.3": ["Microsoft.NETCore.Platforms"], "netstandard1.4": ["Microsoft.NETCore.Platforms"], "netstandard1.5": ["Microsoft.NETCore.Platforms"], "netstandard1.6": ["Microsoft.NETCore.Platforms"], "netstandard2.0": ["Microsoft.NETCore.Platforms"], "netstandard2.1": ["Microsoft.NETCore.Platforms"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "NUnit", "id": "NUnit", "version": "3.13.2", "sha512": "sha512-foKGnF2ckq6uRAybnw1PIMDsDxdp1rbuEBJ4t2LYa5HDL80mOcEUjdbVqRDMTsKNiikfkPEBoeyGV42ZXiLLQA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["NETStandard.Library"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": ["NETStandard.Library"], "net6.0": ["NETStandard.Library"], "net7.0": ["NETStandard.Library"], "net8.0": ["NETStandard.Library"], "net9.0": ["NETStandard.Library"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["NETStandard.Library"], "netcoreapp2.1": ["NETStandard.Library"], "netcoreapp2.2": ["NETStandard.Library"], "netcoreapp3.0": ["NETStandard.Library"], "netcoreapp3.1": ["NETStandard.Library"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["NETStandard.Library"], "netstandard2.1": ["NETStandard.Library"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, - {"name": "NUnitLite", "id": "NUnitLite", "version": "3.13.2", "sha512": "sha512-kPGW4B0ycZAqDPLPKU058JR9onD3svLKAYEghQ1Oyy1YC8bIgtniGUKUbjqeNI3i5KnqFMxEdiHTGF0XxDG9hQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["NUnit", "NETStandard.Library"], "net11": [], "net20": [], "net30": [], "net35": ["NUnit"], "net40": ["NUnit"], "net403": ["NUnit"], "net45": ["NUnit"], "net451": ["NUnit"], "net452": ["NUnit"], "net46": ["NUnit"], "net461": ["NUnit"], "net462": ["NUnit"], "net47": ["NUnit"], "net471": ["NUnit"], "net472": ["NUnit"], "net48": ["NUnit"], "net5.0": ["NUnit", "NETStandard.Library"], "net6.0": ["NUnit", "NETStandard.Library"], "net7.0": ["NUnit", "NETStandard.Library"], "net8.0": ["NUnit", "NETStandard.Library"], "net9.0": ["NUnit", "NETStandard.Library"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["NUnit", "NETStandard.Library"], "netcoreapp2.1": ["NUnit", "NETStandard.Library"], "netcoreapp2.2": ["NUnit", "NETStandard.Library"], "netcoreapp3.0": ["NUnit", "NETStandard.Library"], "netcoreapp3.1": ["NUnit", "NETStandard.Library"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["NUnit", "NETStandard.Library"], "netstandard2.1": ["NUnit", "NETStandard.Library"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "NUnit", "id": "NUnit", "version": "4.5.1", "sha512": "sha512-cPf3kS8Z2P92cEFnQzrY/mlIWssVLdUPdGJ/J6QPLi1OQ/GShrUE0sDnGPxNBd9VzzZyEKlyRcG19NfMpmEngw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": ["System.Threading.Tasks.Extensions", "System.ValueTuple"], "net47": ["System.Threading.Tasks.Extensions", "System.ValueTuple"], "net471": ["System.Threading.Tasks.Extensions", "System.ValueTuple"], "net472": ["System.Threading.Tasks.Extensions", "System.ValueTuple"], "net48": ["System.Threading.Tasks.Extensions", "System.ValueTuple"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "NUnit3TestAdapter", "id": "NUnit3TestAdapter", "version": "6.2.0", "sha512": "sha512-cakJ6dIfgVJbtPIa0UKDIcpBLU7XAHn+Qt/5qBCVd0ROgYn1cIRgZZ9VnlWAsafVyDf6BqlrMGhHtu4DVHjwWQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild", "Microsoft.Extensions.DependencyModel"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild"], "net47": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild"], "net471": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild"], "net472": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild"], "net48": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild", "Microsoft.Extensions.DependencyModel"], "net9.0": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild", "Microsoft.Extensions.DependencyModel"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Runfiles", "id": "Runfiles", "version": "0.14.0", "sha512": "sha512-xncDBZgH/5m3QXFXxTOSQiooXZrEhU9hPThejXvnCmFpGrXYKWq5xWzM3Lp8sL33pTWnuWySnrdIyu5W6DZDiQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Buffers", "id": "System.Buffers", "version": "4.5.1", "sha512": "sha512-gNphWOVbm89+C15jebnPRaYykU8De1PFv1YJV24814IfeGGVa3PXRHDS0MLlbdI1pe9Mpv/n4ZK4INwtAjqv8g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Collections.Immutable", "id": "System.Collections.Immutable", "version": "8.0.0", "sha512": "sha512-BXqVkcIrhimvvem6q2ChWkuW6XYYirvb6FlhvuwaMoBqBdpcr4nehJBKP65Tw40UqcUM6oDoODsecM0yjZ6AUw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net462": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net47": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net471": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net472": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net5.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Runtime.CompilerServices.Unsafe"], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.2": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp3.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Memory", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Diagnostics.DiagnosticSource", "id": "System.Diagnostics.DiagnosticSource", "version": "6.0.0", "sha512": "sha512-dYnmo66bitfHxLjNBU2LPp6Dn98n7hRyk7ZKGVzaAPw2MHy+40dLxfw7susxMkWfL3C//aJF+/UDAPgH2YhUZg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Runtime.CompilerServices.Unsafe"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Runtime.CompilerServices.Unsafe", "System.Memory"], "net462": ["System.Runtime.CompilerServices.Unsafe", "System.Memory"], "net47": ["System.Runtime.CompilerServices.Unsafe", "System.Memory"], "net471": ["System.Runtime.CompilerServices.Unsafe", "System.Memory"], "net472": ["System.Runtime.CompilerServices.Unsafe", "System.Memory"], "net48": ["System.Runtime.CompilerServices.Unsafe", "System.Memory"], "net5.0": ["System.Runtime.CompilerServices.Unsafe"], "net6.0": ["System.Runtime.CompilerServices.Unsafe"], "net7.0": ["System.Runtime.CompilerServices.Unsafe"], "net8.0": ["System.Runtime.CompilerServices.Unsafe"], "net9.0": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Runtime.CompilerServices.Unsafe", "System.Memory"], "netcoreapp2.1": ["System.Runtime.CompilerServices.Unsafe", "System.Memory"], "netcoreapp2.2": ["System.Runtime.CompilerServices.Unsafe", "System.Memory"], "netcoreapp3.0": ["System.Runtime.CompilerServices.Unsafe", "System.Memory"], "netcoreapp3.1": ["System.Runtime.CompilerServices.Unsafe", "System.Memory"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Runtime.CompilerServices.Unsafe", "System.Memory"], "netstandard2.1": ["System.Runtime.CompilerServices.Unsafe", "System.Memory"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Diagnostics.EventLog", "id": "System.Diagnostics.EventLog", "version": "6.0.0", "sha512": "sha512-QBA9W3yytBx8r8pinBEsVSa7dz0RNnymKRjYhk+6jawrSBUfN2cbz1BJnY+LJoSJ7hyt4vuJR8wG4gWh+sZ4TA==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Security.Principal.Windows"], "net462": ["System.Security.Principal.Windows"], "net47": ["System.Security.Principal.Windows"], "net471": ["System.Security.Principal.Windows"], "net472": ["System.Security.Principal.Windows"], "net48": ["System.Security.Principal.Windows"], "net5.0": ["System.Security.Principal.Windows"], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Security.Principal.Windows"], "netcoreapp2.1": ["System.Security.Principal.Windows"], "netcoreapp2.2": ["System.Security.Principal.Windows"], "netcoreapp3.0": ["System.Security.Principal.Windows"], "netcoreapp3.1": ["System.Security.Principal.Windows"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Security.Principal.Windows"], "netstandard2.1": ["System.Security.Principal.Windows"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Memory", "id": "System.Memory", "version": "4.5.5", "sha512": "sha512-6MjlNsl7lKw0Q8lAsw2tQ89ul9x6jD2Yk3EEj+dOFoYGOE9eAUO9wNhvd4O/n97oQXlkyzqKXXUnE+kLElFy3A==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": ["System.Buffers", "System.Runtime.CompilerServices.Unsafe"], "net451": ["System.Buffers", "System.Runtime.CompilerServices.Unsafe"], "net452": ["System.Buffers", "System.Runtime.CompilerServices.Unsafe"], "net46": ["System.Buffers", "System.Runtime.CompilerServices.Unsafe"], "net461": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "net462": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "net47": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "net471": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "net472": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "net48": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": ["System.Buffers", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp1.1": ["System.Buffers", "System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.0": ["System.Runtime.CompilerServices.Unsafe"], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": ["System.Buffers", "System.Runtime.CompilerServices.Unsafe"], "netstandard1.2": ["System.Buffers", "System.Runtime.CompilerServices.Unsafe"], "netstandard1.3": ["System.Buffers", "System.Runtime.CompilerServices.Unsafe"], "netstandard1.4": ["System.Buffers", "System.Runtime.CompilerServices.Unsafe"], "netstandard1.5": ["System.Buffers", "System.Runtime.CompilerServices.Unsafe"], "netstandard1.6": ["System.Buffers", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.0": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"], "netstandard2.1": ["System.Buffers", "System.Numerics.Vectors", "System.Runtime.CompilerServices.Unsafe"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Numerics.Vectors", "id": "System.Numerics.Vectors", "version": "4.5.0", "sha512": "sha512-nATsBTD2CKr4AYN6eRszhX4sptImWmBJwB/U6XKCWWfnCcrTBw8XSCm3QA9gjppkHTr8OkXUY21MR91D3QZXsw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": ["NETStandard.Library"], "netcoreapp1.1": ["NETStandard.Library"], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": ["NETStandard.Library"], "netstandard1.1": ["NETStandard.Library"], "netstandard1.2": ["NETStandard.Library"], "netstandard1.3": ["NETStandard.Library"], "netstandard1.4": ["NETStandard.Library"], "netstandard1.5": ["NETStandard.Library"], "netstandard1.6": ["NETStandard.Library"], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Reflection.Emit", "id": "System.Reflection.Emit", "version": "4.7.0", "sha512": "sha512-EMAyW5k6MdmTxYre7l8cb9f/Zhc78ivw0pXSm/sw8OAewwQqzqxeJFu2LY+/7WPOAq33TgTPVYEeDPPVQbiXqQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": ["System.Reflection.Emit.ILGeneration"], "netcoreapp1.1": ["System.Reflection.Emit.ILGeneration"], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": ["System.Reflection.Emit.ILGeneration"], "netstandard1.2": ["System.Reflection.Emit.ILGeneration"], "netstandard1.3": ["System.Reflection.Emit.ILGeneration"], "netstandard1.4": ["System.Reflection.Emit.ILGeneration"], "netstandard1.5": ["System.Reflection.Emit.ILGeneration"], "netstandard1.6": ["System.Reflection.Emit.ILGeneration"], "netstandard2.0": ["System.Reflection.Emit.ILGeneration"], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Reflection.Emit.ILGeneration", "id": "System.Reflection.Emit.ILGeneration", "version": "4.7.0", "sha512": "sha512-iQ2Xw8qC8YCsh3+OUAMtD4g8LiA5r9ZxVhlDZn3Dok7C382JbLlPNyyXXCW3KRiv0Ebvwt7b1ZYqmIoCerrI2Q==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "System.Reflection.Metadata", "id": "System.Reflection.Metadata", "version": "8.0.0", "sha512": "sha512-+6sMdkJjee0B6nm3AlBBl7cQaI0oPniLvvkrkFhmEN3fo/hGONaFdwpAaO+GRTlbZe4kRZzFwU7kSXQW0RyJxg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["System.Collections.Immutable"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["System.Collections.Immutable", "System.Memory"], "net462": ["System.Collections.Immutable", "System.Memory"], "net47": ["System.Collections.Immutable", "System.Memory"], "net471": ["System.Collections.Immutable", "System.Memory"], "net472": ["System.Collections.Immutable", "System.Memory"], "net48": ["System.Collections.Immutable", "System.Memory"], "net5.0": ["System.Collections.Immutable", "System.Memory"], "net6.0": ["System.Collections.Immutable"], "net7.0": ["System.Collections.Immutable"], "net8.0": ["System.Collections.Immutable"], "net9.0": ["System.Collections.Immutable"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["System.Collections.Immutable", "System.Memory"], "netcoreapp2.1": ["System.Collections.Immutable", "System.Memory"], "netcoreapp2.2": ["System.Collections.Immutable", "System.Memory"], "netcoreapp3.0": ["System.Collections.Immutable", "System.Memory"], "netcoreapp3.1": ["System.Collections.Immutable", "System.Memory"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["System.Collections.Immutable", "System.Memory"], "netstandard2.1": ["System.Collections.Immutable", "System.Memory"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Reflection.TypeExtensions", "id": "System.Reflection.TypeExtensions", "version": "4.4.0", "sha512": "sha512-BWYdrACMy1Sbq7Kh1oISS+2qKX1dHhXNpRByG3c6M9i2fhU9BZqO3nFYIabmbZuQwd7svR5zfxNHgmgv2XkkIg==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Runtime.CompilerServices.Unsafe", "id": "System.Runtime.CompilerServices.Unsafe", "version": "6.0.0", "sha512": "sha512-1AVzAb5OxJNvJLnOADtexNmWgattm2XVOT3TjQTN7Dd4SqoSwai1CsN2fth42uQldJSQdz/sAec0+TzxBFgisw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Security.Principal.Windows", "id": "System.Security.Principal.Windows", "version": "5.0.0", "sha512": "sha512-RKkgqq8ishctQTGbtXqyuOGkUx1fAhkqb1OoHYdRJRlbYLoLWkSkWYHRN/17DzplsSlZtf2Xr8BXjNhO8nRnzQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Microsoft.NETCore.Platforms"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms"], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, diff --git a/dotnet/private/BUILD.bazel b/dotnet/private/BUILD.bazel index 567cd935782a7..8ce106654b415 100644 --- a/dotnet/private/BUILD.bazel +++ b/dotnet/private/BUILD.bazel @@ -1,6 +1,34 @@ +load("@rules_dotnet//dotnet:defs.bzl", "import_library") load("@rules_python//python:defs.bzl", "py_binary") py_binary( name = "generate_resources_tool", srcs = ["generate_resources_tool.py"], ) + +exports_files( + ["mtp_shim.cs"], + visibility = ["//visibility:public"], +) + +# The NUnit3TestAdapter NuGet package ships its assemblies under build// +# (intended for MSBuild .targets-based wiring) instead of the standard +# lib// layout, so rules_dotnet's paket extractor leaves the +# @paket.nuget//nunit3testadapter alias's libs/refs/data filegroups empty. +# This wrapper exposes the DLLs as a usable compile + runtime reference. +import_library( + name = "nunit3testadapter_runtime", + framework_list = {}, + library_name = "NUnit3.TestAdapter", + libs = [ + "@nuget.nunit3testadapter.v6.2.0//:build/net8.0/NUnit3.TestAdapter.dll", + "@nuget.nunit3testadapter.v6.2.0//:build/net8.0/nunit.engine.dll", + "@nuget.nunit3testadapter.v6.2.0//:build/net8.0/nunit.engine.api.dll", + "@nuget.nunit3testadapter.v6.2.0//:build/net8.0/nunit.engine.core.dll", + "@nuget.nunit3testadapter.v6.2.0//:build/net8.0/testcentric.engine.metadata.dll", + ], + refs = ["@nuget.nunit3testadapter.v6.2.0//:build/net8.0/NUnit3.TestAdapter.dll"], + targeting_pack_overrides = {}, + version = "6.2.0", + visibility = ["//visibility:public"], +) diff --git a/dotnet/private/dotnet_nunit_test_suite.bzl b/dotnet/private/dotnet_nunit_test_suite.bzl index cd18905c88234..dadb3c39b4cc0 100644 --- a/dotnet/private/dotnet_nunit_test_suite.bzl +++ b/dotnet/private/dotnet_nunit_test_suite.bzl @@ -10,15 +10,20 @@ load( _BROWSERS = { "chrome": { "args": [ - "--params=ActiveDriverConfig=Chrome", + "--test-parameter", + "ActiveDriverConfig=Chrome", ] + select({ "@selenium//common:use_pinned_linux_chrome": [ - "--params=DriverServiceLocation=$(location @linux_chromedriver//:chromedriver)", - "--params=BrowserLocation=$(location @linux_chrome//:chrome-linux64/chrome)", + "--test-parameter", + "DriverServiceLocation=$(location @linux_chromedriver//:chromedriver)", + "--test-parameter", + "BrowserLocation=$(location @linux_chrome//:chrome-linux64/chrome)", ], "@selenium//common:use_pinned_macos_chrome": [ - "--params=DriverServiceLocation=$(location @mac_chromedriver//:chromedriver)", - "--params=BrowserLocation=$(location @mac_chrome//:Chrome.app)/Contents/MacOS/Chrome", + "--test-parameter", + "DriverServiceLocation=$(location @mac_chromedriver//:chromedriver)", + "--test-parameter", + "BrowserLocation=$(location @mac_chrome//:Chrome.app)/Contents/MacOS/Chrome", ], "//conditions:default": [], }), @@ -27,15 +32,20 @@ _BROWSERS = { }, "edge": { "args": [ - "--params=ActiveDriverConfig=Edge", + "--test-parameter", + "ActiveDriverConfig=Edge", ] + select({ "@selenium//common:use_pinned_linux_edge": [ - "--params=DriverServiceLocation=$(location @linux_edgedriver//:msedgedriver)", - "--params=BrowserLocation=$(location @linux_edge//:opt/microsoft/msedge/microsoft-edge)", + "--test-parameter", + "DriverServiceLocation=$(location @linux_edgedriver//:msedgedriver)", + "--test-parameter", + "BrowserLocation=$(location @linux_edge//:opt/microsoft/msedge/microsoft-edge)", ], "@selenium//common:use_pinned_macos_edge": [ - "--params=DriverServiceLocation=$(location @mac_edgedriver//:msedgedriver)", - "\"--params=BrowserLocation=$(location @mac_edge//:Edge.app)/Contents/MacOS/Microsoft Edge\"", + "--test-parameter", + "DriverServiceLocation=$(location @mac_edgedriver//:msedgedriver)", + "--test-parameter", + "BrowserLocation=$(location @mac_edge//:Edge.app)/Contents/MacOS/Microsoft Edge", ], "//conditions:default": [], }), @@ -44,15 +54,20 @@ _BROWSERS = { }, "firefox": { "args": [ - "--params=ActiveDriverConfig=Firefox", + "--test-parameter", + "ActiveDriverConfig=Firefox", ] + select({ "@selenium//common:use_pinned_linux_firefox": [ - "--params=DriverServiceLocation=$(location @linux_geckodriver//:geckodriver)", - "--params=BrowserLocation=$(location @linux_firefox//:firefox/firefox)", + "--test-parameter", + "DriverServiceLocation=$(location @linux_geckodriver//:geckodriver)", + "--test-parameter", + "BrowserLocation=$(location @linux_firefox//:firefox/firefox)", ], "@selenium//common:use_pinned_macos_firefox": [ - "--params=DriverServiceLocation=$(location @mac_geckodriver//:geckodriver)", - "--params=BrowserLocation=$(location @mac_firefox//:Firefox.app)/Contents/MacOS/firefox", + "--test-parameter", + "DriverServiceLocation=$(location @mac_geckodriver//:geckodriver)", + "--test-parameter", + "BrowserLocation=$(location @mac_firefox//:Firefox.app)/Contents/MacOS/firefox", ], "//conditions:default": [], }), @@ -61,31 +76,26 @@ _BROWSERS = { }, "ie": { "args": [ - "--params=ActiveDriverConfig=IE", - ] + select({ - "//common:windows": [], - "//conditions:default": [ - "--where=SkipTest==True", - ], - }), + "--test-parameter", + "ActiveDriverConfig=IE", + ], "data": [], "tags": ["skip-rbe"], + "target_compatible_with": ["@platforms//os:windows"], }, "safari": { "args": [ - "--params=ActiveDriverConfig=Safari", - ] + select({ - "//common:macos": [], - "//conditions:default": [ - "--where=SkipTest==True", - ], - }), + "--test-parameter", + "ActiveDriverConfig=Safari", + ], "data": [], "tags": ["skip-rbe"], + "target_compatible_with": ["@platforms//os:osx"], }, "remote": { "args": [ - "--params=ActiveDriverConfig=Remote", + "--test-parameter", + "ActiveDriverConfig=Remote", ], "data": [ "//:grid", @@ -96,18 +106,31 @@ _BROWSERS = { _HEADLESS_ARGS = select({ "@selenium//common:use_headless_browser": [ - "--params=Headless=true", + "--test-parameter", + "Headless=true", ], "//conditions:default": [], }) _TEST_SUFFIXES = ("Test.cs", "Tests.cs") +# Exit code 8 = "Zero tests ran". Treated as success: a target whose tests +# are all filtered out (e.g. [IgnoreBrowser], [Ignore], commented-out source) +# should not fail the build. Real test failures still exit with code 2. _NUNIT_ARGS = [ - "--workers=1", # Bazel tests share a single driver instance; prevent NUnit parallelism + "--ignore-exit-code", + "8", ] -_NUNIT_SHIM = "@rules_dotnet//dotnet/private/rules/common/nunit:shim.cs" +_NUNIT_SHIM = "//dotnet/private:mtp_shim.cs" + +_MTP_DEPS = [ + "@paket.nuget//nunit", + "//dotnet/private:nunit3testadapter_runtime", + "@paket.nuget//microsoft.testing.platform", + "@paket.nuget//microsoft.testing.extensions.vstestbridge", + "@paket.nuget//microsoft.extensions.dependencymodel", +] def _test_wrapper_impl(ctx): binary = ctx.executable.test_binary @@ -169,11 +192,11 @@ def dotnet_nunit_test_suite( all_browser_data += _BROWSERS[browser]["data"] # Compile all tests into a single binary once, - # then create wrapper tests that execute it with --where filters. + # then create wrapper tests that execute it with --filter arguments. csharp_test( name = name, srcs = srcs + [_NUNIT_SHIM], - deps = deps + ["@paket.nuget//nunitlite"], + deps = depset(deps + _MTP_DEPS).to_list(), target_frameworks = target_frameworks, data = data + all_browser_data, tags = ["manual"] + tags, @@ -201,8 +224,9 @@ def dotnet_nunit_test_suite( _test_wrapper_test( name = browser_test_name, test_binary = ":" + name, - args = _NUNIT_ARGS + ["--where=class=~\\.%s$$" % class_name] + browser_args, + args = _NUNIT_ARGS + ["--filter", "FullyQualifiedName~.%s" % class_name] + browser_args, data = browser_data, tags = tags + browser_tags, size = size, + target_compatible_with = browser_cfg["target_compatible_with"] if browser_cfg and "target_compatible_with" in browser_cfg else [], ) diff --git a/dotnet/private/mtp_shim.cs b/dotnet/private/mtp_shim.cs new file mode 100644 index 0000000000000..e3ac07ce826a0 --- /dev/null +++ b/dotnet/private/mtp_shim.cs @@ -0,0 +1,32 @@ +// +// Licensed to the Software Freedom Conservancy (SFC) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The SFC licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +internal static class MicrosoftTestingPlatformEntryPoint +{ + public static async global::System.Threading.Tasks.Task Main(string[] args) + { + global::Microsoft.Testing.Platform.Builder.ITestApplicationBuilder builder = + await global::Microsoft.Testing.Platform.Builder.TestApplication.CreateBuilderAsync(args); + + global::NUnit.VisualStudio.TestAdapter.TestingPlatformAdapter.TestingPlatformBuilderHook.AddExtensions(builder, args); + + using global::Microsoft.Testing.Platform.Builder.ITestApplication app = await builder.BuildAsync(); + return await app.RunAsync(); + } +} diff --git a/dotnet/private/nunit_test.bzl b/dotnet/private/nunit_test.bzl deleted file mode 100644 index fa109c0520a92..0000000000000 --- a/dotnet/private/nunit_test.bzl +++ /dev/null @@ -1,12 +0,0 @@ -load("@rules_dotnet//dotnet:defs.bzl", "csharp_test") -load("//dotnet/private:nuget_package.bzl", "nuget_package") - -def nunit_test(name, srcs = [], deps = [], **kwargs): - csharp_test( - name = name, - srcs = srcs + ["@rules_dotnet//dotnet/private/rules/common/nunit:shim.cs"], - deps = deps + [ - nuget_package("NUnitLite"), - ], - **kwargs - ) diff --git a/dotnet/test/remote/BUILD.bazel b/dotnet/test/remote/BUILD.bazel index 4248415df2870..e6b0173de9fc3 100644 --- a/dotnet/test/remote/BUILD.bazel +++ b/dotnet/test/remote/BUILD.bazel @@ -22,7 +22,6 @@ dotnet_nunit_test_suite( "//dotnet/src/webdriver:webdriver-net8.0", "//dotnet/test/testing.webserver", "//dotnet/test/webdriver", - nuget_package("NUnit"), nuget_package("Runfiles"), ], ) diff --git a/dotnet/test/remote/Selenium.WebDriver.Remote.Tests.csproj b/dotnet/test/remote/Selenium.WebDriver.Remote.Tests.csproj index 460a9fd6af7bd..ceb193ff78887 100644 --- a/dotnet/test/remote/Selenium.WebDriver.Remote.Tests.csproj +++ b/dotnet/test/remote/Selenium.WebDriver.Remote.Tests.csproj @@ -3,12 +3,16 @@ net10.0 WebDriver.Remote.Tests + true + Exe + true + true + true - - - + + diff --git a/dotnet/test/support/BUILD.bazel b/dotnet/test/support/BUILD.bazel index a29948a74d55b..10356704aa1b4 100644 --- a/dotnet/test/support/BUILD.bazel +++ b/dotnet/test/support/BUILD.bazel @@ -25,6 +25,5 @@ dotnet_nunit_test_suite( "//dotnet/test/webdriver", nuget_package("Microsoft.Bcl.AsyncInterfaces"), nuget_package("Moq"), - nuget_package("NUnit"), ], ) diff --git a/dotnet/test/support/Selenium.WebDriver.Support.Tests.csproj b/dotnet/test/support/Selenium.WebDriver.Support.Tests.csproj index 1d2b78be5319c..6a44807f2baf6 100644 --- a/dotnet/test/support/Selenium.WebDriver.Support.Tests.csproj +++ b/dotnet/test/support/Selenium.WebDriver.Support.Tests.csproj @@ -4,14 +4,18 @@ net10.0 WebDriver.Support.Tests OpenQA.Selenium.Support.Tests + true + Exe + true + true + true - - - + + diff --git a/dotnet/test/webdriver/BUILD.bazel b/dotnet/test/webdriver/BUILD.bazel index 979a2f8df1062..1e82ba627c782 100644 --- a/dotnet/test/webdriver/BUILD.bazel +++ b/dotnet/test/webdriver/BUILD.bazel @@ -50,7 +50,6 @@ dotnet_nunit_test_suite( "//dotnet/src/webdriver:webdriver-net8.0", "//dotnet/test/testing.webserver", nuget_package("BenderProxy"), - nuget_package("NUnit"), nuget_package("Runfiles"), ], ) diff --git a/dotnet/test/webdriver/BiDi/WebExtension/WebExtensionTests.cs b/dotnet/test/webdriver/BiDi/WebExtension/WebExtensionTests.cs index e5cf04e832054..25bee3bf583b4 100644 --- a/dotnet/test/webdriver/BiDi/WebExtension/WebExtensionTests.cs +++ b/dotnet/test/webdriver/BiDi/WebExtension/WebExtensionTests.cs @@ -38,7 +38,7 @@ The desired arguments (for Chromium only?): [Test] public async Task CanInstallPathWebExtension() { - string path = Path.GetFullPath("common/extensions/webextensions-selenium-example"); + string path = LocateRelativePath("common/extensions/webextensions-selenium-example"); var result = await bidi.WebExtension.InstallAsync(new ExtensionPath(path)); diff --git a/dotnet/test/webdriver/Infrastructure/Environment/EnvironmentManager.cs b/dotnet/test/webdriver/Infrastructure/Environment/EnvironmentManager.cs index 15b14ffd21ce8..ff2c4b9c6b2f7 100644 --- a/dotnet/test/webdriver/Infrastructure/Environment/EnvironmentManager.cs +++ b/dotnet/test/webdriver/Infrastructure/Environment/EnvironmentManager.cs @@ -58,6 +58,13 @@ private EnvironmentManager() string browserLocation = System.Environment.GetEnvironmentVariable("BROWSER_LOCATION") ?? TestContext.Parameters.Get("BrowserLocation", string.Empty); + // Bazel's $(location ...) expands to a runfiles-relative path (e.g. + // "../+pin_browsers_extension+mac_chrome/Chrome.app/Contents/MacOS/Chrome") + // which is relative to /_main. The driver process runs from a + // different cwd and cannot resolve that, so absolutize through TEST_SRCDIR. + driverServiceLocation = ResolveRunfilesPath(driverServiceLocation); + browserLocation = ResolveRunfilesPath(browserLocation); + DriverConfig driverConfig = env.DriverConfigs[activeDriverConfig]; this.driverFactory = new DriverFactory(driverServiceLocation, browserLocation); @@ -213,4 +220,21 @@ private static string FindProjectRoot(string startDirectory) return startDirectory; } + + private static string ResolveRunfilesPath(string path) + { + if (string.IsNullOrEmpty(path) || Path.IsPathRooted(path)) + { + return path; + } + + string srcdir = System.Environment.GetEnvironmentVariable("TEST_SRCDIR"); + if (string.IsNullOrEmpty(srcdir)) + { + return path; + } + + // Bazel $(location ...) emits paths relative to /_main. + return Path.GetFullPath(Path.Combine(srcdir, "_main", path)); + } } diff --git a/dotnet/test/webdriver/Selenium.WebDriver.Tests.csproj b/dotnet/test/webdriver/Selenium.WebDriver.Tests.csproj index c73c24b69d084..5659ab03e43ff 100644 --- a/dotnet/test/webdriver/Selenium.WebDriver.Tests.csproj +++ b/dotnet/test/webdriver/Selenium.WebDriver.Tests.csproj @@ -4,18 +4,19 @@ net10.0 WebDriver.Tests OpenQA.Selenium.Tests + true + Exe + true + true + true - - + + - - all - runtime; build; native; contentfiles; analyzers; buildtransitive -