Skip to content

Upgrade NUnit packages to v4 and convert to Assert.That constraint syntax#25374

Draft
rolfbjarne wants to merge 22 commits into
mainfrom
dev/rolf/nunitv4
Draft

Upgrade NUnit packages to v4 and convert to Assert.That constraint syntax#25374
rolfbjarne wants to merge 22 commits into
mainfrom
dev/rolf/nunitv4

Conversation

@rolfbjarne
Copy link
Copy Markdown
Member

Summary

Upgrades all NUnit packages in the tests/ directory to use centralized version properties from Directory.Build.props (NUnit 3.12.0 → 4.4.0, NUnit3TestAdapter → 6.1.0) and converts all test assertions to NUnit v4's proper Assert.That constraint syntax.

Changes

  • Centralized package versions: All NUnit* PackageReferences now use $(NUnitPackageVersion), $(NUnit3TestAdapterPackageVersion), etc. from Directory.Build.props
  • Converted ~9700 assertion call sites across 800+ files from classic Assert.AreEqual/Assert.IsTrue/etc. to Assert.That(actual, Is.EqualTo(expected)) constraint model
  • Removed all NUnit.Framework.Legacy references — no ClassicAssert, CollectionAssert, or StringAssert usage remains
  • Fixed NUnit 4 breaking changes: format-arg message overloads (converted to string interpolation), nullable annotation warnings, NSString→string message conversions

Conversion patterns

Old (NUnit 3) New (NUnit 4)
Assert.AreEqual(expected, actual, msg) Assert.That(actual, Is.EqualTo(expected), msg)
Assert.IsTrue(x, msg) Assert.That(x, Is.True, msg)
Assert.IsNull(x) Assert.That(x, Is.Null)
Assert.Contains(item, collection) Assert.That(collection, Does.Contain(item))
CollectionAssert.IsEmpty(x) Assert.That(x, Is.Empty)
StringAssert.Contains(sub, str) Assert.That(str, Does.Contain(sub))

Verification

  • cb (clean build) ✅
  • make -C tests build-all

🤖 Pull request created by Copilot

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

rolfbjarne and others added 2 commits May 14, 2026 10:04
Update all test project files in tests/ to use version properties from
the root Directory.Build.props instead of hardcoded versions. This
upgrades NUnit from 3.12.0 to 4.4.0, NUnit3TestAdapter from 3.15.1 to
6.1.0, and NUnit.ConsoleRunner from 3.11.1/3.12.0 to 3.22.0.

Added NUnitLitePackageVersion and NUnitV2ResultWriterPackageVersion
properties to Directory.Build.props for packages that didn't have
centralized version properties yet.

Also removed stale NUnit.3.11.0 props import from mmptest.csproj.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Convert CollectionAssert to Assert.That constraint syntax in msbuild
  tests and dotnet UnitTests
- Convert Assert.Fail/IsTrue/IsFalse with format args to use string
  interpolation
- Add global using for NUnit.Framework.Legacy in test GlobalUsings.cs
  to provide CollectionAssert and other classic assertions for
  monotouch-test and on-device tests

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
rolfbjarne and others added 20 commits May 14, 2026 10:04
These projects use classic NUnit assertions (Assert.AreEqual, Assert.IsTrue,
etc.) which were moved to ClassicAssert in NUnit.Framework.Legacy in NUnit 4.
Adding a global using avoids having to convert hundreds of assertion calls.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…bility

Replace Assert.AreEqual, Assert.AreNotEqual, Assert.IsTrue, Assert.IsFalse,
Assert.IsEmpty, Assert.IsNotEmpty with their ClassicAssert equivalents and add
using NUnit.Framework.Legacy to each affected file.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tro-sharpie

Mechanically replace Assert.AreEqual, Assert.IsTrue, Assert.IsFalse, etc.
with ClassicAssert equivalents from NUnit.Framework.Legacy for NUnit 4
compatibility.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Mechanically replace Assert.AreEqual, Assert.IsTrue, Assert.IsFalse, etc.
with ClassicAssert equivalents from NUnit.Framework.Legacy for NUnit 4
compatibility in all Xamarin.MacDev.Tasks.Tests and Xamarin.MacDev.Tests
source files.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fix NUnitLitePackageVersion property ordering in Directory.Build.props.
Migrate Assert.X → ClassicAssert.X in monotouch-test, bindings-test,
introspection, linker, BundledResources, and EmbeddedResources test files.
Convert Assert.Fail/Ignore format-arg calls to string interpolation.
Fix nullable reference type warnings in TouchRunner.cs and
TestResultElement.cs caused by NUnit 4's improved null annotations.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fix F# test, nullable warnings, and CollectionAssert null parameter.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Migrate Assert.X → ClassicAssert.X in bindings-test2, framework-test,
interdependent-binding-projects, xcframework-test, fsharp, mtouch, and
mmptest test files. Add 'using NUnit.Framework.Legacy' to old-style
.NET Framework projects and shared common test files. Fix fully-qualified
NUnit.Framework.ClassicAssert → NUnit.Framework.Legacy.ClassicAssert.
Fix Assert.Fail format-arg call in MTouch.cs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
NUnit 4 removed format-arg overloads for Assert.Fail and Assert.That.
Convert to string.Format and string interpolation respectively.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
NLTaggerTest: Convert NSString to string via .ToString() for Assert.That
message parameter (NUnit 4 requires string, not NSString).
RecordTest: Replace pre-existing StringUtil.StringsEqual calls (StringUtil
was never available on iOS) with ClassicAssert.AreEqual.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace all ClassicAssert.X, CollectionAssert.X, and StringAssert.X calls
with NUnit v4's Assert.That constraint model across all test projects.
Remove all NUnit.Framework.Legacy usings and references.

Conversion mappings:
- ClassicAssert.AreEqual(exp, act) → Assert.That(act, Is.EqualTo(exp))
- ClassicAssert.IsTrue(x) → Assert.That(x, Is.True)
- ClassicAssert.IsNull(x) → Assert.That(x, Is.Null)
- ClassicAssert.IsNotNull(x) → Assert.That(x, Is.Not.Null)
- ClassicAssert.AreSame(a, b) → Assert.That(b, Is.SameAs(a))
- ClassicAssert.IsInstanceOf<T>(x) → Assert.That(x, Is.InstanceOf<T>())
- CollectionAssert.Contains(c, i) → Assert.That(c, Does.Contain(i))
- StringAssert.Contains(e, a) → Assert.That(a, Does.Contain(e))
- etc.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Re-converted 14 files where the => lambda arrow and >= comparison
operator were incorrectly treated as generic type bracket closers,
causing Is.True/Is.False/Is.EqualTo to end up inside method call
arguments instead of as Assert.That constraint arguments.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fixed 4 more files where constraint arguments (Is.EqualTo, Is.Not.Null)
were incorrectly placed inside nested method calls instead of as
Assert.That constraint arguments.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…rance

