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

6192 Коммитов

Автор SHA1 Сообщение Дата
Haritha Mohan 3dff232920
[dotnet] Enable generation of runtime configuration file (#17840)
Set the GenerateRuntimeConfigurationFiles (GRCF) property to true 
to avoid warnings at build time + add test for change.

Diving deeper into the fix...
- This warning only occurs with .NET apps which is why GRCF
is only updated in the dotnet directory and not msbuild (legacy)
- After examining the binlog (see issue), it was found that the GRCF 
was contingent upon the HasRuntimeOutput property, which is only 
defined for executable projects. And in this case, the user's project
output type is library thus both the RuntimeOutput and consequently 
GRCF properties were not enabled.
- By setting the GRCF to true we can address the original warning of 
concern while ensuring the rest of the projects's behavior is not
altered
in mysterious ways (i.e. by touching the RuntimeOutput property or the 
project output type instead, these changes could have extraneous
effects).

Fixes #17543

---------

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2023-03-23 08:10:04 -07:00
Rolf Bjarne Kvinge 6e2ff59b30
[tests] Port Cecil tests to a .NET test project. (#17836) 2023-03-23 08:34:52 +01:00
Rolf Bjarne Kvinge 07198f1224
[tests] Add Windows .NET test that exercises some of our test configuration code. (#17874) 2023-03-22 20:23:26 +01:00
Rolf Bjarne Kvinge 999c5a3e97
[tests] Share code to verify failures. (#17872)
We have some code that verifies a list of failures against a known set of
failures and:

* Fails if any known failure is fixed.
* Fails if there any new (unknown) failures.

Create a helper method that contains this logic, since it's duplicated quite a
few times across various tests.
2023-03-22 11:47:54 +01:00
Rolf Bjarne Kvinge 7ea0044224
[dotnet/msbuild] Copy binding resource packages to output directories together with CopyLocal assemblies. Fixes #13910. (#17806)
With a project structure like this:

* Executable project references a library project.
* The library project references a binding project (or assembly).

The binding project's assembly will be copied to the library project's
output directory during the build. Unless we also make sure any binding
resource packages are copied as well, the executable project won't find those,
and the final app won't contain any native bits from the binding project.

The solution is to add any binding resource packages to the list of
files to be copied to the library's output directory.

Fixes https://github.com/xamarin/xamarin-macios/issues/13910.
2023-03-22 10:49:26 +01:00
Rolf Bjarne Kvinge e86c77a773
[devops] Run .NET tests with the 'Windows' category on Windows (#17796) 2023-03-22 07:49:03 +01:00
Rolf Bjarne Kvinge 6300a6aff7
[tests] Improve NWProtocolIPOptionsTest to not leak exceptions on background threads. (#17824) 2023-03-21 16:16:25 +01:00
Steve Hawley 63470f9b74
add EditorBrowsable to obsolete member (#17854) 2023-03-21 07:41:39 +01:00
Rolf Bjarne Kvinge 38a2442839
[tests] Run the OutOverriddenWithoutOutAttribute test on all platforms on .NET (#17827) 2023-03-17 07:57:59 +01:00
Steve Hawley 61ad2a9dec
CGEventCreate fixed broken call, added tests (#17805)
Fixes https://github.com/xamarin/xamarin-macios/issues/17656
2023-03-16 11:00:12 -04:00
Rolf Bjarne Kvinge c398f333fc
[monotouch-test] Be more accepting in the NSTextInputClient test. (#17795)
It seems we can get different results depending on OS versions, but I had no
success figuring out the conditions that make the results differ, so just
accept all variations we get.
2023-03-15 14:33:44 +01:00
Rolf Bjarne Kvinge 0faf60c2e9
[tests] Add new cecil tests to verify correct block literal usage in our own code. Fixes #15783. (#17794)
This is the final step in our improved block support.

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

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2023-03-15 14:31:02 +01:00
Rolf Bjarne Kvinge c391695bb1
[AppKit] Add a weakly typed version of NSRulerView.WeakMeasurementUnits. Fixes #17742. (#17779)
There's not a finite list if measurement units, apps can create their own, so
we have to allow weakly typed measurement units (the normal property is bound
using a strong enum to NSRulerViewUnits).

Fixes https://github.com/xamarin/xamarin-macios/issues/17742.
2023-03-15 10:47:11 +01:00
Rolf Bjarne Kvinge 29633a6231
[generator] Make the block callbacks UnmanagedCallersOnly functions in .NET. (#17741)
This also required updating a manual binding since it poked into
generated internals.

Contributes towards https://github.com/xamarin/xamarin-macios/issues/15783.
2023-03-14 10:08:28 +01:00
Alex Soto 91781715a9
[CI] [siminstaller] Bump bots to use the Ventura and make siminstaller more resilient (#17760)
## siminstaller

We are getting a `System.IO.IOException: Resource busy`
when trying to detach with hdiutil on Ventura. When reaching
this spot we are really done with the mounted resource so
let's force detaching and in the event that it fails let's
just log since at this point the simulator is installed.

## CI

Bump bots to use the Ventura images, and Add `macOSName`
parameter to our yaml templates.

`macOSName` maps to the `macOS.Name` capability in our bots, this
way we can set the macOS name we want to use on the bots in bot build and tests.

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2023-03-14 07:27:00 +01:00
Steve Hawley 4c1e5681f1
[dotnet] future proof the test (#17739)
Add documentation in case of future test fails
2023-03-08 12:29:57 -05:00
Rolf Bjarne Kvinge d6d02fa05a
[monotouch-test] Fix bool encoding in tests on ARM64 on Mac Catalyst. (#17695)
Fixes:

    [FAIL] TestTypeEncodings :   #14
        String lengths are both 1. Strings differ at index 0.
        Expected: "B"
        But was:  "c"
        -----------^
2023-03-08 10:43:52 +01:00
Rolf Bjarne Kvinge d1804f5e68
[tests] Use Path.Combine instead of hardcoding '/'. (#17733) 2023-03-08 10:43:24 +01:00
Rolf Bjarne Kvinge a4ae14870f
[generator] Generate block callback signatures using only blittable types. (#17712)
Change the generated block callbacks so that we only use blittable types
(so that the callbacks can become [UnmanagedCallersOnly]).

This involved two changes:

* Use pointer types instead of ref/out types ('int*' instead of 'ref/out int').
* Use 'byte' instead of 'bool'.

Contributes towards https://github.com/xamarin/xamarin-macios/issues/15783.
2023-03-07 17:38:36 +01:00
Rolf Bjarne Kvinge 63e6d9b4e8
[src] Commit some of the response files. (#17718)
We'll soon build and run tests on Windows, and some tests use these response files,
so it makes building these tests on Windows easier if we don't have to re-create
the response files (our generation logic is all written in make, which is not the
easiest on Windows).
2023-03-07 17:32:27 +01:00
Steve Hawley dec6ce3445
[dotnet] final blittable pinvoke (#17723)
test passes now.
2023-03-07 10:16:11 -05:00
Rolf Bjarne Kvinge a39cefa457
[msbuild] Fix nullability issue when compiling for legacy Xamarin. (#17716)
And make sure we don't ignore any such warnings again for a few test projects.
2023-03-07 07:54:21 +01:00
Rolf Bjarne Kvinge 666bd9ae9e
[tests] Fix NSTextInputClient tests on macOS Ventura. (#17713)
Fixes:

    apitest.NSTextInputClient
        [FAIL] NSTextInputClient_ShouldGetBaselineDelta :   NSTextInputClient_ShouldGetBaselineDelta - Returned wrong baseline delta value
            Expected: True
            But was:  False
              at apitest.NSTextInputClient.NSTextInputClient_ShouldGetBaselineDelta () [0x0000e] in /Users/builder/azdo/_work/3/s/xamarin-macios/tests/monotouch-test/AppKit/NSTextInputClient.cs:108
        [FAIL] NSTextInputClient_ShouldGetFirstRect :   NSTextInputClient_ShouldGetFirstRect - Returned wrong rect
            Expected: {X=0,Y=0,Width=12,Height=14}
            But was:  {X=0,Y=0,Width=0,Height=14}
              at apitest.NSTextInputClient.NSTextInputClient_ShouldGetFirstRect () [0x00030] in /Users/builder/azdo/_work/3/s/xamarin-macios/tests/monotouch-test/AppKit/NSTextInputClient.cs:84
2023-03-07 07:47:39 +01:00
Steve Hawley d87d0cddef
[dotnet] Darwin p/invokes (#17698) 2023-03-06 10:25:41 -05:00
Rolf Bjarne Kvinge fb3df91407
[tests] Adjust EveryFrameworkSmokeTest to not run when every assembly is linked. (#17696)
It expects the executable to be linked will every system framework we've
bound, which doesn't happen when linker is enabled for all assemblies.
2023-03-06 13:38:07 +01:00
Rolf Bjarne Kvinge 3f742de4aa
[monotouch-test] Fix NWBrowserTest to not throw assertions on background threads. (#17697)
Exceptions on background threads will crash the process.
2023-03-06 12:48:39 +01:00
Rolf Bjarne Kvinge 8355cc0600
[tests] Don't use 'notdir' to compute the filename of a path. (#17682)
It doesn't work at all with paths with spaces. Instead call into the shell to
compute the filename.

Also fix a couple of other quoting issues.
2023-03-03 11:10:37 +01:00
Rolf Bjarne Kvinge d75b697ebc
[tests] Adjust UrlSessionTests to ignore more failure scenarios in CI. (#17649)
Should fix random test failures like this:

    MonoTouchFixtures.Foundation.UrlSessionTest
        [FAIL] CreateDataTaskAsync :   CreateDataTask a Exception
            Expected: null
            But was:  <Foundation.NSErrorException: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=57, NSUnderlyingError=0x6000011f4990 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x600003deaa80 [0x7ff865b1f1c0]>{length = 16, capacity = 16, bytes = 0x100201bb6007a9b70000000000000000}, _kCFStreamErrorCodeKey=57, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <5E766082-B379-491A-BCB0-EA1B36E54A8B>.<15>, _NSURLErrorRelatedURLSessionTaskErrorKey=("LocalDataTask <5E766082-B379-491A-BCB0-EA1B36E54A8B>.<15>"), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=https://www.microsoft.com/, NSErrorFailingURLKey=https://www.microsoft.com/, _kCFStreamErrorDomainKey=1}
                at MonoTouchFixtures.Foundation.UrlSessionTest+<>c__DisplayClass1_0.<CreateDataTaskAsync>b__0 () [0x00039] in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/monotouch-test/Foundation/UrlSessionTest.cs:64 >
                at MonoTouchFixtures.Foundation.UrlSessionTest.CreateDataTaskAsync () [0x000b7] in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/monotouch-test/Foundation/UrlSessionTest.cs:71
2023-03-02 10:38:41 +01:00
Rolf Bjarne Kvinge 8285c08c17
[registrar] Improve support for pointers to value types in exported signatures. (#17608)
This will be required when we make blocks use blittable callbacks, since we'll
have to use pointers in a few cases (because ref/out arguments aren't
blittable).
2023-02-28 11:48:27 +01:00
Steve Hawley aacedd12c7
[dotnet] Remove dead method, add some ignores (#17631)
Removed a flavor of `class_addMethod` that is unused.
Ignored a few cases that are going to be in .NET and/or may break AOT
optimizations

Now all iOS pivots pass, 17 macOS remain.
2023-02-27 17:56:06 -05:00
Steve Hawley 32961d97dd
[dotnet] UIMain changes (#17611)
handling of string array for args
2023-02-27 10:23:39 -05:00
Rolf Bjarne Kvinge aaa79e85ed
[tests] Improve diagnostic output in FSEventStreamTest. (#17614)
Ref: https://github.com/xamarin/maccore/issues/2630
2023-02-27 14:14:05 +01:00
Steve Hawley 1ca9a8fbdf
[dotnet] CGImageMetadata (#17530)
Fixed pinvoke used for CGIMetadata.EnumerateTags
2023-02-23 10:50:58 -05:00
Rolf Bjarne Kvinge c8ca8f401f
[monotouch-test] Fix AUParameterNodeTest to not crash the process in case of asserts on background threads. (#17593) 2023-02-23 14:34:50 +01:00
Rolf Bjarne Kvinge f8f5124a88
[generator] Fix fetching nullability for block properties by checking the property for nullability info. (#17594) 2023-02-23 14:34:20 +01:00
Rolf Bjarne Kvinge ad4af52393
[dotnet] Improve error message when someone tries to disable trimming by setting PublishTrimmed=false. (#17568)
Make it more actionable, by telling users what they can do instead.
2023-02-21 14:54:44 +01:00
Manuel de la Pena b462bfde99
[Generator] Move naming logic to its own class and add tests. (#17562)
Naming could be problematic when generating code, move the logic out of
the generator class to a helper class whose only job is to name classes
and keep track of names.

---------

Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
2023-02-17 15:33:53 -05:00
Manuel de la Pena 28db48f6ee
[Generator] Refactor method that was forgotten as an extension one. (#17550)
Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
2023-02-16 08:48:09 -05:00
Manuel de la Pena c744a8bbc7
[Generator] Refactor AsyncMethodInfo, set nullability and add collection extensions. (#17538)
Several changes:

- Refactored AsyncMethodInfo and move the collection extensions out of
the Generator class.
- Added tests for the collection extension methods.
- Fix a mistake/bug in which Last was used instead of LastOrDefault
(funny comment was close to the right reason).

---------

Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
2023-02-16 08:47:28 -05:00
Manuel de la Pena be1bee04b4
[Generator] Refactor more string extensions. (#17532)
Move all the string methods that can be an extension to a static class
(re-use the present one) and add tests.

---------

Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
Co-authored-by: TJ Lambert <50846373+tj-devel709@users.noreply.github.com>
2023-02-16 08:45:43 -05:00
Manuel de la Pena b0683b90d5
[Generator] Move PlatformName maps out of the generator and add tests. (#17539)
Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
2023-02-15 12:12:13 -05:00
Manuel de la Pena 498ced1811
[Generator] Remove method that is already present in the reflection API. (#17524)
Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
2023-02-13 19:17:38 -05:00
dustin-wojciechowski 3eeb7691dc
Add ventura to mac tests configurations (#17349)
Added Ventura machines to macTestConfigurations within both the
build-ci-pipeline and the build-pr-pipelines.

---------

Co-authored-by: Alex Soto <alex@alexsoto.me>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2023-02-13 11:08:18 -05:00
Steve Hawley 309dbe3be0
[DotNet] CoreFoundation Pinvokes (#17505)
Updates the pinvokes in CoreFoundation to have blittable types.
I intentionally did *not* do `CFReadStream` and `CFWriteStream` as the
changes needed for those are may create a breaking API change, so those
should probably be their own PR for closer scrutiny.

Please look closely at CFProxySupport as that was the least
straightforward of the changes.
2023-02-10 19:06:29 -05:00
Rolf Bjarne Kvinge 8e4f22d20e
[msbuild] Add DT* entries to the Info.plist for all platforms. Fixes #13300. (#17499)
Modify the code to add Xcode (DT*) variables to the Info.plist:

* Do it for all platforms, not only mobile platforms. Apple uses these fields to
  determine if an app was built with a prerelease or old version of Xcode, and will
  reject any app submissions if this validation fails.

* Change the behavior to do not distinguish simulator builds, a bit of testing
  in Xcode shows that Xcode always adds these values to the Info.plist, even for
  simulator builds. This is probably something that changed in Xcode a *long* time
  ago, since this code is old (from the initial import of the build logic from MonoDevelop
  around 10 years ago).

* Also bump Xamarin.MacDev to get a related fix:

  New commits in xamarin/Xamarin.MacDev:

  * xamarin/Xamarin.MacDev@74c95ee [Xamarin.MacDev] Always fetch the DTSDKBuild variable.

  Diff: 14d53612d4..74c95ee1c3

Fixes https://github.com/xamarin/xamarin-macios/issues/13300.
2023-02-10 22:58:38 +01:00
Steve Hawley 1a9e9be626
[dotnet] address book pinvokes (#17419) 2023-02-08 12:02:06 -05:00
Rolf Bjarne Kvinge afb6505f8c
[tests] Bump Microsoft.NET.Test.Sdk version to latest stable. (#17462)
The older version of Microsoft.NET.Test.Sdk depends on an older version of
Newtonsoft.Json, which triggers automated security warnings.

Ref: https://devdiv.visualstudio.com/DevDiv/_componentGovernance/113130/alert/7090885?typeId=12169115
2023-02-07 14:52:45 +01:00
Rolf Bjarne Kvinge fd44670214
[ObjCRuntime] Make sure to call 'Release' in all code paths in Runtime.GetINativeObject<T> when owns=true. Fixes #12732. (#17118)
Fixes https://github.com/xamarin/xamarin-macios/issues/12732.
2023-02-07 07:22:35 +01:00
Rolf Bjarne Kvinge 13f51fb583
[tests] Add another failure scenario to random network test failures in CI. (#17439) 2023-02-07 07:22:09 +01:00
Rolf Bjarne Kvinge 367f0a5c13
[src] Fix a few inconsistencies in obsolete attributes. (#17447)
* Add obsolete attributes for all platforms.
* Make sure the same obsolete message is used on all platforms.
* Fix a few typos.

There are many more APIs to fix (as evidenced by the fact that this only
removes a few known failures), but this is how far I've gotten right now.
2023-02-06 08:49:00 +01:00