dotnet / dotnet/android

NativeAOT on-device tests

Open
#10,079 0 comments 3 reactions 1 assignee Claimed by @jonathanpeppers View on GitHub
Area: App Runtime Area: NativeAOT Area: Unit Tests
Dominant language
C#
Stars
2.1k
Forks
579
Avg merge
1d 20h
Merged PRs (30d)
257

Description

### Android framework version

.NET 11

### Affected platform version

NativeAOT runtime

### Description

Track on-device test coverage that is still excluded when running `Mono.Android.NET-Tests` with NativeAOT.

- [x] Run the `Java.Interop-Tests.dll` assembly
- Enabled by https://github.com/dotnet/android/pull/10496
- One trimmable-typemap fixture remains excluded by name; see below

- [x] Enable the `GCBridge` category
- Enabled by https://github.com/dotnet/android/pull/10494
- GC bridge flakiness is tracked separately by https://github.com/dotnet/android/issues/10567

- [ ] Restore the remaining GC/JNI concurrency test
- `Java.InteropTests.JnienvTest.ToLocalJniHandleSurvivesConcurrentCollection`
- This test has both `GCBridge` and `NativeAOTIgnore` categories

- [ ] Enable the `SSL` category
- It is still excluded for NativeAOT in `TestInstrumentation.ExcludedCategories`
- https://github.com/dotnet/android/pull/12058 replaced an external HTTPS dependency with a local test server, so this category should be retried

- [ ] Enable the `NTLM` category
- It is still excluded for both CoreCLR and NativeAOT
- Related CoreCLR test tracker: https://github.com/dotnet/android/issues/10069

- [ ] Restore `System.ExceptionTest.InnerExceptionIsSet`
- It has `NativeAOTIgnore` because NativeAOT stack traces are limited

- [x] Keep `System.AppContextTests.TestPrivateSwitches` excluded by design
- The tested private switches only exist in the MonoVM and CoreCLR BCL assemblies

- [ ] Resolve or accept the trimmable-typemap exclusion for `Java.InteropTests.InvokeVirtualFromConstructorTests`
- `[JniAddNativeMethodRegistrationAttribute]` is unsupported by the trimmable typemap and emits XA4251
- Related issue: https://github.com/dotnet/android/issues/11170

- [x] Remove the obsolete `AndroidClientHandler` failure from this tracker
- `AndroidClientHandler` was removed by https://github.com/dotnet/android/pull/11393
- Current HTTP-handler test exclusions are represented by the `SSL` and `NTLM` items above

- [x] `Java.LangTests.ObjectTest.JnienvCreateInstance_RegistersMultipleInstances`
- Fixed by https://github.com/dotnet/android/pull/10107

### Steps to Reproduce

Run:

```
.\dotnet-local.cmd build tests\Mono.Android-Tests\Mono.Android-Tests\Mono.Android.NET-Tests.csproj -t:Install,RunTestApks -bl -p:PublishAot=true -c Release
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.