Skip to content

[skills] Update tests skill for MTP device tests + docs#11680

Merged
jonathanpeppers merged 2 commits into
dotnet:mainfrom
simonrozsival:android-update-tests-skill
Jun 17, 2026
Merged

[skills] Update tests skill for MTP device tests + docs#11680
jonathanpeppers merged 2 commits into
dotnet:mainfrom
simonrozsival:android-update-tests-skill

Conversation

@simonrozsival

Copy link
Copy Markdown
Member

Summary

Update the tests skill and related documentation after #11224 migrated Mono.Android device tests from NUnitLite to stock NUnit through Microsoft Testing Platform (MTP).

Changes

  • Update .github/skills/tests to document the current -t:Install + dotnet test --no-build --report-trx device-test flow.
  • Document .trx result output under bin/Test*/TestResults.
  • Add the JcwGen on-device MTP test command shape.
  • Note that Locale and EmbeddedDSO remain legacy NUnitLite exceptions for now.
  • Update related workflow/building docs and Copilot instructions so they no longer point agents/readers at the old device-test flow.

Validation

  • python3 ~/.copilot/skills/skill-creator/scripts/quick_validate.py .github/skills/tests
  • git diff --check
  • Searched .github and Documentation for stale RunTestApp/old result-file guidance.

Device test note

Attempted to run the CoreCLR trimmable Mono.Android.NET-Tests device lane with the new MTP command shape, but local SDK provisioning was blocked by a missing Android SDK docs file during make all, leaving Android workload packs unavailable.

Reflect the Mono.Android device-test migration from NUnitLite to stock NUnit/MTP in the tests skill and related documentation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 17, 2026 09:29
@simonrozsival simonrozsival added the ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable). label Jun 17, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates dotnet/android’s testing documentation and the tests Copilot skill to reflect the post-dotnet/android#11224 on-device device-test flow: install via -t:Install, then execute stock NUnit tests via dotnet test using Microsoft Testing Platform (MTP), producing .trx results.

Changes:

  • Update on-device runtime test instructions from legacy RunTestApp/NUnitLite to -t:Install + dotnet test --no-build --report-trx (MTP) and document .trx output locations.
  • Expand the tests skill/catalog to include on-device MTP command shape (including JcwGen) and note remaining legacy NUnitLite exceptions.
  • Remove/adjust stale references to Xamarin.Android.NUnitLite sources and old result-file guidance in docs/Copilot instructions.
Show a summary per file
File Description
tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj Updates comment to describe category filtering behavior in the MTP dotnet test flow.
Documentation/workflow/UnitTests.md Rewrites on-device unit test guidance to use -t:Install + dotnet test with .trx outputs.
Documentation/project-docs/ExploringSources.md Removes stale reference to Xamarin.Android.NUnitLite sources.
Documentation/building/unix/instructions.md Updates test taxonomy wording for on-device instrumentation tests; trims trailing whitespace.
.github/skills/tests/SKILL.md Updates skill workflow/commands to the current on-device MTP/NUnit execution pattern.
.github/skills/tests/references/test-catalog.md Updates catalog guidance for full-build and on-device MTP tests; adds JcwGen command shape; notes legacy NUnitLite exceptions.
.github/copilot-instructions.md Updates troubleshooting guidance to reproduce device tests using the MTP dotnet test command shape and .trx results.

Copilot's findings

  • Files reviewed: 7/7 changed files
  • Comments generated: 1

Comment on lines 393 to +396
There are a category of tests which run on the device itself, these test the
runtime behaviour. These run `NUnit` tests directly on the device. Some of
these are located in the runtime itself. We build them within the repo then run
the tests on the device. They use a custom mobile version of `NUnit` called
`NUnitLite`. For the most part they are the same.
runtime behaviour. The main runtime tests use stock `NUnit` through Microsoft
Testing Platform (MTP). We build and install them within the repo, then run
`dotnet test` from the test project directory.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jonathanpeppers this seems wrong. I thought we deleted NUnitLite completely and therefore these tests might not be able to run at all currently? or is this just a hallucination?

@jonathanpeppers jonathanpeppers Jun 17, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are several Xamarin.Android test projects that haven't been running anywhere for a couple years, I think we should just delete them:

@simonrozsival simonrozsival changed the title [docs] Update tests skill for MTP device tests [skills] Update tests skill for MTP device tests + docs Jun 17, 2026
Removed legacy NUnitLite exceptions section from test catalog.
@jonathanpeppers jonathanpeppers merged commit e49cc17 into dotnet:main Jun 17, 2026
1 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-review This PR is ready to review/merge, I think any CI failures are just flaky (ignorable).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants