xamarin-macios/tests/dotnet
Ivan Povazan 0eed6bd305
[release/9.0.1xx-preview7] Enable dedup only when targeting ARM64 mobile platforms (#20951)
## Description

Previous fix https://github.com/xamarin/xamarin-macios/pull/20941 did
not take into account that when we target non arm64 apple mobile
platforms we are using `MONO_AOT_MODE_INTERP_ONLY` which cannot use
dedup optimization as it discards AOT images during runtime (as noted
in: https://github.com/xamarin/xamarin-macios/pull/20945).

## Changes

- Enable dedup only when targeting ARM64
- Fix tests to cover builds for both ARM64 and X64 builds

Finally, the change was tested against MAUI iossimulator-x64 template
app
2024-07-30 07:14:34 -04:00
..
AdditionalAppExtensionConsumer [tests] Bump min OS versions in all tests. 2024-02-28 12:08:24 +01:00
AppWithGenericLibraryReference [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
AppWithNativeDynamicLibrariesInPackageReference [msbuild] Detect any dylibs in NativeReferences. Fixes #19520. (#19560) 2023-12-04 20:11:20 +01:00
AppWithResources [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
AppWithWinExeOutputType [msbuild] Validate OutputType property (#16871) 2022-12-22 07:36:04 +01:00
AppWithXCAssets [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
AppWithXCFrameworkWithStaticLibraryInPackageReference [msbuild] Fix resolving static libraries inside an XCFramework in a NuGet. (#19502) 2023-11-27 08:54:48 +01:00
AutoDetectEntitlements [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
BindingOldStyle [tests] Convert spaces to tabs in numerous test projects. (#15855) 2022-09-05 10:54:33 +02:00
BindingWithDefaultCompileInclude [tests] Convert spaces to tabs in numerous test projects. (#15855) 2022-09-05 10:54:33 +02:00
BindingWithUncompressedResourceBundle [dotnet/msbuild] Copy binding resource packages to output directories together with CopyLocal assemblies. Fixes #13910. (#17806) 2023-03-22 10:49:26 +01:00
BundleStructure [net9.0] Merge main into net9.0. 2024-06-05 17:23:29 +02:00
CatalystAppOptimizedForMacOS [tests] Bump min OS versions in all tests. 2024-02-28 12:08:24 +01:00
CentralPackageVersionsApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
CustomizedCodeSigning [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
Entitlements [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
ExceptionalTestApp [runtime] Call mono_unhandled_exception to raise AppDomain.UnhandledException. (#20656) 2024-05-29 20:14:47 +02:00
ExtensionConsumer NativeAOT: Enable building app extensions with NativeAOT (#20872) 2024-07-19 08:03:49 -04:00
ExtensionConsumerWithFrameworks [dotnet] Point app extensions to any frameworks in the root app bundle. Fixes #17876. (#18913) 2023-09-11 09:52:54 +02:00
ExtensionProject [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
ExtensionProjectWithFrameworks [dotnet] Point app extensions to any frameworks in the root app bundle. Fixes #17876. (#18913) 2023-09-11 09:52:54 +02:00
LibraryReferencingBindingLibrary [tests] Skip framework-test on iOS and tvOS. (#20590) 2024-05-30 10:34:14 +02:00
MultiTargetingLibrary [dotnet] Multi target with Xcode 15.0 (#20155) 2024-02-28 09:03:53 +01:00
MyCatalystApp [tests] Use the default RuntimeIdentifier in MyCatalystApp (#19767) 2024-01-10 11:19:40 +01:00
MyClassLibrary [tests] Convert spaces to tabs in numerous test projects. (#15855) 2022-09-05 10:54:33 +02:00
MyClassRedirectApp [dotnet] Test integration (#18543) 2023-10-17 10:29:12 -04:00
MyCocoaApp [dotnet] Create an MSBuild property for the current min OS version. (#17034) 2023-01-10 21:18:39 +01:00
MyInterpretedApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
MyNativeAotAppWithTrimAnalysisWarning [net9.0] Do not suppress trim analysis warnings when NativeAOT is enabled (#20767) 2024-07-03 18:22:44 +02:00
MyPartialAppManifestApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
MyRegistrarApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
MySatelliteAssembliesLibrary [tests] Convert spaces to tabs in numerous test projects. (#15855) 2022-09-05 10:54:33 +02:00
MySimpleApp [dotnet] Force 'AppendRuntimeIdentifierToOutputPath=true' for the inner build of universal apps. (#20839) 2024-07-10 13:00:05 +02:00
MySimpleAppWithSatelliteReference [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
MySingleView [dotnet] Create an MSBuild property for the current min OS version. (#17034) 2023-01-10 21:18:39 +01:00
MyTVApp [dotnet] Create an MSBuild property for the current min OS version. (#17034) 2023-01-10 21:18:39 +01:00
NativeDynamicLibraryReferencesApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
NativeFileReferencesApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
NativeFrameworkReferencesApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
NativeXCFrameworkReferencesApp [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
Net6_0SimpleApp [tests] Bump min OS versions in all tests. 2024-02-28 12:08:24 +01:00
Net7_0SimpleApp [tests] Bump min OS versions in all tests. 2024-02-28 12:08:24 +01:00
Net8_0SimpleApp [tests] Bump min OS versions in all tests. 2024-02-28 12:08:24 +01:00
RebuildTestAppWithLibraryReference [msbuild] Re-aot referencing assemblies. Fixes #17708. (#18509) 2023-08-07 20:19:30 +02:00
SimpleAppWithOldReferences [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
UnitTests [release/9.0.1xx-preview7] Enable dedup only when targeting ARM64 mobile platforms (#20951) 2024-07-30 07:14:34 -04:00
WidgetConsumer [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
WidgetExtension [autoformat] Add .NET tests. (#16811) 2022-11-21 09:45:49 +01:00
Windows [tests] Fix a couple of minor issues. (#20843) 2024-07-10 12:57:30 +02:00
size-comparison [tests] Bump min OS versions in all tests. 2024-01-29 15:24:30 +01:00
.gitignore Make our local .NET the default .NET for the build. (#15086) 2022-06-07 10:11:02 +02:00
Makefile [tests] Make the 'run-tests' and 'run-unit-tests' targets equivalent. (#20223) 2024-03-01 09:54:33 +01:00
README.md [appcompare] Remove old/local copy of the tool and update comparison documentation (#14190) 2022-02-18 13:04:28 +01:00

README.md

.net tests

size-comparison

To install the latest appcompare tool do:

$ dotnet tool install --global appcompare

You can update it to the latest version by running:

$ dotnet tool update --global appcompare

The current directory might point to a different and incompatible dotnet SDK, resulting in an error. However running the command from a different location (outside the repo) should work.

Easier Analysis

If you want to read/compare the IL inside the assemblies you need to disable IL stripping.

  • Legacy (oldnet)

Add this option inside the Release|iPhone configuration of size-comparison/MySingleView/oldnet/MySingleView.csproj

<MtouchExtraArgs>--nostrip</MtouchExtraArgs>
  • net6

Build with /p:EnableAssemblyILStripping=false set. The MtouchExtraArgs legacy option is also honored.