The conversion script incorrectly treated the 3rd argument of
ClassicAssert.AreEqual(expected, actual, message) as a numeric
tolerance rather than a message string, producing invalid
Is.EqualTo(x).Within(message) instead of Is.EqualTo(x), message.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
NUnit 4's Assert.That does not support format string arguments after
the message parameter. Convert to string interpolation instead.
Also simplify ternary expressions that contained string literals
which cannot appear inside interpolated string braces.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
NUnit 4.4.0 ships nunit.framework.legacy.dll as a transitive
dependency, so it appears in app bundles even though we don't
use NUnit.Framework.Legacy directly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix Is.InstanceOf() conversion: args were swapped (164 occurrences)
- Convert testgenerator.cs to emit Assert.That syntax (regenerated code)
- Fix broken lambda conversions in IdentityTest.cs and MnistTest.cs
- Fix format-arg messages (NUnit 4 doesn't support them)
- Fix NLTaggerTest NSString message parameter

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- TrampolineTest: Change tolerance from float to double for NFloat
  comparisons (NUnit 4 doesn't support float tolerance for NFloat)
- MTLIntersectionFunctionTableTests: Add null guard for functionTable
  which may be null on some hardware
- SKTransformNodeTest: Change tolerance from float to double for
  nfloat comparisons

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The photo library may be empty on the simulator, and SaveToPhotosAlbum
is async so re-fetching immediately may still return empty results.
Mark as inconclusive instead of crashing with NSRangeException.

Also convert Assert.That(bool expr) to proper constraint-based
assertions with better failure messages.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [PR Build #966dae0] Build passed (Detect API changes) ✅

Pipeline on Agent
Hash: 966dae0d30f6518e65784b05fc4e3d5b74269e2c [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [PR Build #966dae0] Build passed (Build packages) ✅

Pipeline on Agent
Hash: 966dae0d30f6518e65784b05fc4e3d5b74269e2c [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ API diff for current PR / commit

NET (empty diffs)

✅ API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: 966dae0d30f6518e65784b05fc4e3d5b74269e2c [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [PR Build #966dae0] Build passed (Build macOS tests) ✅

Pipeline on Agent
Hash: 966dae0d30f6518e65784b05fc4e3d5b74269e2c [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

🔥 [CI Build #966dae0] Test results 🔥

Test results

❌ Tests failed on VSTS: test results

1 tests crashed, 52 tests failed, 120 tests passed.

Failures

❌ fsharp tests

2 tests failed, 2 tests passed.

Failed tests

  • fsharp/iOS - simulator/Debug: LaunchTimedOut
  • fsharp/tvOS - simulator/Debug: LaunchTimedOut

Html Report (VSDrops) Download

❌ monotouch tests (iOS)

16 tests failed, 0 tests passed.

Failed tests

  • monotouch-test/iOS - simulator/Debug: TimedOut
  • monotouch-test/iOS - simulator/Debug (LinkSdk): Failed
  • monotouch-test/iOS - simulator/Debug (static registrar): Failed
  • monotouch-test/iOS - simulator/Release (all optimizations): Failed
  • monotouch-test/iOS - simulator/Debug (ARM64): Failed
  • monotouch-test/iOS - simulator/Release (NativeAOT, ARM64): Crashed
  • monotouch-test/iOS - simulator/Release (trimmable static registrar, NativeAOT, ARM64): Crashed
  • monotouch-test/iOS - simulator/Debug (managed static registrar): Failed
  • monotouch-test/iOS - simulator/Release (managed static registrar, all optimizations): Failed
  • monotouch-test/iOS - simulator/Release (NativeAOT, x64): Crashed
  • monotouch-test/iOS - simulator/Release (trimmable static registrar, NativeAOT, x64): Crashed
  • monotouch-test/iOS - simulator/Debug (interpreter): Failed
  • monotouch-test/iOS - simulator/Release (interpreter): Failed
  • monotouch-test/iOS - simulator/Release (compat inline dlfcn): Failed
  • monotouch-test/iOS - simulator/Release (strict inline dlfcn, link sdk): Failed
  • monotouch-test/iOS - simulator/Release (NativeAOT, .NET 11 defaults): Crashed

Html Report (VSDrops) Download

❌ monotouch tests (MacCatalyst)

18 tests failed, 0 tests passed.

Failed tests

  • monotouch-test/Mac Catalyst/Debug: Failed (Test run failed.
    Tests run: 3762 Passed: 3604 Inconclusive: 7 Failed: 3 Ignored: 155)
  • monotouch-test/Mac Catalyst/Debug (ARM64): Failed (Test run failed.
    Tests run: 3762 Passed: 3604 Inconclusive: 7 Failed: 3 Ignored: 155)
  • monotouch-test/Mac Catalyst/Debug (managed static registrar): Failed (Test run failed.
    Tests run: 3759 Passed: 3602 Inconclusive: 7 Failed: 3 Ignored: 154)
  • monotouch-test/Mac Catalyst/Debug (static registrar): Failed (Test run failed.
    Tests run: 3759 Passed: 3603 Inconclusive: 7 Failed: 3 Ignored: 153)
  • monotouch-test/Mac Catalyst/Debug (static registrar, ARM64): Failed (Test run failed.
    Tests run: 3759 Passed: 3603 Inconclusive: 7 Failed: 3 Ignored: 153)
  • monotouch-test/Mac Catalyst/Release (managed static registrar): Failed (Test run failed.
    Tests run: 3759 Passed: 3597 Inconclusive: 7 Failed: 3 Ignored: 159)
  • monotouch-test/Mac Catalyst/Release (managed static registrar, all optimizations): Failed (Test run failed.
    Tests run: 3759 Passed: 3591 Inconclusive: 7 Failed: 3 Ignored: 165)
  • monotouch-test/Mac Catalyst/Release (NativeAOT): TimedOut (Execution timed out after 1200 seconds.
    Test run crashed)
  • monotouch-test/Mac Catalyst/Release (NativeAOT, ARM64): TimedOut (Execution timed out after 1200 seconds.
    Test run crashed)
  • monotouch-test/Mac Catalyst/Release (NativeAOT, x64): TimedOut (Execution timed out after 1200 seconds.
    Test run crashed)
  • monotouch-test/Mac Catalyst/Release (trimmable static registrar, NativeAOT): TimedOut (Execution timed out after 1200 seconds.
    Test run crashed)
  • monotouch-test/Mac Catalyst/Release (trimmable static registrar, NativeAOT, ARM64): TimedOut (Execution timed out after 1200 seconds.
    Test run crashed)
  • monotouch-test/Mac Catalyst/Release (trimmable static registrar, NativeAOT, x64): TimedOut (Execution timed out after 1200 seconds.
    Test run crashed)
  • monotouch-test/Mac Catalyst/Release (static registrar): Failed (Test run failed.
    Tests run: 3759 Passed: 3596 Inconclusive: 7 Failed: 3 Ignored: 160)
  • monotouch-test/Mac Catalyst/Release (static registrar, all optimizations): Failed (Test run failed.
    Tests run: 3759 Passed: 3591 Inconclusive: 7 Failed: 3 Ignored: 165)
  • monotouch-test/Mac Catalyst/Release (ARM64, LLVM): Failed (Test run failed.
    Tests run: 3759 Passed: 3597 Inconclusive: 7 Failed: 3 Ignored: 159)
  • monotouch-test/Mac Catalyst/Debug (interpreter): Failed (Test run failed.
    Tests run: 3762 Passed: 3602 Inconclusive: 7 Failed: 3 Ignored: 157)
  • monotouch-test/Mac Catalyst/Release (interpreter): Failed (Test run failed.
    Tests run: 3759 Passed: 3594 Inconclusive: 7 Failed: 3 Ignored: 162)

Html Report (VSDrops) Download

❌ monotouch tests (macOS)

6 tests failed, 12 tests passed.

Failed tests

  • monotouch-test/macOS/Release (NativeAOT): Failed (Test run crashed (exit code: 134).
    Test run crashed)
  • monotouch-test/macOS/Release (NativeAOT, ARM64): Failed (Test run crashed (exit code: 134).
    Test run crashed)
  • monotouch-test/macOS/Release (NativeAOT, x64): Failed (Test run crashed (exit code: 134).
    Test run crashed)
  • monotouch-test/macOS/Release (trimmable static registrar, NativeAOT): Failed (Test run crashed (exit code: 134).
    Test run crashed)
  • monotouch-test/macOS/Release (trimmable static registrar, NativeAOT, ARM64): Failed (Test run crashed (exit code: 134).
    Test run crashed)
  • monotouch-test/macOS/Release (trimmable static registrar, NativeAOT, x64): Failed (Test run crashed (exit code: 134).
    Test run crashed)

Html Report (VSDrops) Download

❌ monotouch tests (tvOS)

5 tests failed, 11 tests passed.

Failed tests

  • monotouch-test/tvOS - simulator/Release (NativeAOT, ARM64): Crashed
  • monotouch-test/tvOS - simulator/Release (trimmable static registrar, NativeAOT, ARM64): Crashed
  • monotouch-test/tvOS - simulator/Release (NativeAOT, x64): Crashed
  • monotouch-test/tvOS - simulator/Release (trimmable static registrar, NativeAOT, x64): Crashed
  • monotouch-test/tvOS - simulator/Release (NativeAOT, .NET 11 defaults): Crashed

Html Report (VSDrops) Download

❌ windows tests

🔥 Failed catastrophically on VSTS: test results - windows (no summary found).

Html Report (VSDrops) Download

❌ Tests on macOS Monterey (12) tests

1 tests failed, 4 tests passed.

Failed tests

  • monotouch-test: Failed (exit code 2)
    • FetchResultIndex : ObjCRuntime.ObjCException : Objective-C exception thrown. Name: NSRangeException Reason: *** -[__NSArray0 objectAtIndex:]: index 0 beyond bounds for empty NSArray
    • FetchResultObjectsAt : ObjCRuntime.ObjCException : Objective-C exception thrown. Name: NSRangeException Reason: *** -[NSArray objectsAtIndexes:]: index 0 in index set beyond bounds for empty array
    • FetchResultToArray : Assert.That(array is not null && array.Count () > 0, Is.True)
    • ... and 3 more failures

Html Report (VSDrops) Download

❌ Tests on macOS Ventura (13) tests

1 tests failed, 4 tests passed.

Failed tests

  • monotouch-test: Failed (exit code 2)
    • No test failure details available. stderr output:
      • 2026-05-14 03:42:56.507 monotouchtest[54711:46487354] at MonoTouchFixtures.Phase.PhaseObjectTest.Setup() in /Users/builder/azdo/_work/7/s/macios/tests/monotouch-test/Phase/PhaseObjectTest.cs:line 22
      • 2026-05-14 03:42:56.507 monotouchtest[54711:46487354] [IGNORED] WorldTransform : This test only runs on device.
      • 2026-05-14 03:42:56.507 monotouchtest[54711:46487354] at TestRuntime.AssertDevice(String message) in /Users/builder/azdo/_work/7/s/macios/tests/common/TestRuntime.cs:line 222
      • 2026-05-14 03:42:56.507 monotouchtest[54711:46487354] at MonoTouchFixtures.Phase.PhaseObjectTest.Setup() in /Users/builder/azdo/_work/7/s/macios/tests/monotouch-test/Phase/PhaseObjectTest.cs:line 22
      • 2026-05-14 03:42:56.507 monotouchtest[54711:46487354] MonoTouchFixtures.Phase.PhaseObjectTest : 0.9249 ms
      • 2026-05-14 03:42:56.507 monotouchtest[54711:46487354] MonoTouchFixtures.Phase : 1.7165 ms
      • 2026-05-14 03:42:56.507 monotouchtest[54711:46487354] MonoTouchFixtures.Photos
      • 2026-05-14 03:42:56.507 monotouchtest[54711:46487354] MonoTouchFixtures.Photos.FetchResultTest
      • make[1]: *** [exec-maccatalyst-dotnet-arm64-monotouch-test] Error 134
      • make: *** [exec-monotouch-test] Error 1

Html Report (VSDrops) Download

❌ Tests on macOS Sonoma (14) tests

1 tests failed, 4 tests passed.

Failed tests

  • monotouch-test: Failed (exit code 2)
    • FetchResultIndex : ObjCRuntime.ObjCException : Objective-C exception thrown. Name: NSRangeException Reason: *** -[__NSArray0 objectAtIndex:]: index 0 beyond bounds for empty array
    • FetchResultObjectsAt : ObjCRuntime.ObjCException : Objective-C exception thrown. Name: NSRangeException Reason: *** -[NSArray objectsAtIndexes:]: index 0 in index set beyond bounds for empty array
    • FetchResultToArray : Assert.That(array is not null && array.Count () > 0, Is.True)

Html Report (VSDrops) Download

❌ Tests on macOS Sequoia (15) tests

1 tests failed, 4 tests passed.

Failed tests

  • monotouch-test: Failed (exit code 2)
    • FetchResultIndex : ObjCRuntime.ObjCException : Objective-C exception thrown. Name: NSRangeException Reason: *** -[__NSArray0 objectAtIndex:]: index 0 beyond bounds for empty array
    • FetchResultObjectsAt : ObjCRuntime.ObjCException : Objective-C exception thrown. Name: NSRangeException Reason: *** -[NSArray objectsAtIndexes:]: index 0 in index set beyond bounds for empty array
    • FetchResultToArray : Assert.That(array is not null && array.Count () > 0, Is.True)
    • ... and 3 more failures

Html Report (VSDrops) Download

❌ Tests on macOS Tahoe (26) tests

1 tests failed, 4 tests passed.

Failed tests

  • monotouch-test: Failed (exit code 2)
    • FetchResultIndex : ObjCRuntime.ObjCException : Objective-C exception thrown. Name: NSRangeException Reason: *** -[__NSArray0 objectAtIndex:]: index 0 beyond bounds for empty array
    • FetchResultObjectsAt : ObjCRuntime.ObjCException : Objective-C exception thrown. Name: NSRangeException Reason: *** -[NSArray objectsAtIndexes:]: index 0 in index set beyond bounds for empty array
    • FetchResultToArray : Assert.That(array is not null && array.Count () > 0, Is.True)
    • ... and 3 more failures

Html Report (VSDrops) Download

Successes

✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (MacCatalyst): All 1 tests passed. (⚠️ Html Report Publish failed ⚠️) Download
✅ dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. (⚠️ Html Report Publish failed ⚠️) Download
✅ generator: All 5 tests passed. Html Report (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 6 tests passed. Html Report (VSDrops) Download
✅ linker: All 44 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. (⚠️ Html Report Publish failed ⚠️) Download

macOS tests

Linux Build Verification

Linux build succeeded

Pipeline on Agent
Hash: 966dae0d30f6518e65784b05fc4e3d5b74269e2c [PR build]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants