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 =