From 845e8bafd5644fe6f3c5452aa63334754711c752 Mon Sep 17 00:00:00 2001 From: farlee2121 <2847259+farlee2121@users.noreply.github.com> Date: Wed, 8 Jul 2026 12:59:54 -0500 Subject: [PATCH 1/3] Accept the highest dotnet sdk installable from apt --- global.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/global.json b/global.json index eb1a2e4..3b4597d 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "10.0.301", + "version": "10.0.109", "rollForward": "latestMajor" }, "msbuild-sdks": { From 7d417fc6fd6f5c59243b96e37ceb8c229f1dee28 Mon Sep 17 00:00:00 2001 From: farlee2121 <2847259+farlee2121@users.noreply.github.com> Date: Wed, 8 Jul 2026 13:01:19 -0500 Subject: [PATCH 2/3] Fix error where dotnet test wants an explicit --project argument instead of a positional argument. Seems to be an Microsoft.Testing.Platform thing --- .justfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.justfile b/.justfile index 3c45894..86601eb 100644 --- a/.justfile +++ b/.justfile @@ -16,11 +16,11 @@ clean: test-platform: pack cd test/mtp && dotnet clean ../Sample.Test/Sample.Test.fsproj -v:quiet - cd test/mtp && dotnet test ../Sample.Test/Sample.Test.fsproj -p:EnableExpectoTestingPlatformIntegration=true -p:IncludeFailingTests=false + cd test/mtp && dotnet test --project ../Sample.Test/Sample.Test.fsproj -p:EnableExpectoTestingPlatformIntegration=true -p:IncludeFailingTests=false test-platform-failing: pack cd test/mtp && dotnet clean ../Sample.Test/Sample.Test.fsproj -v:quiet - cd test/mtp && dotnet test ../Sample.Test/Sample.Test.fsproj -p:EnableExpectoTestingPlatformIntegration=true -p:IncludeFailingTests=true + cd test/mtp && dotnet test --project ../Sample.Test/Sample.Test.fsproj -p:EnableExpectoTestingPlatformIntegration=true -p:IncludeFailingTests=true test-legacy: pack dotnet clean ./test/Sample.Test/Sample.Test.fsproj -v:quiet From 32887c5002b389c2e4c7d2024665121dc66de940 Mon Sep 17 00:00:00 2001 From: farlee2121 <2847259+farlee2121@users.noreply.github.com> Date: Wed, 8 Jul 2026 13:03:57 -0500 Subject: [PATCH 3/3] Align null guard with other nullable reference usage Guard.argNotNull was returning the original value, so the compiler thought the return value could still be null. Now the compiler recognizes that the return value cannot be null --- src/YoloDev.Expecto.TestSdk/YoloDev.Expecto.TestSdk.fsproj | 1 + src/YoloDev.Expecto.TestSdk/adapter.fs | 7 +++---- src/YoloDev.Expecto.TestSdk/helpers.fs | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/YoloDev.Expecto.TestSdk/YoloDev.Expecto.TestSdk.fsproj b/src/YoloDev.Expecto.TestSdk/YoloDev.Expecto.TestSdk.fsproj index fddd978..0d1ac1f 100644 --- a/src/YoloDev.Expecto.TestSdk/YoloDev.Expecto.TestSdk.fsproj +++ b/src/YoloDev.Expecto.TestSdk/YoloDev.Expecto.TestSdk.fsproj @@ -7,6 +7,7 @@ Exe $(MSBuildProjectName) false + enable diff --git a/src/YoloDev.Expecto.TestSdk/adapter.fs b/src/YoloDev.Expecto.TestSdk/adapter.fs index 8bee73d..e86dcd9 100644 --- a/src/YoloDev.Expecto.TestSdk/adapter.fs +++ b/src/YoloDev.Expecto.TestSdk/adapter.fs @@ -67,8 +67,7 @@ type VsTestAdapter() = let logger = Logger(frameworkHandle, stopwatch) let runSettings = - Option.ofObj runContext - |> Option.bind (fun c -> Option.ofObj c.RunSettings) + runContext.RunSettings |> Option.ofObj |> Option.map (RunSettings.read logger) |> Option.defaultValue RunSettings.defaultSettings @@ -85,8 +84,8 @@ type VsTestAdapter() = let logger = Logger(frameworkHandle, stopwatch) let runSettings = - Option.ofObj runContext - |> Option.bind (fun c -> Option.ofObj c.RunSettings) + runContext.RunSettings + |> Option.ofObj |> Option.map (RunSettings.read logger) |> Option.map (RunSettings.filter runContext) |> Option.defaultValue RunSettings.defaultSettings diff --git a/src/YoloDev.Expecto.TestSdk/helpers.fs b/src/YoloDev.Expecto.TestSdk/helpers.fs index 0810e3b..f3b89d1 100644 --- a/src/YoloDev.Expecto.TestSdk/helpers.fs +++ b/src/YoloDev.Expecto.TestSdk/helpers.fs @@ -3,10 +3,10 @@ module internal YoloDev.Expecto.TestSdk.Helpers [] module internal Guard = - let inline argNotNull (name: string) (arg: 'a) = + let inline argNotNull (name: string) (arg: 'a | null) : 'a = match arg with | null -> nullArg name - | _ -> arg + | notNull -> notNull [] module internal Seq =