Граф коммитов

5184 Коммитов

Автор SHA1 Сообщение Дата
Chris Hamons ab5c0c6b56
[net6] Fix ILStrip'ed apps to actually work again (#13098)
* [net6] Fix ILStrip'ed apps to actually work again

- In a late minute change to the ILStrip PR (https://github.com/xamarin/xamarin-macios/pull/12563) a change to support XVS support broke execution of Apps that were stripped
- Applications were broken because none of the stripped assemblies were actually copied into the bundle
- However, the tests still passed, because all assemblies that were there had no IL (zero assemblies total)

Now why did this happen?
- The stripped assemblies were changed to return via an msbuild Output Element
- Output Element can return an Property or ItemGroup, depending if you use the PropertyName or ItemName attributes
- Unfortunately I used PropertyName, when I expected an ItemGroup. So I silently had a property created instead.
- Thus zero items were added to the list of files to copy into the bundle
- Which was undetected as the test did not confirm files were copied in, and manual tests were not run so late into the PR (3 weeks after PR was opened)

How was it fixed?
- Correctly using ItemName on Output created a valid item group to reference
- However, that still failed with an absurdly confusing error:

 PATH/Microsoft.NET.Publish.targets(277,5): error MSB3024: Could not copy the file FILE to the destination file PATH, because the destination is a folder instead of a file. To copy the source file into a folder, consider using the DestinationFolder parameter instead of DestinationFiles.

- After a splunking through netcore targets, I found the metadata on these assemblies references really matters. Without it, they are not processed correctly at all.
- Thus, I updated ILStripBase to clone the existing metadata when changing the original assembly reference to the stripped path
- Finally, I corrected the test to assert that required files are copied in. I also manually ran our device test.

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-10-25 11:31:42 -05:00
Rachel Kang 5d09fd774e
Merge pull request #13080 from rachelkang/cat_corewlan
[CoreWLAN] Updates for Catalyst
2021-10-25 10:44:47 -04:00
Rachel Kang 8ab022e8f0
Merge pull request #13097 from rachelkang/cat_uikit
[UIKit] Updates for Catalyst
2021-10-25 10:44:20 -04:00
Rolf Bjarne Kvinge dbe31e91df
[CFType] Subclass NativeObject + a few other code updates (#13086)
* Subclass NativeObject to reuse object lifetime code. This isn't for CFType
  itself, but all its subclasses.
* Add a public default constructor to maintain compat, but remove it for XAMCORE_4_0.
* Add an internal (IntPtr, bool) constructor to follow the NativeObject pattern.
* Enable nullability and fix code accordingly.
* Use CFString.CreateNative/ReleaseNative instead of other means to create
  native strings (the fastest and least memory hungry option).
* Use 'nameof (parameter)' instead of string constants.
2021-10-25 15:19:00 +02:00
Rachel Kang e8c066b123
[UIKit] Updates for Catalyst 2021-10-22 17:28:32 -04:00
Rachel Kang 3b1df5b27f
Merge pull request #13076 from rachelkang/cat_printcore
[PrintCore] Updates for Catalyst
2021-10-22 11:14:20 -04:00
Rachel Kang 410237ff14
Merge pull request #13056 from rachelkang/xcode13.0-intentsui-b1-b4
[IntentsUI] Update bindings for Xcode13.0 betas 1, 4
2021-10-22 11:02:05 -04:00
Rolf Bjarne Kvinge af23d61926
[runtime] Fix a toggle ref deadlock when retaining objects. Fixes #13066. (#13071)
The deadlock goes like this:

1. Thread A holds the framework_peer_release_lock lock, and tries to lock the
   refcount_mutex lock.
2. Thread B holds the refcount_mutex, and is waiting for the GC to complete
3. Thread C is trying to lock the framework_peer_release_lock while running
   the GC.

The fix is in thread A, by not doing anything at all with the
framework_peer_release_lock lock locked.

The code contains extensive comments explaining the situation and the solution.

Fixes https://github.com/xamarin/xamarin-macios/issues/13066.

Co-authored-by: Chris Hamons <chris.hamons@xamarin.com>
2021-10-22 09:05:07 +02:00
Rachel Kang f708a4e9da
[CoreWLAN] Updates for Catalyst 2021-10-21 16:03:25 -04:00
Rolf Bjarne Kvinge a862d505de
[CFBundle] Subclass NativeObject + numerous other code updates (#13041)
* Subclass NativeObject to reuse object lifetime code.
* Enable nullability and fix code accordingly.
* Use 'is' and 'is not' instead of '==' and '!=' for object identity.
* Use CFString.CreateNative/ReleaseNative instead of other means to create native
  strings (the fastest and least memory hungry option).
* Use 'nameof (parameter)' instead of string constants.
* Call 'GetCheckedHandle ()' (which will throw an ObjectDisposedException if
  Handle  == IntPtr.Zero) instead of manually checking for IntPtr.Zero and throwing
  ObjectDisposedException.
* Use CFArray helper methods to create arrays (and implement some helper methods
  that didn't exist).
* Add a few tests for the new CFArray helper methods.
2021-10-21 18:04:08 +02:00
Rachel Kang f1ff6ae0cb
Merge pull request #13062 from rachelkang/cat_security
[Security] Updates for Catalyst
2021-10-21 10:49:30 -04:00
Rachel Kang 39ca46b58f
[PrintCore] Updates for Catalyst 2021-10-21 10:36:54 -04:00
Rachel Kang 9bb7267b72
[UserNotifications] Updates for Catalyst (#13057) 2021-10-21 10:12:48 -04:00
Rachel Kang a392357eb0
[Security] Updates for Catalyst 2021-10-20 17:34:11 -04:00
Rolf Bjarne Kvinge 808419f3c3
[tests] Fix the name of monotouchtest. (#13042)
Fix the name of monotouchtest, so that the app/executable is found by the
makefile when trying to execute the test.
2021-10-20 21:17:55 +02:00
Rachel Kang 56b454a8cb
[IntentsUI] Update bindings for Xcode13.0 betas 1,4 2021-10-20 14:33:42 -04:00
Rachel Kang 861c40dbe4
Merge pull request #12990 from rachelkang/cat_networkextension
[NetworkExtension] Updates for Catalyst
2021-10-19 12:26:48 -04:00
Rachel Kang 4c2c4a38d4
Merge pull request #12978 from rachelkang/cat_executionpolicy
[ExecutionPolicy] Updates for MacCatalyst
2021-10-19 10:24:55 -04:00
Rachel Kang 8670f235c5
Merge pull request #12980 from rachelkang/cat_ituneslibrary
[iTunesLibrary] Updates for MacCatalyst
2021-10-19 10:24:34 -04:00
Rachel Kang 9dd375f179
Merge pull request #12991 from rachelkang/cat_videotoolbox
[VideoToolbox] Updates for Catalyst
2021-10-19 10:24:10 -04:00
Rachel Kang 3eea624ebb
Merge pull request #12971 from rachelkang/cat_medialibrary
[MediaLibrary] Update MacCatalyst Support
2021-10-19 10:23:41 -04:00
Alex Soto 78c367749a
[xcode13.1-rc] Bump macios to use Xcode 13.1 RC (#13025) 2021-10-19 09:30:44 +02:00
Rolf Bjarne Kvinge 60c20decf0
[tests] Fix LinkSdkRegressionTest.SpecialFolder on macOS 10.14. (#13004) 2021-10-19 08:16:21 +02:00
Rolf Bjarne Kvinge 6d065a7dcc
[tests] Minor fixes wrt executing packaged macOS tests. (#12982)
* Don't execute .NET tests in the 'legacy' targets (it's wasteful because
  we're already executing those .NET tests elsewhere).
* Fix reporting failures in the legacy tests.
2021-10-18 07:30:36 +02:00
Rolf Bjarne Kvinge 56892d996d
[src] Rename MAC_* variables to MACOS_* variables. (#12998)
This makes it easier to iterate over the platforms we're building for, because
we can use "macOS" to compute the variable names we're interested in (like we
already can for iOS, tvOS, watchOS and MacCatalyst).
2021-10-18 07:24:37 +02:00
Rachel Kang 72dc7f5d01
[NetworkExtension] Updates for Catalyst 2021-10-14 12:11:10 -04:00
Rachel Kang 6041aad59b
[VideoToolbox] Updates for Catalyst 2021-10-13 16:40:09 -04:00
Rachel Kang a8b0c29cc2
[iTunesLibrary] Updates for MacCatalyst 2021-10-12 17:25:07 -04:00
Rachel Kang d657af6ba9
[ExecutionPolicy] Updates for MacCatalyst 2021-10-12 14:59:39 -04:00
Rachel Kang 6e43ee83f1
[MediaLibrary] Update MacCatalyst Support 2021-10-11 14:38:17 -04:00
Rolf Bjarne Kvinge 3c2c3d062d
[generator] Fix the return type for blocks returning a type we've bound as an INativeObject. (#12941)
* Create all INativeObject subclasses using 'Runtime.GetINativeObject<T>' instead
  of 'new T ()'. Although it's somewhat slower, it automatically handles any IntPtr.Zero
  handles, and it also makes the generator code simpler. If something turns out to
  be a performance problem, we can always add custom static creation methods (like
  some of the existing types already have).

* This makes it so that the zero pointer check logic in the generator isn't necessary
  anymore.

* The most important part is where we use IntPtr as the marshalling type for returned
  INativeObjects in blocks (instead of the INativeObject class - which doesn't make
  sense really, because I have no idea how that's marshalled).

Example:

```diff
diff --git a/build/dotnet/ios/generated-sources/ObjCRuntime/Trampolines.g.cs b/build-new/dotnet/ios/generated-sources/ObjCRuntime/Trampolines.g.cs
index 97e58f3a91b..8a40748de8b 100644
--- a/build/dotnet/ios/generated-sources/ObjCRuntime/Trampolines.g.cs
+++ b/build-new/dotnet/ios/generated-sources/ObjCRuntime/Trampolines.g.cs
@@ -214,7 +214,7 @@ namespace ObjCRuntime {
    } /* class NIDAVAudioEngineManualRenderingBlock */
    [UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
    [UserDelegateType (typeof (global::AVFoundation.AVAudioIONodeInputBlock))]
-   internal delegate global::AudioToolbox.AudioBuffers DAVAudioIONodeInputBlock (IntPtr block, uint frameCount);
+   internal delegate IntPtr DAVAudioIONodeInputBlock (IntPtr block, uint frameCount);
    //
    // This class bridges native block invocations that call into C#
    //
@@ -223,11 +223,11 @@ namespace ObjCRuntime {
      [Preserve (Conditional = true)]
      [global::System.Diagnostics.CodeAnalysis.DynamicDependency ("Handler")]
      [MonoPInvokeCallback (typeof (DAVAudioIONodeInputBlock))]
-     static unsafe global::AudioToolbox.AudioBuffers Invoke (IntPtr block, uint frameCount) {
+     static unsafe IntPtr Invoke (IntPtr block, uint frameCount) {
        var descriptor = (BlockLiteral *) block;
        var del = (global::AVFoundation.AVAudioIONodeInputBlock) (descriptor->Target);
        AudioToolbox.AudioBuffers retval = del (frameCount);
-       return retval;
+       return retval.GetHandle ();
      }
    } /* class SDAVAudioIONodeInputBlock */
    internal sealed class NIDAVAudioIONodeInputBlock : TrampolineBlockBase {
@@ -249,7 +249,7 @@ namespace ObjCRuntime {
      [BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
      unsafe global::AudioToolbox.AudioBuffers Invoke (uint frameCount)
      {
-       var ret = invoker (BlockPointer, frameCount);
+       var ret = Runtime.GetINativeObject<global::AudioToolbox.AudioBuffers> (invoker (BlockPointer, frameCount), false);
        return ret!;
      }
    } /* class NIDAVAudioIONodeInputBlock */
```
2021-10-11 19:13:17 +02:00
Rachel Kang f6b344946c
[PushKit] Update PushKit MacCatalyst (#12957) 2021-10-08 16:17:05 -04:00
Rolf Bjarne Kvinge 4f613f4c9d
[xharness] Don't copy xharness.[css|js] to the output directory when they're already in the output directory. (#12958)
The problem is that cleaning the project would then remove these files, which
would break the next build.
2021-10-08 16:31:52 +02:00
Rolf Bjarne Kvinge 6d8ef62705
[AVFoundation] Fix a few issues with AudioUnit. (#12954)
* Add an (IntPtr, bool) constructor so that AudioUnit works with Runtime.GetINativeObject.
* Keep track of ownership, so that AudioUnit doesn't free the native resources
  when it doesn't own them.
* Update a test to verify that calling 'AVAudioIONode.AudioUnit' multiple
  times and disposing the result between them works (this fails if AudioUnit
  doesn't keep track of ownership).
2021-10-08 07:52:40 +02:00
Rolf Bjarne Kvinge b9de02c457
[introspection] Skip verifying the objc_msgSend[Super]_stret on all platforms. (#12939)
Now that macOS runs on ARM64 (and also the simulators soon), we need to have to same logic for all platforms.

Fixes:

    Introspection.iOSApiPInvokeTest
        [FAIL] Could not find the field 'objc_msgSend_stret' in /usr/lib/libobjc.dylib
        [FAIL] Could not find the field 'objc_msgSendSuper_stret' in /usr/lib/libobjc.dylib
        [FAIL] SymbolExists :   2 errors found in 5300 functions validated: objc_msgSend_stret, objc_msgSendSuper_stret
            Expected: 0
            But was:  2
                at Introspection.ApiPInvokeTest.SymbolExists() in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/introspection/ApiPInvokeTest.cs:line 182
2021-10-07 20:15:54 +02:00
Rachel Kang 9ebf14e85b
Merge pull request #12936 from rachelkang/xcode13.0-appkit-b1-b2-b3-b4-b5
[AppKit] Update Xcode 13.0 bindings for betas 1,2,3,4,5
2021-10-07 13:14:59 -04:00
Rolf Bjarne Kvinge 694ec2d0b3
[tests] Ignore TemplateProjectTest.CreateAppBundleDependsOnTest when the specified platform isn't included in the build. (#12933) 2021-10-07 09:10:16 +02:00
Rolf Bjarne Kvinge 6b27debb63
[tests] Bump our generic min macOS version to 10.14 for .NET tests. (#12938)
Fixes this when running our test suites on macOS 10.14:

    dyld: Library not loaded: /System/Library/Frameworks/AuthenticationServices.framework/Versions/A/AuthenticationServices
      Referenced from: /Users/runner/work/1/s/artifacts/mac-test-package/tests/./introspection/dotnet/macOS/bin/Debug/net6.0-macos/osx-x64/introspection.app/Contents/MacOS/introspection
      Reason: image not found
    make[2]: *** [exec-mac-dotnet-x64-introspection] Abort trap: 6
2021-10-07 09:09:46 +02:00
Rolf Bjarne Kvinge f12d09f405
[msbuild] Share the CompileEntitlements task implementation between iOS and macOS. (#12946) 2021-10-07 08:17:50 +02:00
Rolf Bjarne Kvinge afff63f04d
[tests] Fix make variables usage in template code. (#12940) 2021-10-06 18:54:27 +02:00
Rolf Bjarne Kvinge 63de01c21c
[tests] Fix packaging of Xamarin.Mac tests. (#12776)
I recently deleted the generated makefile support for building and running our
test suites. It turned out that it was used for building the packaged
Xamarin.Mac tests, so it wasn't as unused as I thought.

So fix the building and packaging of Xamarin.Mac tests to not use the
(non-existent) makefile targets, but instead replicate it with manual make
code.

Also take the opportunity to add packaging and execution of the .NET versions
of these test suites we execute on other macOS versions (both for macOS and
the Mac Catalyst).

* [devops] Use stricter matching when finding the Xamarin.Mac pkg link.

Otherwise the branch name in any package could end up matching the pattern we
were looking for:

	XM_PACKAGE=https://bosstoragemirror.blob.core.windows.net/wrench/tests-package-xamarin-mac-tests/15759261d425ae08494b0a26862a0b1356c5f8ec/5268864/package/Microsoft.iOS.Bundle.15.0.101-ci.tests-package-xamarin-mac-tests.68.pkg

is just clearly wrong.
2021-10-06 08:10:07 +02:00
Chris Hamons dade24c63a
Catalyst changes for CoreAnimation, CoreFoundation, and AVKit (#12926) 2021-10-05 16:42:37 -05:00
Manuel de la Pena 67e1ca5459
[Metal] Add support for xcode 13 beta5 . (#12875)
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-10-05 13:32:48 -04:00
Rolf Bjarne Kvinge f1e4cbcfcd
[tests] Modify a few test directories with multiple projects to have the projects in subfolders. (#12921)
This fixes a problem where the build from the different projects could stomp
on eachother in the obj/bin folders. It's technically possible to make this
work by setting up custom [Base][Intermediate][OutputPath] properties in the
project files, but the simplest solution is to just make sure there's no more
than a single project per directory.
2021-10-05 18:06:35 +02:00
Chris Hamons 9230c798a9
[UIKit] Add Catalyst support (#12809) 2021-10-05 11:04:44 -05:00
Rachel Kang 517fbd9a02
[AppKit] Update Xcode 13.0 bindings for betas 1,2,3,4,5 2021-10-05 11:59:49 -04:00
Chris Hamons a300dfc56b
[msbuild] Add ILStrip'ing for net6 applications. Fixes #11445. (#12563)
- Controlled by EnableAssemblyILStripping which defaults to true
- Integration test included

Before - https://gist.github.com/chamons/c7886f7bacbc2e5ac5966e4251d13e71
After - https://gist.github.com/chamons/148e1bef22fa336f953f3d02dcf20667

859,136 -> 527,872 managed

Fixes https://github.com/xamarin/xamarin-macios/issues/11445.
2021-10-05 09:43:22 -05:00
Rolf Bjarne Kvinge b772397b63
[msbuild] Share the BTouch task implementation between iOS and macOS. (#12873) 2021-10-04 08:18:47 +02:00
Rolf Bjarne Kvinge 62bdd683cf
[dotnet] Add support for 'dotnet pack'. Fixes #12631. (#12900)
Add support for 'dotnet pack', by:

1. Add a workaround for the fact that as soon as a project has a
   'NativeReference' item, .NET's MSBuild logic wants to include a
   'Native.$(AssemblyName).manifest' file in the NuGet. This obviously breaks,
   because we don't create such a file, so we work around it by removing the
   file in question from the corresponding item groups.

2. Add any binding resource packages to the NuGet.

3. Add tests.

Fixes https://github.com/xamarin/xamarin-macios/issues/12631.
2021-10-04 07:43:55 +02:00
Rolf Bjarne Kvinge 43d894da15
[msbuild/tools] Augment the CreateBindingResourcePackage to support creating a zipped binding resource package. (#12868)
Augment the CreateBindingResourcePackage to support creating a zipped binding
resource package (which is just a zipped version of the binding resource
package). This can either be manually chosen by the new 'Compressed' property,
or automatically detected (create a zipped version when there's a symlink in
the binding resource package).

The default is to not create a zipped version in legacy Xamarin, and
automatically detect for .NET.

The problem this is trying to solve is when creating a NuGet package - NuGet
doesn't handle symlinks correctly and it's not possible to create a NuGet with
symlinks. Instead we need to create a zipfile with all the binding resources.
The default has been chosen so that we automatically create a zip file when
it's required for .NET, while still maintaining old behavior with legacy
Xamarin.
2021-10-01 08:40:01 +02:00
Rolf Bjarne Kvinge 4c9e2668b5
[tests] Add more special cases for random network errors on CI. (#12879)
Ref: https://github.com/xamarin/maccore/issues/2304
2021-10-01 08:36:40 +02:00
Rolf Bjarne Kvinge 26771dfefa
[xharness] Remove iOS 32-bit simulator support, current Xcodes don't support it. (#12880)
Our existing tests that claimed to run iOS 32-bit tests were really executing
in 64-bit mode.
2021-10-01 08:33:18 +02:00
Rolf Bjarne Kvinge 7bd39ff873
[tests] Make sure interdependent-binding-projects builds with our workaround for NUnit bugs in .NET. (#12881) 2021-10-01 08:31:31 +02:00
Rolf Bjarne Kvinge 403bc2e774
[tests] Add a test to verify that AppDomain.CurrentDomain.BaseDirectory is always something. Fixes #12687. (#12885)
Fixes https://github.com/xamarin/xamarin-macios/issues/12687.
2021-10-01 08:29:56 +02:00
Chris Hamons 3ffabb1daa
[AppKit] Add Catalyst attributes (#12863) 2021-09-30 09:57:10 -05:00
Rolf Bjarne Kvinge 9286bfb793
[msbuild/dotnet] Compile project-level assets in the outer build for multi-rid builds. Fixes #12410. (#12847)
We don't need to compile project-level assets for every RuntimeIdentifier in
multi-rid builds, we can instead compile them just once in the outer build.

There is also a correctness issue here: we can't compile assets more than once
and expect to get the exact same compiled result every time (in particular
actool seems to be adding random bytes in to the compiled output), and this
creates a problem when trying to merge the different runtime-specific compiled
output into a universal binary.

We accomplish this by:

* Processing these assets in the outer build, before we execute the
  rid-specific inner builds.
* Store the paths to the assets we've processed in a file.
* In the inner builds, we read that file, and remove any matches from the
  corresponding item group.
* Make sure to copy the compiled assets to the app bundle at the end of the
  outer build.

These are the assets we currently handle this way:

* BundleResource
* ImageAsset
* InterfaceDefinition
* SceneKitAsset
* Collada
* TextureAtlas
* CoreMLModel

Also:

* Add a new test case (AppWithResource) that contains all these different
  types of assets.
* Add support for the ScnTool task on Mac Catalyst (which the new test case
  revealed was missing).

Fixes https://github.com/xamarin/xamarin-macios/issues/12410.
2021-09-30 08:25:10 +02:00
Rolf Bjarne Kvinge 2417377017
[tests] Fix a few nullability warnings. (#12872) 2021-09-30 08:21:43 +02:00
Chris Hamons af416003f1
[Foundation] Add attributes and fix ignores for Catalyst (#12854) 2021-09-29 10:18:01 -05:00
Rolf Bjarne Kvinge cd2867d44c
[msbuild] Share the Metal[Lib] task implementations between iOS and macOS. (#12851) 2021-09-29 07:55:55 +02:00
Rolf Bjarne Kvinge 3d182c5c54
[Metal] Fix a few issues in MTLDevice. (#12861)
* MTLCopyAllDevices returns a retained object, so we need to release it.
* MTLCopyAllDevicesWithObserver returns an observer (no need to provide one). This
  means we can obsolete the 'ref NSObject' overload (the API doesn't make sense),
  and instead add an 'out NSObject' overload.
* The returned observer from MTLCopyAllDevicesWithObserver is retained, so we must
  release it.
* The returned array from MTLCopyAllDevicesWithObserver is a retained object, so
  we need to release it.
* Simpify the supporting block code for the calls to MTLCopyAllDevicesWithObserver.
* Clean up the block we passed to MTLCopyAllDevicesWithObserver.
2021-09-29 07:54:42 +02:00
Rolf Bjarne Kvinge 7dc2d9af61
[msbuild] Sign Xamarin.iOS.Tasks.dll and Xamarin.Mac.Tasks.dll. Fixes #9835. (#12831)
We need to strongname our MSBuild assemblies, so that different versions
can be loaded side-by-side (one example being having both a legacy and a
.NET project in the same solution).

This required setting a version for Xamarin.iOS.Tasks.dll and
Xamarin.Mac.Tasks.dll, otherwise strong-naming won't work properly (all
versions of an assembly would have the same identity).

Also sign the corresponding test assemblies, since they poke into the
internals of the task assemblies.

Fixes https://github.com/xamarin/xamarin-macios/issues/9835.
2021-09-28 17:31:35 +02:00
Manuel de la Pena b20ca55943
[Foundation] Remove warning due to the Equals accepting a null value. (#12839)
Removes the following warning during the builds:

```
warning CS8767: Nullability of reference types in type of parameter 'host' of 'bool NSHost.Equals(NSHost host)' doesn't match implicitly implemented member 'bool IEquatable<NSHost>.Equals(NSHost? other)' (possibly because of nullability attributes)
```

Test was added to ensure that we did not throw an exception.
2021-09-28 08:11:07 -04:00
Manuel de la Pena 339936f457
[Tests] Fix cecil tests. (#12853)
-  Added the marshaling attr and a test to ensure it is ok.
- Fix the cecil MarshalAs test to not skip over types when checking.
    This revealed multiple tests failures that needed fixing.

fixes: https://github.com/xamarin/maccore/issues/2519

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-09-28 08:09:23 -04:00
Rolf Bjarne Kvinge 6bf39bacfa
[tests] Simplify the test code for the .NET unit tests. (#12842)
As more tests have been written, helper methods have been added, so this is
just making existing code use newer helper methods.
2021-09-27 15:55:30 +02:00
Rolf Bjarne Kvinge e2d1777cc7
[dotnet] Show an error if we must link, but linking has been disabled. Fixes #12372. (#12832)
For executable projects, we must run the linker (otherwise we won't produce
something that can be executed).

We'll enable the linker by default in these cases, but if the developer has
manually disabled the linker (if the linker fails to execute for any reason,
it will suggest that the developer disables it), then we should show an error
explaining why.

Fixes https://github.com/xamarin/xamarin-macios/issues/12372.
2021-09-27 07:28:10 +02:00
Manuel de la Pena ad673ae731
[CoreMedia] Add support for xcode13 (#12770)
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-09-24 18:19:49 -04:00
Rolf Bjarne Kvinge 4d5616687a
[dotnet] Fix an issue where we wouldn't re-link if some files changed. (#12794) 2021-09-24 13:20:03 +02:00
Rolf Bjarne Kvinge 5318a2b9fa
[msbuild] Make the CompileAppManifestTaskBase.AppManifest property an ITaskItem. (#12804)
So that any input app manifest is copied to Windows when doing remote builds.
2021-09-23 18:46:37 +02:00
Rolf Bjarne Kvinge 83de23f6b4
[tests] Build interdependent-binding-projects for macOS now, there's a corresponding macOS Touch.Client project. (#12817) 2021-09-23 16:20:18 +02:00
Rachel Kang 70dd0d31fa
[Intents] Update bindings for Xcode 13.0 betas 1 through 5 (#12771)
* "[Intents] Update bindings for Xcode 13.0 betas 1 through 5"

* Update based on feedback

* Update based on feedback

* Update based on feedback
2021-09-21 20:30:56 -04:00
Chris Hamons 65f0e4c614
Some Catalyst API annotations and corrections (#12677)
- Part of https://github.com/xamarin/xamarin-macios/issues/10216
- This includes most of the smaller SDKs.
2021-09-21 14:17:52 -05:00
Rolf Bjarne Kvinge c4a67e585c
[msbuild/tools] Add a better error message for when we fail to convert between iOS and macOS versions for Mac Catalyst. (#12767)
New commits in xamarin/Xamarin.MacDev:

* xamarin/Xamarin.MacDev@9e6e29f [Xamarin.MacDev] Return valid iOS/macOS versions when converting betweeen iOS and macOS versions for Mac Catalyst.

Diff: 41d91e0de0..9e6e29f2a4
2021-09-21 16:19:04 +02:00
TJ Lambert e16d8fe1fe
[Dotnet] Enable the Test to check for Dotnet Attributes (#12745)
Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-09-20 15:13:53 -04:00
Chris Hamons a6eb528197
[net6][msbuild] Set SelfContained for AppExtensions sooner to fix publishing (#12703)
This PR resolves a crash when running the linker on publishing iOS extensions.

The crash would occur here in failing to resolve corelib.

The reason this would fail was System.Private.CoreLib.dll was not in input_assemblies.

This was because we were passes the set of reference assemblies not the expected 'real' ones, and those do not include CoreLib.

After a bunch of digging, this was because _ComputeManagedRuntimePackAssembliesIfSelfContained target was not being set as a condition of _ComputeAssembliesToPostprocessOnPublish.

_ComputeManagedRuntimePackAssembliesIfSelfContained happened to be the place these were added, and wasn't being set since it has a condition of $(SelfContained) == 'true'

Now confusingly SelfContained WAS being set to true, but only in the targets file, which was too late, as it was checked in a 'global' property group outside of a target.

This means we'd fail to set SelfContained until after the condition, and not run.

This was verified by setting /p:SelfContained=true to true.

I also looked at removing the condition above, since https://github.com/dotnet/runtime/issues/54406 is fixed, however this caused project that didn't set RuntimeIdentifier to fail.
2021-09-20 09:40:41 -05:00
Rolf Bjarne Kvinge 499a69e772
[dotnet] Enable default compile items for binding projects. Fixes #12532. (#12758)
Enable default compile items for binding projects, and just exclude any api definition
and core source from any automatically included files.

Fixes https://github.com/xamarin/xamarin-macios/issues/12532.
2021-09-20 13:41:20 +02:00
Rolf Bjarne Kvinge cb93a8e66a
[tests] Fix a thread synchronization issue in the generator tests. (#12775)
Properly synchronize access to the current writer in the generator tests'
ThreadStaticTextWriter class.

Should fix this random failure:

    Error Message:
     System.NullReferenceException : Object reference not set to an instance of an object.
    Stack Trace:
       at Xamarin.Tests.ThreadStaticTextWriter.WriteLine(String value) in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/generator/BGenTool.cs:line 478
     at System.IO.TextWriter.SyncTextWriter.WriteLine(Object value)
     at System.Console.WriteLine(Object value)
     at Xamarin.Tests.BGenTool.Execute() in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/generator/BGenTool.cs:line 235
     at Xamarin.Tests.BGenTool.AssertExecute(String message) in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/generator/BGenTool.cs:line 207
     at GeneratorTests.BGenTests.BuildFile(Profile profile, Boolean nowarnings, Boolean processEnums, IEnumerable`1 references, String[] filenames) in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/generator/BGenTests.cs:line 780
     at GeneratorTests.BGenTests.BuildFile(Profile profile, Boolean nowarnings, Boolean processEnums, String[] filenames) in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/generator/BGenTests.cs:line 766
     at GeneratorTests.BGenTests.BuildFile(Profile profile, String[] filenames) in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/generator/BGenTests.cs:line 756
     at GeneratorTests.BGenTests.VSTS970507() in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/generator/BGenTests.cs:line 650
2021-09-20 13:39:24 +02:00
Rolf Bjarne Kvinge a96c28b979
[msbuild] Call the generator using a response file. (#12756)
Fixes this warning:

> Xamarin.Shared.targets(992,3): warning MSB6002: The command-line for the "BTouch" task is too long. Command-lines longer than 32000 characters are likely to fail. Try reducing the length of the command-line by breaking down the call to "BTouch" into multiple calls with fewer parameters per call.
2021-09-20 07:40:57 +02:00
Rolf Bjarne Kvinge 728347ad63
[dotnet] Remove watchOS code and from our .NET support. (#12764)
It's not tested, and thus has probably already bitrotted. If we add support
for watchOS to .NET in the future, it would likely be easier to start from
scratch (copying some of the other platforms), than having incomplete and
bitrotted code.
2021-09-20 07:40:03 +02:00
Rolf Bjarne Kvinge f7a3619974
[tests] Fix warning about unused variable. (#12762) 2021-09-17 16:01:48 +02:00
Rolf Bjarne Kvinge 04548c7da0
[msbuild/dotnet] Include font files by default in .NET apps, and implement a way to automatically register them. Fixes #12536. (#12752)
* Automatically include *.ttf, *.ttc and *.otf in .NET projects as BundleResource
  items (if these files are found within the Resources/ subdirectory).
* Add support for a 'RegisterFont' metadata on BundleResource items, where if set
  to 'true', we'll register the font file in the Info.plist as required by the target
  platform.
* Add tests.

Fixes https://github.com/xamarin/xamarin-macios/issues/12536.
2021-09-17 10:18:09 +02:00
Rolf Bjarne Kvinge 3ab8e4ab61
[tests] Re-generate test[-system].config after .NET bumps. (#12759) 2021-09-17 09:57:14 +02:00
Alex Soto e2d05da816
[TVUIKit] Update bindings to Xcode 13 Beta 5 (#12722)
* [TVUIKit] Update bindings to Xcode 13 Beta 5

* Apply feedback

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-09-16 19:03:48 -04:00
Manuel de la Pena 2a2bc2560e
[Xtro] Allow to run xtro with some platforms ignored. (#12742) 2021-09-16 16:08:36 -04:00
Rolf Bjarne Kvinge 298d423cf1
[xharness] Don't generate makefiles anymore. (#12751)
We either use the html web page, or for .NET tests there are custom makefile
logic.

This avoids having to maintain the makefile generation to keep up with our new
tests, and it fixes numerous warnings like this:

    Makefile-mac.inc:56: warning: overriding recipe for target 'build-mac-modern-macOS'
    Makefile-mac.inc:41: warning: ignoring old recipe for target 'build-mac-modern-macOS'
    Makefile-mac.inc:59: warning: overriding recipe for target 'clean-mac-modern-macOS'
    Makefile-mac.inc:44: warning: ignoring old recipe for target 'clean-mac-modern-macOS'
    Makefile-mac.inc:62: warning: overriding recipe for target 'exec-mac-modern-macOS'
    Makefile-mac.inc:47: warning: ignoring old recipe for target 'exec-mac-modern-macOS'
    Makefile-mac.inc:65: warning: overriding recipe for target 'run-mac-modern-macOS'
    Makefile-mac.inc:50: warning: ignoring old recipe for target 'run-mac-modern-macOS'
2021-09-16 17:23:07 +02:00
Rolf Bjarne Kvinge d142a3756f
[tests] Relax a few special folder checks for tvOS even more. Fixes #12640. (#12748)
Hopefully fixes https://github.com/xamarin/xamarin-macios/issues/12640.
2021-09-16 15:36:06 +02:00
Rolf Bjarne Kvinge a78700bb40
[tests] Add additional test to try to narrow down #xamarin/maccore@2443. (#12384) 2021-09-16 15:00:06 +02:00
Rolf Bjarne Kvinge 79eb633fab
[tests] Fix (a)synchronous F# code. (#12738)
MonoTouch.NUnit.UI.MacRunner.MainAsync will try to invoke things on the main
thread, and at the same time execute a runloop, and if the runloop isn't
executing on the main thread, we end up with a deadlock, where we keep waiting
on the main thread to process stuff enqueued by the background thread, while
the main thread is waiting for the background thread to finish.

Solve this by fixing the F# code to call
MonoTouch.NUnit.UI.MacRunner.MainAsync on the main thread.
2021-09-16 09:43:29 +02:00
Sebastien Pouliot 2691791ad2
[corefoundation] Optimize `CFArray` (#12740)
The added test case has not shown any major performance enhancement,
anything (if) is lost in the noise.

Beside the performance the change has two small size advantages
* `Create` does not call another method (less metadata)
* `GetCount` is now the p/invoke `CFArrayGetCount`

Before

// * Summary *

BenchmarkDotNet=v0.12.1.1528-nightly, OS=macOS Big Sur 11.5.2 (20G95) [Darwin 20.6.0]
Intel Core i7-4790K CPU 4.00GHz (Haswell), 1 CPU, 8 logical and 4 physical cores
  [Host] : Mono 6.12.0 (2020-02/3cf59ad33da), X64

Job=InProcess  Toolchain=InProcessEmitToolchain  IterationCount=3
LaunchCount=1  WarmupCount=3

| Method | Length |        Mean |       Error |    StdDev |
|------- |------- |------------:|------------:|----------:|
| Create |      0 |    255.4 ns |    53.68 ns |   2.94 ns |
| Create |      1 |    343.0 ns |     8.55 ns |   0.47 ns |
| Create |     16 |    443.8 ns |    30.54 ns |   1.67 ns |
| Create |    256 |  1,898.4 ns |   246.80 ns |  13.53 ns |
| Create |   4096 | 40,503.2 ns | 5,395.81 ns | 295.76 ns |

// * Legends *
  Length : Value of the 'Length' parameter
  Mean   : Arithmetic mean of all measurements
  Error  : Half of 99.9% confidence interval
  StdDev : Standard deviation of all measurements
  1 ns   : 1 Nanosecond (0.000000001 sec)

// ***** BenchmarkRunner: End *****
Global total time: 00:00:33 (33.26 sec), executed benchmarks: 5

After

// * Summary *

BenchmarkDotNet=v0.12.1.1528-nightly, OS=macOS Big Sur 11.5.2 (20G95) [Darwin 20.6.0]
Intel Core i7-4790K CPU 4.00GHz (Haswell), 1 CPU, 8 logical and 4 physical cores
  [Host] : Mono 6.12.0 (2020-02/3cf59ad33da), X64

Job=InProcess  Toolchain=InProcessEmitToolchain  IterationCount=3
LaunchCount=1  WarmupCount=3

| Method | Length |        Mean |       Error |   StdDev |
|------- |------- |------------:|------------:|---------:|
| Create |      0 |    246.3 ns |    55.49 ns |  3.04 ns |
| Create |      1 |    341.1 ns |    18.13 ns |  0.99 ns |
| Create |     16 |    425.4 ns |    34.97 ns |  1.92 ns |
| Create |    256 |  1,741.1 ns |   298.87 ns | 16.38 ns |
| Create |   4096 | 40,333.6 ns | 1,646.70 ns | 90.26 ns |

// * Legends *
  Length : Value of the 'Length' parameter
  Mean   : Arithmetic mean of all measurements
  Error  : Half of 99.9% confidence interval
  StdDev : Standard deviation of all measurements
  1 ns   : 1 Nanosecond (0.000000001 sec)

// ***** BenchmarkRunner: End *****
Global total time: 00:00:31 (31.68 sec), executed benchmarks: 5
2021-09-16 08:39:16 +02:00
Rolf Bjarne Kvinge c2a531259f
[introspection] Skip VideoToolbox classes in the ApiCMAttachmentTest on tvOS devices. (#12695)
They crash on device.
2021-09-16 08:25:29 +02:00
Rolf Bjarne Kvinge 5b4301f129
[tests] Add .NET makefiles for bindings-test. (#12712) 2021-09-16 08:20:35 +02:00
Rolf Bjarne Kvinge 811384f7d2
[msbuild] Fix parsing extra bundler arguments where a space separates the name and value of the argument. (#12731)
Fix parsing extra bundler arguments where a space separates the name and the
value of the argument, like this: '--xml file.xml' (as opposed to
'--xml:file.xml' or '--xml=file.xml').

Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1385946.
2021-09-16 08:17:33 +02:00
Rachel Kang b9cde5eeea
Merge pull request #12601 from rachelkang/xcode13.0-coreimage-b1-b3
[CoreImage] Update Xcode 13.0 bindings betas 1 and 3
2021-09-15 13:56:26 -04:00
Rolf Bjarne Kvinge 892f0caac2
[dotnet-linker] Remove workaround for a dotnet/runtime issue wrt the AOT compiler. (#12528)
* [dotnet-linker] Remove workaround for a dotnet/runtime issue wrt the AOT compiler.

The dotnet/runtime issue has been fixed.

Ref: https://github.com/dotnet/runtime/issues/55733

* [tests] Set the _BundlerVerbosity property instead of MtouchExtraArgs/MonoBundlingExtraArgs to increase verbosity.

This fixes a problem where a test project would try to set the
MtouchExtraArgs/MonoBundlingExtraArgs properties, and it would fail because
the MtouchExtraArgs/MonoBundlingExtraArgs properties were already set from the
command line (and in MSBuild, properties that are set from command line
arguments can't be changed later).

In particular we have logic to pass --dlsym:+nunit.framework.dll for
monotouch-test, and that would just be ignored.
2021-09-15 18:10:30 +02:00
Manuel de la Pena 124dc24bea
[AVFoundation] Add support for xcode 13 beta 5. (#12550)
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-09-15 11:37:21 -04:00
Rolf Bjarne Kvinge 2a3bb286f0
[src] Fix the library for a few P/Invokes. (#12715)
This matters because we use the library defined by the P/Invoke to determine
which frameworks to link with, and if we get it wrong, things like this may
happen:

    Undefined symbols for architecture arm64:
      "_AudioObjectGetPropertyData", referenced from:
          wrapper_managed_to_native_AudioUnit_AudioUnit_AudioObjectGetPropertyData_uint_AudioUnit_AudioObjectPropertyAddress__uint__intptr__uint__uint_ in Xamarin.MacCatalyst.dll.o

because we though that the AudioObjectGetPropertyData function was in the
AudioUnit framework, and not in CoreAudio where it really is, and thus we
didn't link with the CoreAudio framework.

Also add an introspection test to verify that the library our P/Invokes point
to is correct.
2021-09-15 11:05:59 +02:00
Rolf Bjarne Kvinge 1192cd6975
[tests] Fix creation of IntPtr to work on a 32-bit system. (#12713) 2021-09-15 09:29:10 +02:00
Alex Soto 8bc4fc645c
[UIKit] Update bindings to Xcode 13 Beta 5 (#12706)
* [UIKit] Update bindings to Xcode 13 Beta 5

* Fix tvOS availability

* Apply feedback

* Add UIPointerAccessory and feedback

* Fix typo

* Fix availability

* Apply feedback and fix library field lookup
2021-09-14 16:31:45 -04:00
Rachel Kang f1e8f010a1
Fix xtro failures by removing catalyst todo and ignore files 2021-09-13 14:42:23 -04:00
Rachel Kang 040db106c0
Merge branch 'main' into xcode13.0-coreimage-b1-b3 2021-09-13 12:29:04 -04:00
Rolf Bjarne Kvinge 71d2edbc80
[tests] Add debug spew to try to track down random test failure in NSMutableDictionary2Test.AddEntries. (#12711)
Ref: https://github.com/xamarin/maccore/issues/1605
2021-09-13 17:13:40 +02:00
Manuel de la Pena f1611df154
[CoreVideo] Add support for Xcode 13 beta3. (#12257)
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-authored-by: TJ Lambert <50846373+tj-devel709@users.noreply.github.com>
2021-09-13 11:09:26 -04:00
Rolf Bjarne Kvinge f75a7b5074
[tests] Add perf test for calling Marshal.AllocHGlobal/FreeHGlobal. (#12696)
Also add a 'SupportedOSPlatformVersion' value to the .NET perftest project
file, to cope with recent changes in our .NET support.

Ref: https://github.com/dotnet/runtime/issues/58939.
2021-09-13 16:14:37 +02:00
Rolf Bjarne Kvinge 9a7000fa18
[tests] Adjust BaseOptimizeGeneratedCodeTest.SetupBlockPerfTest to cope for a slower .NET on tvOS. (#12697) 2021-09-13 16:14:17 +02:00
Rolf Bjarne Kvinge 28102a55b7
[xharness] Set the EnableSGenConc value for all project configurations. (#12698)
* Update to use EnableSGenConc instead of MtouchEnableSGenConc (either works,
  the former is the new future).
* Set EnableSGenConc as a top-level property, so we make sure it's set no
  matter how the project is executed.

This makes it so that this setting work for .NET projects, where we're not using project configurations.
2021-09-13 16:13:59 +02:00
Rolf Bjarne Kvinge 7f1d62ca13
[xharness] Skip some device variations for .NET. (#12699)
Skip:

* Any Thumb variation (Thumb code isn't supported anymore in .NET).
* Any AssemblyBuildTarget variation (compiling assemblies to dylibs [fastdev]
  or frameworks - neither is supported/implemented for .NET).

This trims down the test list a bit.
2021-09-13 16:13:36 +02:00
Rachel Kang fba8fe61dc
Merge branch 'main' into xcode13.0-coreimage-b1-b3 2021-09-10 18:00:51 -04:00
Rachel Kang 66a28266a4
Add missing changes 2021-09-10 17:57:35 -04:00
Rolf Bjarne Kvinge aadd53249f
[msbuild] Improve E7082 error message. (#12689) 2021-09-10 22:02:30 +02:00
Rolf Bjarne Kvinge f559399f19
[tests] Improve makefiles for .NET's dont link test. (#12690)
This makes it identical to the 'link sdk' and 'link all' makefiles.
2021-09-10 21:19:11 +02:00
Rolf Bjarne Kvinge 033ebd7f84
[tests] Import nunit.framework.targets in more .NET test projects. (#12691)
This is to set the -dlsym:-nunit.framework.dll option, because nunit.framework.dll
contains a P/Invoke to a function that doesn't exist.

For some reason this is more of a problem in tvOS projects than iOS projects
(although it happens for iOS projects as well).
2021-09-10 21:07:09 +02:00
Rachel Kang e75c4e36a3
Fix CIRawFilter intro issues
from Sebastien: "most filters are key-based natively (not-NSObject subclasses)) and we expose them as C# _user-type_ CIFilter-subclasses in recent years _most_ filters have also been exposed natively as protocols (not classes), we expose them as `*Protocol` interface types `CIRAWFilter` is a special case, it's a native `CIFilter` subclass so we're not using [CoreImageFilter] and [CoreImageFilterProperty] attributes to define it which also means we cannot use the "extra" tests to validate the filter properties. So we skip it here. Do not fear it's still tested, like any _normal_, NSObject subclass we have bound :-)"
2021-09-10 14:31:02 -04:00
Rachel Kang 08cc749359
[CoreImage] Update bindings for Xcode 13.0 beta 1 and 3 2021-09-10 14:09:43 -04:00
Manuel de la Pena 42dd6cea65
[XKit] Update for xcode13 beta 5. (#12610)
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-09-10 12:16:55 -04:00
Rolf Bjarne Kvinge ce7b876dcf
[tests] Fix building fsharplibrary using the makefile. (#12676)
F# projects aren't named *.csproj.
2021-09-10 13:59:45 +02:00
Rolf Bjarne Kvinge 07f83a8815
[CoreFoundation] The native 'dispatch_queue_create_with_target' function is actually called 'dispatch_queue_create_with_target$V2'. (#12666)
Apple does this in their headers:

    #define DISPATCH_ALIAS_V2(sym)	 __asm__("_" #sym "$V2")

    dispatch_queue_t
    dispatch_queue_create_with_target(const char *_Nullable label,
    		dispatch_queue_attr_t _Nullable attr, dispatch_queue_t _Nullable target)
    		DISPATCH_ALIAS_V2(dispatch_queue_create_with_target);

Which means that the native compiler will call
'dispatch_queue_create_with_target$V2' when the source code says to call
'dispatch_queue_create_with_target'.

The only place I've run into this problem, is when building for tvOS (device),
and targetting exactly tvOS 10.0 (neither earlier or later), in which case the
linker fails:

    Undefined symbols for architecture arm64:
      "_dispatch_queue_create_with_target", referenced from:
          wrapper_managed_to_native_CoreFoundation_DispatchQueue_dispatch_queue_create_with_target_string_intptr_intptr in Xamarin.TVOS.dll.o

I filed this as a feedback with Apple some time ago [1], and Apple resolved it
as by design, saying "These symbols are renamed, please use the SDK."

Now I ran into it again with .NET, and it's become a bit more important, since
tvOS 10.0 is the earliest tvOS version we support, which means it'll be more
likely that customers use _exactly_ 10.0 as their target tvOS version. So I
looked into it again, and as far as I can tell, we can just call the '$V2'
variant instead of the original name everywhere.

Apple does the same thing for two other functions, but we haven't bound any of
those, so this only affects 'dispatch_queue_create_with_target' for us.

[1]: Bug ID 48076044: Can't reference 'dispatch_queue_create_with_target' when min tvOS version is exactly 10.0
2021-09-09 15:05:29 +02:00
Rolf Bjarne Kvinge cb998a3589
[msbuild/dotnet] Don't use the built-in publishing logic in .NET to copy frameworks to the app bundle. Fixes #12369. (#12656)
.NET/MSBuild don't handle symlinks properly [1], which means that we can't ask
.NET to copy frameworks to the app bundle, since frameworks may contain
symlinks.

In our case, the symptom was that instead of copying symlinks, the file the
symlink pointed to was copied instead, and then codesign complained about
invalid bundle format when we tried to sign the framework.

We fix this by having our own target (_CopyFrameworksToBundle) to copy
frameworks to the app bundle (instead of adding all the files in the
frameworks to the ResolvedFileToPublish item group), and then using 'ditto' to
copy the frameworks.

In order to create a test case for this, I also made the macOS and Mac
Catalyst versions of the XTest framework use symlinks:

* Create a proper XTest framework bundle hierarchy for macOS and Mac Catalyst
  by using the typical symlink structure (actual files in the Versions/A
  subdirectory, and then symlinks pointing into that directory).
* Create a separate Info.plist for each platform for XTest.framework, since
  using an otherwise correct framework makes tooling (such as codesign)
  complain if the Info.plist isn't correct too.

This made our existing tests show the bug.

Finally I had to fix signing frameworks where the executable is a symlink.

We were first resolving symlinks for the input - say we had an
Example.framework/Example symlink to Example.framework/Versions/A/Example -
and then checking the parent directory if it's a framework. The parent
directory of 'Example.framework/Versions/A/Example' is 'A', which did not meet
our framewrok condition (if it ends with '.framework').

The fix is to adjust the logic to resolve symlinks after checking if the input
is a framework or not.

[1]: https://github.com/dotnet/msbuild/issues/6821

Fixes https://github.com/xamarin/xamarin-macios/issues/12369.
2021-09-09 09:11:25 +02:00
Rolf Bjarne Kvinge 444e7dfcd9
[msbuild] Don't require an Info.plist for .NET builds. (#12661)
We either have defaults or MSBuild properties for the most important values that
were previously required to be in the Info.plist, so now it doesn't make sense anymore
to require an Info.plist, when for simple cases it will just be an empty file.

This allows us to simplify some of our test projects and remove a few empty Info.plist files.
2021-09-09 09:08:04 +02:00
Rolf Bjarne Kvinge b3c2b548de
[link sdk] Ignore XmlSerializationTest.Bug1820_GenericList on device due to a linker bug. (#12667) 2021-09-09 09:04:51 +02:00
Rolf Bjarne Kvinge 770b9c5d27
[tests] Adjust a few introspection checks to work on iOS 11.4.1 (#12668)
I ran into these failures when running on an iOS 11.4.1 device (iPhone 7 / A1778).
2021-09-09 09:00:20 +02:00
Chris Hamons 97e2e00b59
[xtro] Improve detection of Catalyst missing API by fixing xtro (#12626)
- macCatalyst was being missed as it is not all lower case
- Extend tv and watch 'act like iOS if not listed' to catalyst
2021-09-08 16:31:44 -05:00
Filip Navara 3010172bb5
Update CryptoTest for .NET 6 (#12658)
* Update CryptoTest for .NET 6

* Update tests/linker/ios/link sdk/CryptoTest.cs

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-09-08 18:03:52 +02:00
Filip Navara f28db5491e
Relax the tvOS special folder checks to make them pass both on dotnet and legacy. Fixes #12640. (#12659)
Fixes https://github.com/xamarin/xamarin-macios/issues/12640.
2021-09-08 17:59:40 +02:00
Rolf Bjarne Kvinge a968598af0
[tests] Add test case for making sure we have the right bundle identifier when executing DetectSigningIdentity. Fixes #12051. (#12655)
Add test case to verify that we pass the right bundle identifier to
DetectSigningIdentity when we're using a partial app manifest to set the
bundle identifier.

This proves that #12051 is already fixed.
2021-09-08 15:46:59 +02:00
Rolf Bjarne Kvinge 24ea02759f
[dotnet] Support SupportedOSPlatformVersion. Fixes #12336. (#12638)
* Add support for the SupportedOSPlatformVersion MSBuild property, and write
  it to the Info.plist for the corresponding minimum OS version.
* If there are any minimum OS version in the Info.plist, we'll now show an
  error if it doesn't match SupportedOSPlatformVersion.

This unfortunately means that if there's any minimum OS version in any
Info.plist, then that will most likely have to be moved to the
SupportedOSPlatformVersion property (or removed entirely if that's the right
choice), since it's unlikely to match the default value for
SupportedOSPlatformVersion. However, this was deemed to be the best option for
the future (it's a one-time pain during migration).

Also add new tests, update existing tests, and update the templates.

Fixes https://github.com/xamarin/xamarin-macios/issues/12336.
2021-09-08 09:20:05 +02:00
Rolf Bjarne Kvinge a0fe8c08ba
[msbuild] Add a public target/property to make customers able to add to the PartialAppManifest item group in their own targets. Fixes #12336. (#12645)
Also add a test.

Fixes https://github.com/xamarin/xamarin-macios/issues/12336 (for the second time).
2021-09-08 09:16:57 +02:00
Rolf Bjarne Kvinge e707c7cda8
[tests] Remove assert that fails on M1 on Rosetta. (#12641)
Fixes this error when running on M1 (and Rosetta):

    MonoTouchFixtures.CoreFoundation.BundleTest.TestGetBundleIdNull : 0.9134 ms
        [FAIL] TestIsArchitectureLoadable :   arm64 Expected => false
            Expected: False
            But was:  True
                at MonoTouchFixtures.CoreFoundation.BundleTest.TestIsArchitectureLoadable() in xamarin-macios/tests/monotouch-test/CoreFoundation/BundleTest.cs:line 375
2021-09-07 18:52:53 +02:00
Rolf Bjarne Kvinge 88cf80da2d
[xharness] Remove legacy Mac Catalyst support. (#12642)
We're going .NET all the way.

This simplifies xharness a little bit, and speeds up our test run somewhat.
2021-09-07 18:35:33 +02:00
dotnet-maestro[bot] 8bfa57704f
[main] Update dependencies from dotnet/installer (#12571)
* Update dependencies from https://github.com/dotnet/installer build 20210826.20

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rc.2.21425.12 -> To Version 6.0.100-rc.2.21426.20

* Update dependencies from https://github.com/dotnet/installer build 20210827.35

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rc.2.21425.12 -> To Version 6.0.100-rc.2.21427.35

* Update dependencies from https://github.com/dotnet/installer build 20210828.23

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rc.2.21425.12 -> To Version 6.0.100-rc.2.21428.23

* Update dependencies from https://github.com/dotnet/installer build 20210830.3

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rc.2.21425.12 -> To Version 6.0.100-rc.2.21430.3

* Update dependencies from https://github.com/dotnet/installer build 20210831.4

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rc.2.21425.12 -> To Version 6.0.100-rc.2.21431.4

* Update dependencies from https://github.com/dotnet/installer build 20210901.9

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rc.2.21425.12 -> To Version 6.0.100-rc.2.21451.9

Dependency coherency updates

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21419.1 -> To Version 6.0.100-preview.6.21430.2 (parent: Microsoft.Dotnet.Sdk.Internal

* [tests] Adjust path changes for tvOS

* Update dependencies from https://github.com/dotnet/installer build 20210902.10

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rc.2.21425.12 -> To Version 6.0.100-rc.2.21452.10

Dependency coherency updates

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21419.1 -> To Version 6.0.100-preview.6.21430.2 (parent: Microsoft.Dotnet.Sdk.Internal

* Looks like macOS/dotnet is not quite the legacy build (which works)

* Update dependencies from https://github.com/dotnet/installer build 20210903.10

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rc.2.21425.12 -> To Version 6.0.100-rc.2.21453.10

Dependency coherency updates

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21419.1 -> To Version 6.0.100-preview.6.21452.4 (parent: Microsoft.Dotnet.Sdk.Internal

* Update dependencies from https://github.com/dotnet/installer build 20210904.1

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rc.2.21425.12 -> To Version 6.0.100-rc.2.21454.1

Dependency coherency updates

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21419.1 -> To Version 6.0.100-preview.6.21452.4 (parent: Microsoft.Dotnet.Sdk.Internal

* Update dependencies from https://github.com/dotnet/installer build 20210904.3

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rc.2.21425.12 -> To Version 6.0.100-rc.2.21454.3

Dependency coherency updates

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21419.1 -> To Version 6.0.100-preview.6.21452.4 (parent: Microsoft.Dotnet.Sdk.Internal

* Update dependencies from https://github.com/dotnet/installer build 20210906.2

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rc.2.21425.12 -> To Version 6.0.100-rc.2.21456.2

Dependency coherency updates

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21419.1 -> To Version 6.0.100-preview.6.21452.4 (parent: Microsoft.Dotnet.Sdk.Internal

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Sebastien Pouliot <sebastien.pouliot@gmail.com>
Co-authored-by: Sebastien Pouliot <sebastien.pouliot@microsoft.com>
2021-09-07 12:26:14 +02:00
Rolf Bjarne Kvinge 69b95172b3
[xharness] Unify the list of test projects for .NET between iOS and macOS. (#12469)
* [xharness] Unify the list of test projects for .NET between iOS and macOS.

* [xharness] Don't enable all .NET tests if .NET is enabled.

Some tests (such as device tests) have additional checks that must be honored as well.

* [xharness] If a test is ignored, then it doesn't matter what the corresponding build task is doing.

A build task can be shared between multiple tests, and it can be building for
another (enabled) test. This happens for iOS 32-bits and 64-bits simulator:
the app is built once, but have two different tests running.

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-09-06 15:23:41 +02:00
Sebastien Pouliot ee5cc01b84
[chip] Disable some API on macOS (#12609)
They fail when executing introspection on macOS 12 beta 6.

It might be a sign they will be replaced with a newer Xcode 13...
2021-09-01 22:08:21 -04:00
Manuel de la Pena a004b4781b
[CoreGraphics] Add support for xcode13 beta 5. (#12589) 2021-09-01 11:24:10 -04:00
Rachel Kang 3fc6b06a12
Merge pull request #12535 from rachelkang/xcode13.0-localauthenticationembeddedui-b2-b3
[LocalAuthenticationEmbeddedUI] Update bindings for Xcode 13.0 beta 2 and 3
2021-09-01 09:32:39 -04:00
Sebastien Pouliot 4380161309
[avkit] Fix `VideoCallSupport` category failure on MacCatalyst 15 (#12598)
Web documentation mention them to be available. Introspection disagree.

Since they are all related to a single `VideoCallSupport` category, this
feature is likely not available to Catalyst.
2021-08-31 21:34:47 -04:00
Sebastien Pouliot 31e4c0506e
[mailkit] Disable some selector not working on macOS 12 beta 6 (#12602)
The framework is only available on macOS 12.

It's possible (my guess) that the selectors were renamed after Xcode 13
beta 5 was released. In that case a future (RC?) Xcode will have the
updated headers.

Most selectors are working as expected

```
NSLog (@"%@", [MEMessageAction markAsReadAction]);

Message Action: Destination: (null), Read Status: 1, Flag Change: (null), Message Color: 0
```

while the last 3 do not work, even from an ObjC application

```
NSLog (@"%@", [MEMessageAction flagAction]);

+[MEMessageAction flagAction]: unrecognized selector sent to class 0x7ffa601fc5d8
```

```
NSLog (@"%@", [MEMessageAction unflagAction]);

+[MEMessageAction unflagAction]: unrecognized selector sent to class 0x7ffa601fc5d8
```

```
NSLog (@"%@", [MEMessageAction setColorActionWithColor:(MEMessageActionMessageColorRed) ]);

+[MEMessageAction setColorActionWithColor:]: unrecognized selector sent to class 0x7ffa601fc5d8
```
2021-08-31 21:08:12 -04:00
Manuel de la Pena cda8808fa2
[Tests] Ignore a number of tests that fail on a VM. Update README. (#12597) 2021-08-31 17:45:14 -04:00
Sebastien Pouliot 4274f1d6c0
[tests][intro] Move protocol check for QLPreviewReply* to base class (#12596)
so they can be ignored on macOS (12+) too
2021-08-31 17:27:08 -04:00
Manuel de la Pena 8e6eedfaf3
[XHarness] Ensure we do not crash with empty lines. (#12588) 2021-08-30 21:30:21 -04:00
TJ Lambert e3f1363eb8
[CoreAudio] Updates for Xcode13 Beta 5 (#12465)
Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-08-30 13:46:33 -04:00
Manuel de la Pena 8eab757b39
[CoreFoundation] Add support for xcode 13 beta 5. (#12552) 2021-08-27 10:59:08 -04:00
Rolf Bjarne Kvinge c039e882cb
[xharness] Skip timestamps when processing logs. (#12539)
This fixes an issue where the html report wouldn't show test failures from
timestamped logs (which is the case for macOS test logs).

Also remove a duplicated condition.
2021-08-27 12:02:48 +02:00
Rolf Bjarne Kvinge cadfbc38d0
[msbuild/dotnet] Rework how app manifests are created. (#12516)
How we create the app manifest (Info.plist) has to be modified so that we can
add support for getting all the values from MSBuild properties (i.e. no
Info.plist in the project), as well as having multiple partial app manifests
that all get merged into the final app manifest.

Here's the new process:

1. The user can specify values in multiple ways:

   * An Info.plist in their project file (as always, by using a `None` item
     with filename "Info.plist" or with a `Link` metadata with filename
     "Info.plist"). We find this Info.plist in the DetectAppManifest target.
   * A partial plist in their project (using the `PartialAppManifest` item
     group)
   * Some MSBuild properties can also add values.

   The general precedence is: MSBuild properties can be overridden by the
   Info.plist, which can be overridden by a partial plist.

2. In the `CompileAppManifest` target we get all the inputs from above, and
   compute a temporary app manifest, which is written to a temporary output
   file.

3. In the `ReadAppManifest` target, we read the temporary output file and
   outputs numerous MSBuild properties (most of them private)

4. We run other targets that may add more entries to the final app manifest
   (these tasks might depend on the values from `ReadAppManifest`). These
   entries are written to partial plists, and added to the
   _PostCompilePartialAppManifest item group.

   Currently the targets that can add more entries to the app manifest are
   _CompileImageAssets and  _CompileCoreMLModels.

5. In the new `WriteAppManifest` target, we read the temporary output file
   from `ReadAppManifest` + any `_PostCompilePartialAppManifest` files and
   merge them all together to get the final Info.plist.

This also required moving the computation of CFBundleIdentifier from the
DetectSigningIdentity task to the CompileAppManifest task, which also meant
reordering these two tasks, so that the DetectSigningIdentity task is executed
after the CompileAppManifest task (technically after the ReadAppManifest
task), because the DetectSigningIdentity task needs to know the bundle
identifier.
2021-08-27 12:00:19 +02:00
Rachel Kang abb7b3aef8
Move catalyst todo to ignore 2021-08-26 18:54:16 -04:00
Manuel de la Pena 53988e12ac
[AVKit] Add support for xcode 12 beta 5. (#12551)
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-08-26 18:16:06 -04:00
Manuel de la Pena 143a2216a6
[ThreadNetwork] Add new framework Xcode 13 beta 5. (#12533)
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-08-26 18:15:31 -04:00
Sebastien Pouliot 1394420fdc
[corefoundation] Use `CFArrayGetValues` inside `CFArray` (#12537)
This requires less native calls (one for all values) than the current
code (one per value inside the array).

However the performance enhancement is not dramatic as the largest cost
is not in that code path (and the extra allocation undermine it too).
Still it's

I tried a few other variations (e.g. loop over a stackalloc'ed buffer)
but they did not perform better and the code was more complex.

Note: the NSArray* code/tests are identical between both sets (and the
mean results are also closer)

Actual Implementation

|                        Method |          name |              value |              Mean |              Error |          StdDev |
|------------------------------ |-------------- |------------------- |------------------:|-------------------:|----------------:|
| CFArray_StringArrayFromHandle |         empty |                 () |        124.856 ns |         13.1140 ns |       0.7188 ns |
| NSArray_StringArrayFromHandle |         empty |                 () |      1,438.752 ns |        120.3745 ns |       6.5981 ns |
|       CFArray_ArrayFromHandle |         empty |                 () |        124.727 ns |         21.3443 ns |       1.1700 ns |
|       NSArray_ArrayFromHandle |         empty |                 () |      1,433.047 ns |        164.6988 ns |       9.0277 ns |
| CFArray_StringArrayFromHandle |           few |  (  (...).") [108] |      1,818.681 ns |        457.2275 ns |      25.0622 ns |
| NSArray_StringArrayFromHandle |           few |  (  (...).") [108] |      8,636.130 ns |      2,505.6452 ns |     137.3429 ns |
|       CFArray_ArrayFromHandle |           few |  (  (...).") [108] |      4,105.635 ns |      1,151.4048 ns |      63.1124 ns |
|       NSArray_ArrayFromHandle |           few |  (  (...).") [108] |      8,769.657 ns |      1,946.9970 ns |     106.7215 ns |
| CFArray_StringArrayFromHandle | large_mutable |  ((...)) [8419330] | 20,103,343.750 ns | 13,762,095.1905 ns | 754,346.8755 ns |
| NSArray_StringArrayFromHandle | large_mutable |  ((...)) [8419330] | 24,256,992.708 ns |  9,357,034.9200 ns | 512,890.6579 ns |
|       CFArray_ArrayFromHandle | large_mutable |  ((...)) [8419330] |  3,888,197.135 ns |    395,545.6860 ns |  21,681.1938 ns |
|       NSArray_ArrayFromHandle | large_mutable |  ((...)) [8419330] |  7,326,581.510 ns |    622,485.7999 ns |  34,120.5472 ns |
| CFArray_StringArrayFromHandle |   lot_mutable |  ( (...)") [34427] |    194,289.884 ns |     27,658.0701 ns |   1,516.0322 ns |
| NSArray_StringArrayFromHandle |   lot_mutable |  ( (...)") [34427] |    549,336.410 ns |     98,695.3827 ns |   5,409.8270 ns |
|       CFArray_ArrayFromHandle |   lot_mutable |  ( (...)") [34427] |    222,837.679 ns |     38,823.2619 ns |   2,128.0340 ns |
|       NSArray_ArrayFromHandle |   lot_mutable |  ( (...)") [34427] |    441,116.243 ns |     46,578.8698 ns |   2,553.1450 ns |
| CFArray_StringArrayFromHandle |          null |                  ? |          4.568 ns |          0.8750 ns |       0.0480 ns |
| NSArray_StringArrayFromHandle |          null |                  ? |          4.728 ns |          1.0713 ns |       0.0587 ns |
|       CFArray_ArrayFromHandle |          null |                  ? |          4.818 ns |          1.0416 ns |       0.0571 ns |
|       NSArray_ArrayFromHandle |          null |                  ? |          4.793 ns |          0.5478 ns |       0.0300 ns |
| CFArray_StringArrayFromHandle |           one |            (    1) |        682.173 ns |         83.0811 ns |       4.5540 ns |
| NSArray_StringArrayFromHandle |           one |            (    1) |      3,409.570 ns |      1,407.8715 ns |      77.1702 ns |
|       CFArray_ArrayFromHandle |           one |            (    1) |      1,008.268 ns |        340.9156 ns |      18.6867 ns |
|       NSArray_ArrayFromHandle |           one |            (    1) |      3,174.222 ns |        412.6530 ns |      22.6189 ns |
| CFArray_StringArrayFromHandle | small_mutable | (   (...)9e") [54] |        909.008 ns |        271.9224 ns |      14.9050 ns |
| NSArray_StringArrayFromHandle | small_mutable | (   (...)9e") [54] |      5,017.722 ns |         66.9051 ns |       3.6673 ns |
|       CFArray_ArrayFromHandle | small_mutable | (   (...)9e") [54] |      1,900.176 ns |        131.5765 ns |       7.2121 ns |
|       NSArray_ArrayFromHandle | small_mutable | (   (...)9e") [54] |      4,913.822 ns |      1,264.8949 ns |      69.3332 ns |

New Implementation

|                        Method |          name |              value |              Mean |             Error |          StdDev |
|------------------------------ |-------------- |------------------- |------------------:|------------------:|----------------:|
| CFArray_StringArrayFromHandle |         empty |                 () |        112.335 ns |         0.7103 ns |       0.0389 ns |
| NSArray_StringArrayFromHandle |         empty |                 () |      1,497.473 ns |     1,508.7464 ns |      82.6995 ns |
|       CFArray_ArrayFromHandle |         empty |                 () |        114.670 ns |         3.7721 ns |       0.2068 ns |
|       NSArray_ArrayFromHandle |         empty |                 () |      1,486.298 ns |       767.5367 ns |      42.0713 ns |
| CFArray_StringArrayFromHandle |           few |  (  (...).") [108] |      1,526.398 ns |       205.6683 ns |      11.2734 ns |
| NSArray_StringArrayFromHandle |           few |  (  (...).") [108] |      8,503.264 ns |       981.4524 ns |      53.7967 ns |
|       CFArray_ArrayFromHandle |           few |  (  (...).") [108] |      3,814.918 ns |     1,868.8035 ns |     102.4354 ns |
|       NSArray_ArrayFromHandle |           few |  (  (...).") [108] |      8,628.285 ns |     2,416.9366 ns |     132.4805 ns |
| CFArray_StringArrayFromHandle | large_mutable |  ((...)) [8419330] | 16,351,876.042 ns | 3,691,993.1957 ns | 202,370.6051 ns |
| NSArray_StringArrayFromHandle | large_mutable |  ((...)) [8419330] | 24,589,916.667 ns | 2,800,427.9107 ns | 153,500.9034 ns |
|       CFArray_ArrayFromHandle | large_mutable |  ((...)) [8419330] |  3,390,725.260 ns | 2,950,426.1305 ns | 161,722.8120 ns |
|       NSArray_ArrayFromHandle | large_mutable |  ((...)) [8419330] |  7,296,976.823 ns | 4,376,785.2488 ns | 239,906.3683 ns |
| CFArray_StringArrayFromHandle |   lot_mutable |  ( (...)") [34427] |    167,120.182 ns |    14,246.9472 ns |     780.9232 ns |
| NSArray_StringArrayFromHandle |   lot_mutable |  ( (...)") [34427] |    554,940.788 ns |   116,685.5145 ns |   6,395.9268 ns |
|       CFArray_ArrayFromHandle |   lot_mutable |  ( (...)") [34427] |    192,447.498 ns |    15,447.8562 ns |     846.7491 ns |
|       NSArray_ArrayFromHandle |   lot_mutable |  ( (...)") [34427] |    431,045.597 ns |    42,844.2650 ns |   2,348.4387 ns |
| CFArray_StringArrayFromHandle |          null |                  ? |          5.157 ns |         4.3360 ns |       0.2377 ns |
| NSArray_StringArrayFromHandle |          null |                  ? |          5.040 ns |         0.0694 ns |       0.0038 ns |
|       CFArray_ArrayFromHandle |          null |                  ? |          5.514 ns |         0.3849 ns |       0.0211 ns |
|       NSArray_ArrayFromHandle |          null |                  ? |          5.373 ns |         0.8358 ns |       0.0458 ns |
| CFArray_StringArrayFromHandle |           one |            (    1) |        730.162 ns |        65.9006 ns |       3.6122 ns |
| NSArray_StringArrayFromHandle |           one |            (    1) |      3,421.896 ns |       315.0152 ns |      17.2670 ns |
|       CFArray_ArrayFromHandle |           one |            (    1) |      1,052.039 ns |       295.2081 ns |      16.1814 ns |
|       NSArray_ArrayFromHandle |           one |            (    1) |      3,150.829 ns |       375.5461 ns |      20.5849 ns |
| CFArray_StringArrayFromHandle | small_mutable | (   (...)9e") [54] |        845.227 ns |        41.1244 ns |       2.2542 ns |
| NSArray_StringArrayFromHandle | small_mutable | (   (...)9e") [54] |      5,062.850 ns |     1,601.6880 ns |      87.7939 ns |
|       CFArray_ArrayFromHandle | small_mutable | (   (...)9e") [54] |      1,824.390 ns |       261.6341 ns |      14.3410 ns |
|       NSArray_ArrayFromHandle | small_mutable | (   (...)9e") [54] |      4,871.647 ns |       165.4350 ns |       9.0680 ns |

Fix https://github.com/xamarin/xamarin-macios/issues/12375
2021-08-26 16:37:31 -04:00
Rachel Kang 5bab0dad01
Merge pull request #12460 from rachelkang/xcode13.0-vision-b1
[Vision] Update bindings for Xcode 13.0 beta 1
2021-08-26 16:05:56 -04:00
Rolf Bjarne Kvinge 93b2b7f2b7
Merge branch 'main' into dotnet-compileappmanifest 2021-08-26 17:29:19 +02:00
Rolf Bjarne Kvinge fa4689b533
[main] Update dependencies from dotnet/installer (#12481)
## Coherency Updates

The following updates ensure that dependencies with a *CoherentParentDependency* attribute were produced in a build used as input to the parent dependency's build.
See [Dependency Description Format](https://github.com/dotnet/arcade/blob/master/Documentation/DependencyDescriptionFormat.md#dependency-description-overview)

- **Coherency Updates**:
  - **Microsoft.NET.ILLink.Tasks**: from 6.0.100-preview.6.21416.1 to 6.0.100-preview.6.21419.1 (parent: Microsoft.Dotnet.Sdk.Internal)

## From https://github.com/dotnet/installer

- **Subscription**: df3e6147-3e41-4928-6775-08d8f479343c
- **Build**: 20210823.21
- **Date Produced**: 8/24/2021 12:53 AM
- **Commit**: 5f5d8bb4a209810fb93c86ce6b0b3172bd909134
- **Branch**: refs/heads/release/6.0.1xx

- **Updates**:
  - **Microsoft.Dotnet.Sdk.Internal**: [from 6.0.100-rc.1.21417.3 to 6.0.100-rc.2.21423.21][1]
  - **Microsoft.NET.ILLink.Tasks**: [from 6.0.100-preview.6.21416.1 to 6.0.100-preview.6.21419.1][2]

[1]: 8c86609...5f5d8bb
[2]: 5b2391c...5851f6d
2021-08-25 09:43:54 +02:00
Rolf Bjarne Kvinge 55146dc3db
[tests] Remove some ignores for issues that have been fixed. (#12527) 2021-08-25 09:23:30 +02:00
Rachel Kang 254d37275e
[LocalAuthenticationEmbeddedUI] Update bindings for Xcode 13.0 beta 2 and 3 2021-08-24 18:05:47 -04:00