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

2749 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge aaf29c559f [xharness] Incorporate MacTarget into MacUnifiedTarget.
Since there's no MacClassicTarget anymore, we don't need the intermediate
class.
2019-06-20 10:36:15 +02:00
Rolf Bjarne Kvinge bdb67b0514 [xharness] Improve ProjectFileExtensions.FixInfoPListNode.
* Share code with GetInfoPListInclude to find the same Info.plist nodes, so
  that FixInfoPListNode also finds existing nodes whose names isn't
  "Info.plist".
* Add support for specifying the new Info.plist name.
2019-06-20 10:36:15 +02:00
Rolf Bjarne Kvinge 0eff97976a [xharness] Refactor/rename TestPlatform fields.
Rename TestPlatform fields to be more in line with the rest of the code, and
drop the Unified prefix, since everything is Unified now.

* Unified -> Modern
* UnifiedXM45 -> Full
* UnifiedSystem -> System
2019-06-20 10:36:14 +02:00
Rolf Bjarne Kvinge ea55923f54 [tests] Simplify a few [Intermediate]OutputPaths.
Everything is Unified now, so no need to add it to the output path anymore to
make distinguished project output.
2019-06-20 10:36:14 +02:00
Rolf Bjarne Kvinge 29157da73e Cleanup .gitignores. 2019-06-20 10:36:14 +02:00
Rolf Bjarne Kvinge 523349bf69 Merge remote-tracking branch 'origin/d16-2' into xcode11-bump-mono-d16-2 2019-06-20 10:27:04 +02:00
Sebastien Pouliot e6b8f0e9e6
[corenfc] Update for Xcode 11 beta 1 (#6370)
There was no changes in beta 2

There's a generator issue https://github.com/xamarin/xamarin-macios/issues/6366
that prevent a fully correct `NFCNdefTag` protocol
2019-06-19 19:11:55 -04:00
Rolf Bjarne Kvinge f9d39c640b
Merge pull request #6164 from monojenkins/backport-pr-6159-to-d16-2
[d16-2] [Metal] Sprinkle [return: Release] on all 'new*' selectors. Fixes #5941.
2019-06-19 17:29:43 +02:00
Rolf Bjarne Kvinge 14cac96c90
[d16-2] Bump VSMac to 8.1.0.2742 to fix msbuild issues (#6279) (#6361)
* Bump VSMac to 8.1.0.2742 to fix msbuild issues (#6279)

* Bump VSMac to 8.1.0.2742 to fix msbuild issues

This is required to get the support for the msbuild `ToolsVersion`
change from `15.0` to `Current`.

* [tests][msbuild] Fix Binding resources test with updated msbuild

Test failure with updated msbuild and vsmac 8.1:

```
Xamarin.iOS.Tasks.NativeReferencesNoEmbedding("iPhone").ShouldNotUnnecessarilyRebuildBindingProject(True)
     Binding project build did not create package?
  Expected: True
  But was:  False

at Xamarin.iOS.Tasks.NativeReferencesNoEmbedding.ShouldNotUnnecessarilyRebuildBindingProject (System.Boolean framework) [0x000a0] in <74b8f7d8a53e40109916d305bb4d7403>:0
at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo cul
ture) [0x0006a] in <0519fa732e8845b6a809ce9180f541db>:0
```

The test builds the project multiple times. Before the 3rd build, the project
file's timestamp is updated and expects that the binding package will be
rebuilt. But it is not, because the target `_CreateBindingResourcePackage`
doesn't depend on that project file. So, add that to the target inputs.

* [nuget] Use xibuild to run nuget

Fix errors seen during `nuget restore` for tests:

```
Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xammac_tests/xammac_tests.csproj(213,3): error MSB4024: The imported project file "/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Mac/Xamarin.Mac.CSharp.targets" could not be loaded. Could not find file "/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Mac/Xamarin.Mac.CSharp.targets"
```

* [xibuild] Fix incorrect mscorlib.dll being used (#6068)

* [xibuild] Fix incorrect mscorlib.dll being used

The `GuiUnit_NET_4_5` project, when built with `xibuild` uses the wrong `mscorlib.dll`.

From https://github.com/xamarin/xamarin-macios/issues/5760#issuecomment-472457202 :

```
- mscorlib.dll is being used from mono/4.5 and the other system assemblies are from mono/4.5-api
- GuiNet* project is built with xibuild

What is happening here is:

	xibuild sets[1] `SetToolsetProperty ("TargetFrameworkRootPath", FrameworksDirectory + Path.DirectorySeparatorChar);`
	which points to `/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild-frameworks`.
	This causes $(FrameworkPathOverride) to be set[2] to `/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild-frameworks/.NETFramework/v4.5`,
	but that doesn't have a mscorlib.dll, so it gets reset[3] to /Library/Frameworks/Mono.framework/Versions/5.22.0/lib/mono/4.5/.

	If we don't set TargetFrameworkRoothPath, then we get `FrameworkPathOverride = /Library/Frameworks/Mono.framework/Versions/5.22.0/lib/mono/4.5-api`,
	causing `_ExplicitReference=/Library/Frameworks/Mono.framework/Versions/5.22.0/lib/mono/4.5-api/mscorlib.dll`(correct one) to be used.
```

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

1. https://github.com/xamarin/xamarin-macios/blob/master/tools/xibuild/Main.cs#L209
2. https://github.com/mono/msbuild/blob/xplat-master/src/Tasks/Microsoft.Common.CurrentVersion.targets#L79
3. https://github.com/mono/msbuild/blob/xplat-master/src/Tasks/Microsoft.Common.CurrentVersion.targets#L84

* Revert "Workaround https://github.com/xamarin/xamarin-macios/issues/5760 in generator csproj"

This reverts commit 9bd927bb7f.

The previous commit for xibuild removes the need for this.

* [xibuild] Handle "incorrectly" cased msbuild property names  (#6202)

msbuild property names are case insensitive. While generating the custom
app.config, in `SetToolsetProperty(..)` we try to update the property if
it already exists. But the name lookup was case sensitive, thus causing
the lookup to fail, resulting in two entries for the same property name
differing only in case. Eg. `MSBuildSDKsPath` vs `MSBuildSdksPath`.

Fixed to ignore case.

Fixes https://github.com/mono/mono/issues/14765 .
2019-06-19 17:28:01 +02:00
Sebastien Pouliot 50701e6e94
[coreimage] Add new CoreImage filters from Xcode 11 beta 2. Fixes #6340 (#6358)
Update intro tests to generate bindings with more comments - which makes
it easier to bind `NSNumber` to the correct/better .net type.

https://github.com/xamarin/xamarin-macios/issues/6340
2019-06-19 05:26:40 -07:00
Sebastien Pouliot 0d5c664779
[usernotifications] Update for Xcode 11 beta 1 (#6355)
No changes in beta 2
2019-06-19 05:24:43 -07:00
Rolf Bjarne Kvinge 626a859a46
[xcode11] Fix several issues to make the mtouch tests pass. Fixes #6259. (#6332)
* [tests] Minor refactor to get better Xcode version parsing.

* Rename Configuration.XcodeVersion to XcodeVersionString.
* Add Configuration.XcodeVersion a parsed Version instane of XcodeString.

* [tests] Ignore all 'MT0099: Not linking with WatchKit because Xcode 11 beta 1' warnings in tests.

* [tests] Adjust min OS version tests for Xcode 11b1.

* [tests] Adjust tests for changes in 'nm' output.

* [tests] Adjust tests for name changes in Clang.

* [tests] Adjust tests for changes in ld warning format.

* [msbuild] 'metal' and 'metallib' aren't in PATH anymore, so use xcrun to execute them.

* [msbuild] Fix DevicePlatformBinDir for the Metal and MetalLib targets on iOS.

Also set the SDKROOT variable, otherwise metal and metallib don't work
properly, and revert the previous attempt at a fix (use xcrun).

* [tests] Simplify version parsing code to not version parse anymore.

* [tests] Add FIXME for once Apple fixes the WatchKit disappearance.
2019-06-19 07:20:02 +02:00
Sebastien Pouliot 53e25cc54a
[wkwebkit] Update for Xcode 11 beta 2 (#6354) 2019-06-18 18:00:35 -07:00
Sebastien Pouliot fee66b3505
[coregraphics] Update for Xcode 11 beta 1 and 2 (#6337)
along with unit tests for p/invokes
2019-06-18 17:59:08 -07:00
Vincent Dondain a797ea1fd3
Bump for Xcode 11 beta 2 (#6341)
- [tests] Fix PassKit monotouch-test
2019-06-18 15:34:07 -04:00
Rolf Bjarne Kvinge 9be8fdeb7b
[xharness] Automatically enable tests on older simulators if we're using a beta Xcode. (#6334)
Usually it's when working on beta Xcodes we make mistakes that only show up
when running on older simulators (and devices):

* Missing/wrong availability attributes.
* Tests for new API that don't check the OS if that API is available.

So automatically enable the tests on older simulators for PR builds when using
a beta Xcode.
2019-06-17 19:15:41 +02:00
Rolf Bjarne Kvinge 2fe7377003
[tests] Remove 32-bit Xamarin.Mac tests (both Classic and Unified). (#6301)
* [tests] Remove 32-bit Xamarin.Mac tests (both Classic and Unified).

We're removing support for 32-bit Xamarin.Mac apps (#6300), which means we
don't need to run the tests anymore.

This part of the implementation for #6300, I'm starting with the tests because
some of our XM/Classic tests are failing and making the bots unnecessarily red
(since we'll remove XM/Classic support anyway). Also CI will be faster if we
don't run these tests.

* [mmptest] Fix build.

* [tests] Fix build for mono-native-mac.csproj.
2019-06-17 08:03:58 +02:00
Sebastien Pouliot 99b2248284
Merge pull request #6306 from rolfbjarne/xcode11-monotouch-test
[monotouch-test] Make monotouch-test green with Xcode 11 beta 1.
2019-06-14 23:05:00 -04:00
Sebastien Pouliot 89606f49a0
[wkwebkit] Update for xcode 11 beta 1 (#6292) 2019-06-14 15:45:58 -04:00
Rolf Bjarne Kvinge 8e4067d486 [monotouch-test] Fix another case of Photos framework's problems. 2019-06-14 20:02:27 +02:00
Rolf Bjarne Kvinge f0958ac24f [monotouch-test] Workaround issue with UIPasteboard.General.Images.
Ref: 71f9341c59
Ref: https://github.com/xamarin/xamarin-macios/issues/6254
2019-06-14 20:02:27 +02:00
Rolf Bjarne Kvinge 1d85078962 [monotouch-test] Adjust tests to cope with changes in Xcode 11 beta 1. 2019-06-14 20:02:27 +02:00
Sebastien Pouliot 46dcdb40fd
[tests][intro] Enable (most) IOSurface API checks on simulator (#6290)
Reading thru header's diff hinted that IOSurface is now available to
the simulators.
2019-06-14 13:09:16 -04:00
Sebastien Pouliot 00ba38035f
[devicecheck] Update for xcode 11 beta 1 (#6286)
Added support for macOS 10.15 and for iOS simulator (>= 13)
2019-06-13 20:09:34 -04:00
Sebastien Pouliot 77399cb238
[watchconnectivity] Update for xcode 11 beta 1 (#6283)
Add new API for CompanionApp (watchOS only)
2019-06-13 16:44:54 -04:00
Sebastien Pouliot 1b02f0f616
[tests] Fix monotouch-test for "iOS Unified 32-bits - simulator" | "Release (all optimizations)" (#6281)
Photos.framework headers are broken in Xcode 11 beta 1 [1]. Optimizations
fails since the static registrar skip over the type [2]

```
	[FAIL] PHLivePhotoEditingContextTest.Linker : ObjCRuntime.RuntimeException : Can't register the class Photos.PHContentEditingInput when the dynamic registrar has been linked away.
		  at ObjCRuntime.Class.GetClassHandle (System.Type , System.Boolean , System.Boolean& ) [0x000de] in <d93fa0efd60442128943a9eb0e82eb8d>:0
		  at ObjCRuntime.Class.GetClassHandle (System.Type ) [0x00000] in <d93fa0efd60442128943a9eb0e82eb8d>:0
		  at ObjCRuntime.Class.GetHandle (System.Type ) [0x00000] in <d93fa0efd60442128943a9eb0e82eb8d>:0
		  at Foundation.NSObject.AllocIfNeeded () [0x00019] in <d93fa0efd60442128943a9eb0e82eb8d>:0
		  at Foundation.NSObject..ctor (Foundation.NSObjectFlag ) [0x00006] in <d93fa0efd60442128943a9eb0e82eb8d>:0
		  at Photos.PHContentEditingInput..ctor () [0x00000] in <d93fa0efd60442128943a9eb0e82eb8d>:0
		  at MonoTouchFixtures.Photos.PHLivePhotoEditingContextTest.Linker () [0x00001] in <6e792af97a28410a80fa790ecfb26b9c>:0
		  at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
		  at System.Reflection.RuntimeMethodInfo.Invoke (System.Object , System.Reflection.BindingFlags , System.Reflection.Binder , System.Object[] , System.Globalization.CultureInfo ) [0x0006a] in <3440dfbcd957471aabeed02fbc939d2a>:0
PHLivePhotoEditingContextTest : 2 ms
```

references
[1] https://github.com/xamarin/xamarin-macios/issues/6212
[2] 60a5392d35
2019-06-13 13:15:28 -04:00
Sebastien Pouliot d071568030 Merge branch 'xcode11' into mandel-macaque-xcode11-build-mono 2019-06-12 21:29:03 -04:00
Sebastien Pouliot dec78af591
[foundation] Fix NSCopying.Copy - the biggest offender of not releasing its return value (#6271)
Manual backport of https://github.com/xamarin/xamarin-macios/pull/6230

and part of https://github.com/xamarin/xamarin-macios/pull/6171 to get PR green
2019-06-12 16:02:04 -07:00
monojenkins 4c6ea0d2c3 [d16-2] [Tests] Try different urls before failing the test. (#6265)
Use a list of urls to try several times.

Related issue: https://github.com/xamarin/maccore/issues/1725
2019-06-12 12:45:22 -07:00
Sebastien Pouliot 2b7601ef8d [xtro] Create .todo files for new Xcode11 beta 1 API (so they won't be reported as error anymore) 2019-06-12 15:42:22 -04:00
Sebastien Pouliot 71f9341c59 [tests][link all] Workaround issue with UIPasteboard.General.Images
ref: https://github.com/xamarin/xamarin-macios/issues/6254
2019-06-12 13:57:51 -04:00
Sebastien Pouliot afe96ef09b Merge branch 'xcode11' into mandel-macaque-xcode11-build-mono 2019-06-12 10:49:59 -04:00
Rolf Bjarne Kvinge d3c60e516b
[xharness] Backport a few changes to get HE0038 reporting. (#6272)
* [xharness] Show links to previous test runs in html report in server mode. (#6031)

* [xharness] Change url for server mode.

* [xharness] Show links to previous test runs in html report in server mode.

This makes it much easier to see what failed in a previous test run.

* [XHarness] Show when we have a watch HE0038 error. (#6060)

To simplify the life of the monitorer, if we get a crash with a HE0038
we will propagate the result to the html and will provide a link to the
issue so that it is easy to report it.

* [xharness] Look for HE0038 anywhere in a log file. (#6175)

Most log files now have timestamps, which means that looking for 'HE00380' at
the start of each line won't work anymore.

Fixes an issue where the HE0038 issue isn't detected properly.
2019-06-12 16:47:15 +02:00
Sebastien Pouliot 6a852fdcc2
Merge pull request #6209 from spouliot/xcode11-backport-xtro
[tests] Backport xtro changes to xcode11
2019-06-12 06:35:34 -07:00
Sebastien Pouliot 87ed9ebfd4
[xtro] Exclude some frameworks that cause issues with sharpie on macOS 10.15 (#6207)
Also merge new `MPSNDArray` into its parent `MetalPerformanceShaders`
and use a `SortedSet` to avoid ending up with both `PdfKit` and `PDFKit`
2019-06-12 06:31:59 -07:00
Sebastien Pouliot 34096129e3 [tests][xtro] Update ignore files (largely Apple fixes in the SDK headers) 2019-06-12 01:13:15 -04:00
Sebastien Pouliot fb72e516e8 Merge branch 'xcode11' into xcode11-backport-xtro 2019-06-12 00:49:18 -04:00
Sebastien Pouliot e826d1d8a6 Merge xcode11 head 2019-06-12 00:44:31 -04:00
Sebastien Pouliot a71703a624 [tests][intro] Fix new failures using Xcode11 - some (protocols) might be changes in the public API 2019-06-12 00:27:40 -04:00
Sebastien Pouliot dd142561a1 [tests] Add support to check for Xcode 11.0 and macOS 10.15 from tests/attributes 2019-06-12 00:26:23 -04:00
Sebastien Pouliot b7cf2d3695 [tests][intro] Fix an alternative glyph name that works on iOS 13 2019-06-12 00:25:32 -04:00
Sebastien Pouliot eb33ed7a95 [generator] Forward more [return: Release] attributes to generated code.
Manual backport of https://github.com/xamarin/xamarin-macios/pull/6171
2019-06-12 00:24:20 -04:00
Sebastien Pouliot bf44459d8a Merge branch 'd16-2' into xcode11-d16-2-20190611 2019-06-11 13:23:04 -04:00
monojenkins 9b9e57b80d [monotouch-test] Ignore MessageHandlerTest.RejectSslCertificatesServicePointManager on macOS 10.10. (#6219)
This works around (but doesn't fix) https://github.com/xamarin/maccore/issues/1645.
2019-06-07 14:25:26 -07:00
Rolf Bjarne Kvinge 2e295036db [xtro] 'raw' files might not exist. (#6191)
If we just fixed all the entries in the corresponding '*.ignore' file, there
won't be a '*.raw' file.
2019-06-05 09:57:49 -07:00
Rolf Bjarne Kvinge 309da40ee4 [xtro] Implement support for auto-sanitizing the .ignore files by defining an environment variable. (#6158)
Going through each failure one-by-one after fixing something that fixed many
entries is annoying, so automate the process.
2019-06-05 09:57:42 -07:00
monojenkins e27067ab30 [d16-2] [xharness] Don't report tests whose device were not found if there were no such tests. (#6169) 2019-06-03 22:47:41 +02:00
Rolf Bjarne Kvinge 62eb97d618 [generator] Fix generation of ReturnRelease code for third-party bindings. (#6135)
Don't use internal platform API (the Selector.Release field), and make sure
the void_objc_msgSend function exists in the binding.
2019-05-31 06:32:58 +00:00
Rolf Bjarne Kvinge 7f4d8529a1 Fix availability correctly. 2019-05-31 06:32:58 +00:00
Rolf Bjarne Kvinge 9ed942659d Simplify nested usings. 2019-05-31 06:32:58 +00:00
Rolf Bjarne Kvinge 222a482fea Fix whitespace. 2019-05-31 06:32:58 +00:00
Rolf Bjarne Kvinge 40096a1eaf [tests] Use a higher offset when calling MTLBuffer.CreateTexture to try to comply with the requirements for the API.
Hopefully fixes this assertion:

> 07:42:06.7701360 validateStrideTextureParameters:1512: failed assertion `Linear texture: bytesPerRow (64) must be aligned to 256 bytes'

which doesn't happen on my machine.
2019-05-31 06:32:58 +00:00
Rolf Bjarne Kvinge 16e1b85289 [tests] MTLFunctionConstantValues didn't have a default ctor until Xcode 9. 2019-05-31 06:32:58 +00:00
Rolf Bjarne Kvinge 96517671f6 [Metal] Sprinkle [return: Release] on all 'new*' selectors. Fixes #5941.
Also add tests for all the API I could figure out how to use.

Fixes https://github.com/xamarin/xamarin-macios/issues/5941.
2019-05-31 06:32:58 +00:00
Rolf Bjarne Kvinge ff86152ecc [generator] Fix generation of ReturnRelease code for third-party bindings. (#6135)
Don't use internal platform API (the Selector.Release field), and make sure
the void_objc_msgSend function exists in the binding.
2019-05-30 07:12:38 +02:00
Rolf Bjarne Kvinge 26d10477ec Fix availability correctly. 2019-05-29 19:27:21 +00:00
Rolf Bjarne Kvinge b3c3ad8724 Simplify nested usings. 2019-05-29 19:27:21 +00:00
Rolf Bjarne Kvinge cf4e9e45df Fix whitespace. 2019-05-29 19:27:21 +00:00
Rolf Bjarne Kvinge b88015eabc [tests] Use a higher offset when calling MTLBuffer.CreateTexture to try to comply with the requirements for the API.
Hopefully fixes this assertion:

> 07:42:06.7701360 validateStrideTextureParameters:1512: failed assertion `Linear texture: bytesPerRow (64) must be aligned to 256 bytes'

which doesn't happen on my machine.
2019-05-29 19:27:21 +00:00
Rolf Bjarne Kvinge b79d5e89cc [tests] MTLFunctionConstantValues didn't have a default ctor until Xcode 9. 2019-05-29 19:27:21 +00:00
Rolf Bjarne Kvinge 6a4cdb6a6d [Metal] Sprinkle [return: Release] on all 'new*' selectors. Fixes #5941.
Also add tests for all the API I could figure out how to use.

Fixes https://github.com/xamarin/xamarin-macios/issues/5941.
2019-05-29 19:27:21 +00:00
monojenkins 72c4a8ab90 [xtro] Add new checker for '[return: Release]' attributes. Fixes #6014. (#6151)
Also add a 'u2ignore' tool that can copy the resulting unclassified (all 1612
of them) to the ignore files.

Fixes https://github.com/xamarin/xamarin-macios/issues/6014.
2019-05-28 10:10:39 -07:00
monojenkins aab104dd1a [d16-2] [xharness] Don't use a dash in the bundle identifer for watchOS projects. (#6118)
* [xharness] Don't use a dash in the bundle identifer for watchOS projects.

It causes problems with the mscorlib test project, which can't be launched properly.

I'm not sure what's the underlying cause, but here are some of the symptoms:

* The watch app actually shows up fine on the device, but:
* mlaunch isn't notified about the new process, so it thinks the app didn't
  launch.
* The new process doesn't receive any environment variables we try to give it,
  which for instance means that it won't auto-start the tests upon launch.
* If we ask mlaunch to attach with lldb, mlaunch will ask watchOS to launch
  the process in a suspended state while lldb attaches. Yet the watch app
  shows up on the device as if not asked to be suspended upon launch.

It seems that the dash (I assume, because I haven't investigated this very
deeply, I just happened to find a solution that worked) makes watchOS launch
the app as if tapped, instead of launched from an IDE.

The strangest part is that this only happens with the mscorlib test project,
not any of the other test projects we run on the watch, and they all have
dashes in their bundle identifiers... yet replacing the dash with another
character (underscore, letter, removing it altogether) all made things work as
expected.

* [monotouch-test] Adjust expected value for watchOS bundle id.

The watchOS bundle ID changed in fc5067ee67, and
the test failure wasn't caught properly.
2019-05-24 08:47:02 -07:00
monojenkins 4aaa1858c8 [Jenkins] Do not run device tests in the internal jenkins instance. (#6111) 2019-05-24 08:46:37 -07:00
monojenkins f08d4e3ea8 [d16-2] [foundation] Add custom trust/certificate validation to NSUrlSessionHandler. Fix #4170 (#6110)
Basic application (size) for doing an `HttpClient.GetAsync`, release/llvm, 64bits only

- NSUrlSessionHandler (master): 6.4 MB
- NSUrlSessionHandler (PR#5936): 7.7 MB
- NSUrlSessionHandler (this PR): 6.4 MB

The size increase occurs because of the reference to .net `X509*` types.
This brings a lot of additional code, including managed cryptographic
code, inside the application - even when the feature is **not** used.

The solution is to expose an API that only use native (OS) types, which
are mostly already part of the application. This has a very low impact
on existing applications.

It's still possible to hook back to .NET validation if needed (it should
not in most cases) but, in this case, the extra price will only be
_paid_ if used (and can be lower if the code is needed by something else
from the application).

In comparison using other `HttpClient` handler produce app sizes of

- HttpClientHandler (managed): 10.4 MB
- CFNetworkHandler: 6.8 MB

Based on/supersede https://github.com/xamarin/xamarin-macios/pull/5733
Fix https://github.com/xamarin/xamarin-macios/issues/4170
2019-05-23 09:51:42 -05:00
Rolf Bjarne Kvinge 6228e49554 [tests] Link NUnit/XUnit watchOS extensions.
Makes them much smaller.
2019-05-22 08:13:31 +02:00
Rolf Bjarne Kvinge 2782ad3482 [tests] Fix reporting back to xharness for watchOS NUnit/XUnit tests.
* Choose the first hostname for the HttpTextWriter if there are multiple hosts.
* Open the HttpTextWriter before writing to it.
* Don't overwrite the http writer with another writer immediately after creating it.
* Close the HttpTextWriter when done writing.
* Wait for the HttpTextWriter to complete the final http request before exiting.
2019-05-22 08:13:25 +02:00
Rolf Bjarne Kvinge 3d0398f915 [monotouch-test] Don't go completely overboard when trying to fill the GC's nursery. 2019-05-22 08:13:22 +02:00
Rolf Bjarne Kvinge 99fddda71b Fix whitespace. 2019-05-22 08:13:17 +02:00
Rolf Bjarne Kvinge d2c4e4ac96 [xharness] Rework arm64_32 variations a bit so that they're not always enabled.
We don't want to try to run arm64_32 tests on bots that don't have devices
attached, so make sure they follow the logic of other device tests.
2019-05-22 08:12:56 +02:00
Rolf Bjarne Kvinge 281ea5f97d [xharness] Don't run the mono-native-compat test on ARM64_32.
ARM64_32 only supports the unified native mode.
2019-05-22 08:12:14 +02:00
Rolf Bjarne Kvinge c870d3303d [tests][mtouch] Adjust Xamarin.Tests.ProductTests.MinOSVersion for watchOS/arm64_32 slices. 2019-05-22 08:12:10 +02:00
Rolf Bjarne Kvinge 5cab1e8d57 [tests][mtouch] Adjust minOS version test for arm64_32. 2019-05-22 08:12:06 +02:00
Rolf Bjarne Kvinge 4fe3ce9ae9 [monotouch-test] LLVM's too smart for our tests, so ignore Symbols.FunctionNames when LLVM is enabled. 2019-05-22 08:12:03 +02:00
Rolf Bjarne Kvinge ab37943c84 [tests][mtouch] Add abi/architecture tests for arm64_32. 2019-05-22 08:11:59 +02:00
Rolf Bjarne Kvinge af1a8db426 [monotouch-test] Adjust for arm64_32 abi. 2019-05-22 08:11:56 +02:00
Rolf Bjarne Kvinge e4d01fee7f [introspection] ARM64_32 adjustments. 2019-05-22 08:11:52 +02:00
Rolf Bjarne Kvinge 969c8b8251 [xharness] Don't add Debug variations for arm64_32, we don't support it yet. 2019-05-22 08:11:44 +02:00
Rolf Bjarne Kvinge 4e9b69e870 [xharness] Add ARM64_32 support. 2019-05-22 08:06:44 +02:00
Bernhard Urban d26208422c [mtouch] Add support for arm64_32 2019-05-22 08:04:50 +02:00
monojenkins a07ee9a973 [xharness] 'Skipped' really meant 'DeviceNotFound', so rename things to avoid confusion. (#6070) 2019-05-17 14:47:51 -07:00
monojenkins 987c309647 [xharness] Don't run monotouch-test/interpreter for now. (#6071)
Works around https://github.com/xamarin/maccore/issues/1613.
2019-05-17 14:47:08 -07:00
monojenkins d62978945d [d16-2] [linker] Add the custom attributes removal step as an configurable optimization. Fix #3655 (#6058)
This allows the optimization to be disabled in cases where one, or
many, a custom attribute(s) are required by the application at runtime.

While not ideal disabling this single step is much better than disabling
linking for the whole application.

A better approach is described in https://github.com/xamarin/xamarin-macios/issues/6048
but this configuration optimization makes sense independently of it.

Fix https://github.com/xamarin/xamarin-macios/issues/3655
2019-05-16 16:55:10 -05:00
monojenkins 71334a51b3 [VSTS] Ensure that the corrent tests are run on devices. (#6052)
The change allows to state the tests that have to be ran. ATM with these
changes, the vsts pipeline must add the following to the env vars:

* tvOS device pipelines: Must add run-tvos-tests to the labels.
* iOS device pipelines: Must add run-ios-tests to the labels.

This will ensure that only the tests for the devices are ran and if the
tests pass we get a green build with no unexpected skips.
2019-05-16 12:57:45 -07:00
monojenkins daf5006281 [d16-2] [msbuild] Add reference to `System.Drawing.Common.dll` to XI projects. (#6035)
* [msbuild] Add reference to `System.Drawing.Common.dll` to XI projects.

Fixes https://github.com/mono/mono/issues/13483 :

```
@akoeplinger: Since we moved types from Mono.Android.dll and
Xamarin.iOS/WatchOS/TVOS.dll to System.Drawing.Common.dll user projects
would fail to compile. We need to add some msbuild logic to add a
reference to the assembly automatically.
```

* [msbuild] Implement the same fix for XM projects as well.

* [msbuild] Update Xamarin.iOS.Tasks.TargetTests.GetReferencedAssemblies_* tests.

We're including a new assembly, which means the
Xamarin.iOS.Tasks.TargetTests.GetReferencedAssemblies_* must be updated
accordingly.

Also modify these tests so that test assert that fails lists the actual
assembly that's missing, i.e. instead of this:

    1) Test Failure : Xamarin.iOS.Tasks.TargetTests.GetReferencedAssemblies_Executable
         #1
      Expected: 6
      But was:  7

we now print:

    1) Test Failure : Xamarin.iOS.Tasks.TargetTests.GetReferencedAssemblies_Executable
         References
      Expected: equivalent to < "mscorlib.dll", "MyLibrary.dll", "System.Core.dll", "System.dll", "System.Xml.dll", "Xamarin.iOS.dll" >
      But was:  < "mscorlib.dll", "MyLibrary.dll", "System.Core.dll", "System.dll", "System.Drawing.Common.dll", "System.Xml.dll", "Xamarin.iOS.dll" >

* [tests] Adjust Xamarin.MMP.Tests.AssemblyReferencesTests.ShouldNotAllowReference_ToSystemDrawing.

The test was verifying that referencing System.Drawing.dll and trying to use
System.Drawing.RectangleF would fail to compile (because System.Drawing.dll
shouldn't be resolved in this case).

The addition of System.Drawing.Common.dll breaks this assumption, because now
we ship System.Drawing.RectangleF, so the code that was supposed to fail to
compile works just fine instead.

So modify the test to verify that there's no System.Drawing.dll in the final
bundle.

* Remove workarounds for mono/mono#13483.

* [msbuild] Create a way out if automatically referencing System.Drawing.Common.dll causes problems.

* [msbuild] Adjust variable name and boolean logic according to review.
2019-05-10 16:16:01 +02:00
Rolf Bjarne Kvinge 55df161d6a Merge remote-tracking branch 'origin/d16-2' into xharness-old-simulators-d16-2 2019-05-09 21:44:26 +02:00
monojenkins f5561c2a24 [xharness] Fix finding labels in pull requests. (#6025)
Looks like this regressed in
61bf0db817 (diff-b01110f512ec4a442e37213063a11758R39);
since then no manual labels have been applied to test runs in public jenkins.
2019-05-09 21:44:07 +02:00
Rolf Bjarne Kvinge 5cb3554518 [introspection] A few tweaks for iOS 8.1 / tvOS 9.0 / watchOS 2.0. 2019-05-09 13:24:43 +02:00
Rolf Bjarne Kvinge f53f602590 [xharness] Don't throw NRE if a simulator doesn't exist.
We automatically create simulators when needed, but it won't work if the
simulator runtime isn't installed. So handle the case where a test might not
have a simulator to execute in correctly.
2019-05-09 13:23:52 +02:00
Rolf Bjarne Kvinge 80d69516ae [xharness] Group simulator tasks by simulator UDID instead of platform.
Since we may have multiple simulators for each platform now.
2019-05-09 13:23:49 +02:00
Rolf Bjarne Kvinge beb60f2439 [xharness] Make old simulator tests opt-in by using a github label. 2019-05-09 13:23:45 +02:00
Rolf Bjarne Kvinge d69bd7f37f [xharness] Verify that tasks can be run in aggregated mode.
If tasks can't be run (because there aren't any available simulators), then
the task will now fail gracefully with a useful failure message.
2019-05-09 13:23:38 +02:00
Rolf Bjarne Kvinge f7796e1eee [xharness] Add support for running tests with the earliest possible simulator, and use it for introspection tests. 2019-05-09 13:23:34 +02:00
monojenkins 42154df8f3 [sampletester] Bump prebuilt-apps hash. (#6017)
Bump prebuilt-apps hash to get fix for https://github.com/xamarin/prebuilt-apps/pull/31.
2019-05-09 06:29:39 +02:00
Rolf Bjarne Kvinge 7b390683d2
Merge pull request #5966 from monojenkins/backport-pr-5963-to-d16-2
[d16-2] Fix/improve marshalling of out/ref parameters, arrays, Classes and Selectors. Fixes #5171.
2019-05-06 07:27:56 +02:00
monojenkins 2d82bd6c68 [tests] Fix another race condition in the MT5211 mtouch test. Fixes xamarin/maccore#1584. (#5973)
This is the second part to 9882746e37.

Fixes https://github.com/xamarin/maccore/issues/1584.
2019-05-01 13:12:51 -04:00
Rolf Bjarne Kvinge e25cd8d160 [tests] Add missing file to the mac binding test project. 2019-04-30 14:29:24 +00:00
Rolf Bjarne Kvinge d999df146f [tests] Add missing framework to the bindings-framework-test project's LinkWith attribute.
Fixes this test:

    Xamarin.MTouch.AppAndExtensionWithBindingFramework: Expected execution to succeed, but exit code was 1, and there were 2 error(s): build app
        error MT5210: Native linking failed, undefined symbol: _CLLocationCoordinate2DMake. Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in.
        error MT5202: Native linking failed. Please review the build log.
2019-04-30 14:29:24 +00:00
Rolf Bjarne Kvinge d6aa896f03 [tests] Add tests for failing to marshal from managed array to NSArray, 2019-04-30 14:29:24 +00:00
Rolf Bjarne Kvinge e3bafafff0 [tests] Add tests for out/ref parameters. 2019-04-30 14:29:24 +00:00
Rolf Bjarne Kvinge 6c3674658a
Download the Mono SDK archive for macOS as well. (#5953)
* Download the Mono SDK archive for macOS as well.

* [tests] Don't forget the tests.
2019-04-26 16:44:29 +02:00
Rolf Bjarne Kvinge c8ed014af7
[runtime] Improve exception creation. (#5944)
* [runtime] Add an inner exception parameter to Runtime.CreateProductException.

This allows us to simplify code by using inner (and outer) exceptions as
a means to provide information instead of passing extra information
around in order to create decent exceptions.

One example is how we pass the selector and method name to the method
that converts from a native id to a managed NSObject instance: passing
this information is not necessary anymore if we can use two exceptions,
one for the failure to convert from an id to a NSObject instance,
wrapped in a second that tells which method/selector call ran into this
conversion problem.

* [runtime] Throw better exceptions when the dynamic registrar can't marshal something.

* [runtime] Throw a better exception when something goes wrong when trying to marshal a return value.

* [runtime] Use inner exceptions to convey failure information instead of trying to create a single exception with all we know.

* Fix merge problem.
2019-04-26 11:16:23 +02:00
Alexander Köplinger 7f717f01ae
Merge pull request #5563 from xamarin/mono-2019-02
Bump to mono:2019-02
2019-04-25 19:24:35 +02:00
Manuel de la Pena 56ae1da5b9
[XHarness] Allow to ignore the iOS 32 tests and show the devices that are connected.
Two changes to improve CI:

1. List the devices connected to the bot.
2. Allow to ignore the 32 devices.
2019-04-25 17:38:10 +02:00
Rolf Bjarne Kvinge bd457212d5
[tests] Add sample tester. (#5870)
* [tests] Add sample tester.

Add a unit project that looks for iOS/macOS/tvOS sample projects in several
repositories, and builds them all.

* [tests][sampletester] Remove known issue which has now been fixed.

* [tests] Only run sample tests on CI in Azure Devops.

* Remove the possibility of automatically running the sample tests with
  xharness (so the sample tests won't run on PR bots or internal bots when the
  'run-all-tests' label is added). It's still possible to run the sample tests
  manually from the xharness web UI.

* Automatically trigger the sample test run in Azure Devops if the
  'run-sample-tests' label is applied to a PR (and that PR is executed on
  internal Jenkins).

* Fix typo.

* Fix path.

* Verbose output to track down scheduling failure.

* Bump maccore to get improved debug spew.

Diff: f527c9c526..f89d74b165

* [tests][sampletester] Fix build for TodoWCF.
2019-04-25 17:18:43 +02:00
Sebastien Pouliot d988124684
Remove private API (#5915)
* [pdfkit] Remove private API

* [vision] Remove VNRequest preferredMetalContext API and add API compatibility stub

Looks like it was removed between iOS 11 beta 4 and 5
http://codeworkshop.net/objc-diff/sdkdiffs/ios/11.0b5/Vision.html

* [gameplaykit] Do not expose selector for 'RemoveData'

* [cloudkit] Remove selector from deprecated 'UsesBackgroundSession' API

* [metalperformanceshaders] Remove private API

* [gamekit] Remove private API

* [avfoundation] Replace AVAssetResourceLoadingRequest 'finished' by 'isFinished'

Apple now reject the original (iOS 6) `finished` selector - even if its
replacement `isFinished` is not available until iOS 7.

* [corebluetooth] 'Primary' and 'UUID' are not mutable

This was not documented (or mis-documented in earlier macOS docs) and
the API are now replaced with empty stubs to maintain binary
compatibility with existing code.

* [coreanimation] Remove CAEmitterBehavior 'initWithType:' and 'behaviorWithType:' API

Corresponding headers were removed in Xcode 9 without any explanation
rdar #33590997 was filled - no news
'initWithType:' and 'behaviorWithType:' API now cause rejection
Tracked in https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals

* [uikit] Remove (macOS only) API from NSLayoutManager (on other platforms)
2019-04-25 10:16:22 -04:00
Manuel de la Pena 4745a438b2
[VSTS] Do not set the tests that have to be ran, use a new env arg to be set in the VSTS job. (#5948) 2019-04-25 12:06:47 +02:00
Rolf Bjarne Kvinge 9882746e37 [tests] Fix race condition in the MT5211 mtouch test.
We build for both armv7 and arm64, and the failure we're looking for can
happen with either architecture. The order in which the architectures are
built is random, and mtouch will fail once the first error occurs, which means
that we can't assert that the failure comes from the arm64 build, since the
armv7 build might have been executed first (and triggered the error).

So just don't assert that the expected error message contains the
architecture, which makes the assert valid for both armv7 and armv64.
2019-04-25 09:05:49 +02:00
Alexander Köplinger 99ea097abf Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-04-24 23:28:00 +02:00
Rolf Bjarne Kvinge bf3b45973e
[MetalPerformanceShaders] MPSImageNormalizedHistogram isn't available in iOS 11 as the headers claim. (#5942)
A simple test revels the truth:

    dyld: Symbol not found: _OBJC_CLASS_$_MPSImageNormalizedHistogram
      Referenced from: /var/containers/Bundle/Application/4DA44899-5F1D-4BF9-9C2E-B26982AE89F1/uistestappobjc.app/uistestappobjc
      Expected in: /System/Library/Frameworks/MetalPerformanceShaders.framework/MetalPerformanceShaders
     in /var/containers/Bundle/Application/4DA44899-5F1D-4BF9-9C2E-B26982AE89F1/uistestappobjc.app/uistestappobjc

This fixes this test failure on iOS 11:

    [FAIL] MPSImageNormalizedHistogramTests.Constructors : ObjCRuntime.RuntimeException : Wrapper type 'MetalPerformanceShaders.MPSImageNormalizedHistogram' is missing its native ObjectiveC class 'MPSImageNormalizedHistogram'.
2019-04-24 06:38:10 +01:00
Rolf Bjarne Kvinge df85569d23
[runtime] Rename CallState to XamarinCallState to keep the public namespace cleaner. (#5940)
Also ignore the corresponding public symbols in the PublicSymbols test.

This was introduced in 464882d14a (changes to
the CallState struct made the compiler create public symbols).

Fixes these test failures:

    1) Failed : Xamarin.Tests.Misc.PublicSymbols(iOS)
      Failed libraries
      Expected: <empty>
      But was:  "/work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphoneos.sdk/usr/lib/libxamarin-debug.a:
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    /work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib/libxamarin-debug.a:
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    "
      at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196

    2) Failed : Xamarin.Tests.Misc.PublicSymbols(tvOS)
      Failed libraries
      Expected: <empty>
      But was:  "/work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.AppleTVOS.sdk/usr/lib/libxamarin-debug.a:
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    /work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.AppleTVSimulator.sdk/usr/lib/libxamarin-debug.a:
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    "
      at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196

    3) Failed : Xamarin.Tests.Misc.PublicSymbols(watchOS)
      Failed libraries
      Expected: <empty>
      But was:  "/work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchOS.sdk/usr/lib/libxamarin-debug.a:
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    /work/maccore/master/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/SDKs/Xamarin.WatchSimulator.sdk/usr/lib/libxamarin-debug.a:
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    "
      at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196

    4) Failed : Xamarin.Tests.Misc.PublicSymbols(macOSMobile)
      Failed libraries
      Expected: <empty>
      But was:  "/work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac-debug.a:
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    /work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac-system-debug.a:
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    /work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac-system.a:
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    /work/maccore/master/xamarin-macios/_mac-build/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/lib/libxammac.a:
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    	__ZN9CallState3selEv
    	__ZN9CallState4selfEv
    	__ZN9CallState8is_stretEv
    "
      at Xamarin.Tests.Misc.PublicSymbols (Xamarin.Tests.Profile profile) [0x00259] in /work/maccore/master/xamarin-macios/tests/mtouch/MiscTests.cs:196
2019-04-23 16:53:35 +01:00
Rolf Bjarne Kvinge 09701f4c19
[tests] Fix bgen test to compile by adding missing using. (#5932) 2019-04-23 16:26:38 +01:00
Rolf Bjarne Kvinge adb57537b5
[bgen] Show an error if trying to bind an array of selectors. (#5923) 2019-04-23 06:29:03 +01:00
Rolf Bjarne Kvinge 66ba411303 [UIKit] Don't crash if UIGestureRecognizer.Dispose is called multiple times. Fixes #5899. (#5921)
Fixes https://github.com/xamarin/xamarin-macios/issues/5899.
2019-04-22 15:52:06 -05:00
Alexander Köplinger 8ed5e3926a bcl-test-importer: Add three more unit test assemblies 2019-04-17 14:58:49 +02:00
Alexander Köplinger dbbc954447 Reenable tests that were fixed 2019-04-17 11:30:41 +02:00
Alexander Köplinger 0da0bcaaae Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-04-17 11:29:35 +02:00
Alexander Köplinger 9bd927bb7f Workaround https://github.com/xamarin/xamarin-macios/issues/5760 in generator csproj 2019-04-16 17:59:23 +02:00
Alexander Köplinger cf8d42e4c0 [testgenerator] Fix generated decimal values when separator isn't point
E.g. in German the decimal separator is comma which makes the generated C# invalid.

Fix by always doing culture invariant ToString().
2019-04-16 12:32:01 +02:00
William Kent dc8e07f678 Add macOS Xcode archive support (#5862)
* Initial commit of ArchiveTaskBase for macOS

* Fix namespace

* Add concrete Archive task

* Add Archive target to Xamarin.Mac.Common.targets

* Remove TODOs for non-applicable items

* Add more properties to archive Info.plist

* Add more parameters to Archive task

* Set the ArchiveDir output parameter

* Move ITunesSourceFiles parameter

* Add test

* Fix msbuild mistakes preventing archive from working

* Reorder ApplicationProperties to be at top like iOS

* Add note

* Improve error handling

* Fix archive to be loadable in Xcode

* 4 spaces to tabs

* More space -> tab
2019-04-15 15:20:18 -05:00
Alexander Köplinger 455af1ccc1 Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-04-15 15:05:36 +02:00
Rolf Bjarne Kvinge dd239ce1ff Merge remote-tracking branch 'origin/master' into bgen-inprocess-tests 2019-04-12 15:32:24 +02:00
Alexander Köplinger 1cdf2ac3a8 Revert "[XHarness] Update ignore for some failing tests. (#5887)"
This reverts commit a3ad78c937.

It was fixed in mono 2019-02.
2019-04-11 20:31:48 +02:00
Alexander Köplinger db86c8cc88 Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-04-11 20:28:57 +02:00
Rolf Bjarne Kvinge 9713bea70e
[tests][mono-native] Adjust logic which is causing tests to fail on tvOS. (#5877)
Fixes this when running on tvOS using dylibs:

> [FAIL] Introspection.CheckSymbols : dlsym() not found mono_native_initialize()

Now:

* If on iOS, we'll always have the `mono_native_initialize` symbol, because the symbol is used in P/Invoke in a user assembly (the test assembly itself), and mtouch will make the AOT-compiled code use dlsym for P/Invokes in user assemblies (and when using dlsym we can't (native) strip away the symbol).
* If on watchOS or tvOS, we'll have the symbol when we're loading `mono_native_initialize` from a dylib. If loading `mono_native_initialize` from a static library, we can (native) strip away the symbol because mtouch will make the AOT-compiled P/Invoke use a static reference to the native symbol, and thus the `mono_native_initialize` symbol will not be present in the executable.
2019-04-11 19:41:25 +02:00
Manuel de la Pena a3ad78c937
[XHarness] Update ignore for some failing tests. (#5887)
The mono bump added some new tests that fail on device + release
configurations. This is a known issue by mono and they'll fix it in the
next version but will not be backported to 2018-10.
2019-04-11 17:20:55 +02:00
Rolf Bjarne Kvinge 09f3fce5f2 [tests][bgen] Capture stdout/stderr per thread.
Otherwise tests running in parallel interfere with the output of eachother.
2019-04-11 08:35:21 +02:00
Rolf Bjarne Kvinge 3d9826ae5f [tests][bgen] Specify an output assembly for tests, so that we don't use the current directory.
Using the current directory won't work for in-process bgen tests.
2019-04-11 08:34:36 +02:00
Rolf Bjarne Kvinge ff82af4576 [bgen] Make it possible to run the tests using an in-process generator.
This means referencing the generator project, and create an array of the
arguments (since Main takes an array of strings) instead of a quoted string.
2019-04-11 08:32:58 +02:00
Alexander Köplinger 3029a43b1a Merge remote-tracking branch 'upstream/master' into mono-2019-02
# Conflicts:
#	external/mono
2019-04-10 20:53:19 +02:00
Rolf Bjarne Kvinge 06426bd7a0
[Foundation] Improve/fix NSRegularExpression and NSDataDetector bindings. Fixes #5881. (#5882)
* NSDataDetector

    * Add constructor found in header. No idea where the commented-out
      constructor came from, it's not in the header, so I removed it.
    * Add overloads that take NSTextCheckingType in addition to
      NSTextCheckingTypes. Apple's API take NSTextCheckingTypes, but all the
      documentation and samples say that you're supposed to pass one or more
      or'ed NSTextCheckingType values, so support that as well without casting
      between enums.

* NSRegularExpression

    * GetMatches had the wrong return type, so add a GetMatches2 that does it
      right. Also add a test to make sure it's really right.
    * Bind 'regularExpressionWithPattern:options:error:' with a static method.
      There's a corresponding constructor, but constructors returning out
      NSError parameters isn't the nicest API (when the NSError is important),
      so add the static method as well.
    * Add a missing [NullAllowed] on FindFirstMatch's return value.

* NSRegularExpressionOptions

    * Add missing enum value.

Fixes https://github.com/xamarin/xamarin-macios/issues/5881.
2019-04-10 15:12:24 +02:00
Alexander Köplinger e42e1e8fce Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-04-09 21:06:44 +02:00
Rolf Bjarne Kvinge 1d4e434eb5
[tests][test-libraries] Fix struct declarations to not create symbols everywhere. (#5876)
This fixes a build problem with the interdependent-binding-projects test:

    clang : error : linker command failed with exit code 1 (use -v to see invocation) [.../tests/xharness/tmp-test-dir/interdependent-binding-projects2601/interdependent-binding-projects-tvos.csproj]
    MTOUCH : error MT5212: Native linking failed, duplicate symbol: '_Sssss'. [.../tests/xharness/tmp-test-dir/interdependent-binding-projects2601/interdependent-binding-projects-tvos.csproj]
    MTOUCH : error MT5212: Native linking failed, duplicate symbol: '_Ssss'. [.../tests/xharness/tmp-test-dir/interdependent-binding-projects2601/interdependent-binding-projects-tvos.csproj]
    MTOUCH : error MT5212: Native linking failed, duplicate symbol: '_Sss'. [.../tests/xharness/tmp-test-dir/interdependent-binding-projects2601/interdependent-binding-projects-tvos.csproj]
2019-04-09 14:34:51 +02:00
Alexander Köplinger 3a398ee5dd [System.Net.Http] Set LEGACY_HTTPCLIENT for test project
Otherwise a bunch of tests that assume the new behavior fail.
2019-04-09 12:11:07 +02:00
Manuel de la Pena c9b834ddaa
[XHarness] Use better names for BCL watchOS tests. (#5867)
Ensure we do not use the target dir because that does not represent the
name of the test because it is shared by all of them.

Fixes https://github.com/xamarin/xamarin-macios/issues/5157
2019-04-08 19:22:22 +02:00
Chris Hamons d98c22e39f
[mmp] Don't apply libintl hack when you explicitly ask for that file (#5855)
- A long while ago, this hack was added to mmp:

 	// Shutup the warning until we decide on bug: 36478
	if (shortendName.ToLowerInvariant () == "intl" && IsUnifiedFullXamMacFramework)

- This breaks use cases were we explicitly ask for that file, so let's
fix that for now until we can fix the root cause for real
2019-04-08 10:26:23 -05:00
Sebastien Pouliot 1664cf6426 Merge branch 'master' into mono-2019-02 2019-04-05 15:53:37 -05:00
Manuel de la Pena 9cd5fd4ba2 [XHarness] Fix the generation of the fsharp today sln. (#5860)
Because we are missing a separator, the comparison results in a true,
when it is a substring BUT NOT in the same path.
2019-04-05 15:42:41 -05:00
Manuel de la Pena 2326e87bd5 [XHarness] Ignore tests that fail on device. (#5858) 2019-04-05 15:42:01 -05:00
Sebastien Pouliot f5f3892825 [tests][intro] Fix post xcode10.2 merge (since reflection string output changed) 2019-04-05 14:17:36 -05:00
Sebastien Pouliot fad23e95b2
Small fixlets to select better overloads / unneeded parameters (#5844) 2019-04-05 09:43:22 -05:00
Manuel de la Pena dd11ba5d6c
[XHarness] Fix issues building the today extensions for the BCL tests apps. (#5854) 2019-04-05 14:07:39 +02:00
Alexander Köplinger 067cbf0a28 Merge remote-tracking branch 'upstream/master' into mono-2019-02
# Conflicts:
#	tools/mmp/driver.cs
2019-04-05 11:19:11 +02:00
Manuel de la Pena 3a0dfe42a7
[XHarness] Ignore a failing test on devices. (#5848) 2019-04-04 18:34:22 +02:00
Rolf Bjarne Kvinge 5a2aa0d52f [tests][mtouch] Whitelist a few new public symbols created by clang from Xcode 10.2.
See also: 3a647a6a25
2019-04-04 07:52:26 +02:00
Alexander Köplinger 121bb03627 Merge remote-tracking branch 'upstream/master' into mono-2019-02
# Conflicts:
#	external/mono
2019-04-03 23:54:57 +02:00
Alexander Köplinger 7c73d70b4f [linker] Don't remove RuntimeCompatibilityAttribute from assembly
It's needed at runtime since it changes exception handling behavior.

The "link sdk" Linker_RuntimeWrappedException() test relies on it,
but this never showed up there since "link sdk" doesn't link the main assembly.
2019-04-03 23:52:18 +02:00
Vincent Dondain 86d1b42ad2 Merge branch 'xcode10.2' into master-merge-xcode10.2 2019-04-03 13:57:31 -04:00
Manuel de la Pena 411d673ead
[XHarness] Fix IntermediateOutputPath getting inserted in the wrong place. (#5841) 2019-04-03 17:29:07 +02:00
Rolf Bjarne Kvinge dda50a78c4
[Foundation] Make adding/removing observers in NSNotificationCenter thread safe. (#5833)
NSNotificationCenter is thread-safe, so that observers can be added and
removed in multiple threads simultaneously.

Unfortunately our own helper code wasn't, so make sure to fix that by locking
around all accesses to the observer list.

And add a test case as well.
2019-04-03 11:45:11 +02:00
Sebastien Pouliot 56d87eebba [linker] Adjust HttpClientHandler selection with the new (non BCL) location of the handlers 2019-04-01 21:24:24 -05:00
Sebastien Pouliot a9f8d7b379
[mtouch][mmp] Add control over the the linker new `BeforeFieldInit` optimization (#5820)
Add an mtouch/mmp optimization flag to control this new optimization since
3rd party code (in particular binaries) might depend on this side effect.
2019-04-01 21:21:56 -05:00
Sebastien Pouliot 9ebebf9f42
[linker] Teach linker to accept old (before optimization) bindings (#5823)
Existing binding binaries won't have the `[Preserve]` attribute on
the `Handler` field and, with the new optimization, would not work
properly.

This tweak make sure that older, already linker-safe, bindings will
remain this way (safe) in this (and future) versions of both iOS and
macOS SDK.
2019-04-01 09:35:14 -05:00
Alexander Köplinger 09dfd96bfd Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-03-29 11:10:17 +01:00
Alexander Köplinger e142ee7a57 [xharness] Display test assemblies contained in a BCL test group (#5814)
* [xharness] Display test assemblies contained in a BCL test group

* PR feedback
2019-03-29 10:17:39 +01:00
Vincent Dondain eb73f3ce6e
[xharness] Fix BuildOnly logic (#5813)
https://github.com/xamarin/xamarin-macios/pull/4884 introduced the logic of only building certain `RunTestTask`.
This was meant to disable iOS Extensions as part of a fix to https://github.com/xamarin/maccore/issues/1008.
However this didn't quite work and iOS extensions were still running (and failing).
The reason being that `BuildOnly` was set to a `RunDeviceTask` that's added to a list which is then given to `CreateTestVariations` which creates new instances of `RunDeviceTask`.
We now propagate `BuildOnly` to the new variation instance.
2019-03-28 09:23:40 -04:00
Alexander Köplinger 56bb4f9505 Reenable more BCLTests 2019-03-28 11:16:47 +01:00
Alexander Köplinger d91769a5a3 Fix two mmp/mtouch tests after the mcs->csc default change 2019-03-28 00:16:53 +01:00
Alexander Köplinger b1b557a1b9 Reenable a few BCLTests 2019-03-27 13:33:23 +01:00
Alexander Köplinger bcae65f998 MTouch: Always add GSS framework when mono-native is used
According to Rolf it's fine to always add since the native linker will
figure out if it's really needed and so customers don't need to do
anything when using -all_load.
2019-03-27 11:14:53 +01:00
Vincent Dondain 9c8d8e0a50 Bump for Xcode 10.2 final (#5808)
* Bump for Xcode 10.2 final

* Bump macios-binaries so mlaunch works on 10.14.4

* [appkit] Update for Xcode 10.2 final

* [mps] Update for Xcode 10.2 final

* Bump maccore for swift5 runtime support on older macOS versions

* [AppKit] Ignore deprecated API

* [tests] Don't test QTMovie, it's broken (crashes).

QTKit is deprecated (and has been for 5 years), so just don't test QTMovie.

Fixes these crashes:

apitest:

    ***** DelegateAndDataSourceAllowsNull
    Stacktrace:

      at <unknown> <0xffffffff>
      at (wrapper managed-to-native) ObjCRuntime.Messaging.IntPtr_objc_msgSend (intptr,intptr) [0x0000a] in <e8e733c9728c43cba731719f096ad306>:0
      at QTKit.QTMovie..ctor () [0x00018] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/QTKit/QTMovie.g.cs:330
      at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <3ad39e28642b49d2a535a565e6bf6837>:0
      at <unknown> <0xffffffff>
      at (wrapper managed-to-native) System.Reflection.MonoCMethod.InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&) [0x00016] in <3ad39e28642b49d2a535a565e6bf6837>:0
      at System.Reflection.MonoCMethod.InternalInvoke (object,object[],bool) [0x00005] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/mcs/class/corlib/System.Reflection/MonoMethod.cs:667
      at System.Reflection.MonoCMethod.DoInvoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x0007a] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/mcs/class/corlib/System.Reflection/MonoMethod.cs:657
      at System.Reflection.MonoCMethod.Invoke (System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/mcs/class/corlib/System.Reflection/MonoMethod.cs:689
      at System.Reflection.ConstructorInfo.Invoke (object[]) [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/mcs/class/corlib/System.Reflection/ConstructorInfo.cs:62
      at Xamarin.Mac.Tests.DelegateAndDataSourceTest.DelegateAndDataSourceAllowsNull () [0x00110] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/apitest/src/DelegateAndDataSourceTest.cs:65
      at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <3ad39e28642b49d2a535a565e6bf6837>:0
      at <unknown> <0xffffffff>
      at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <3ad39e28642b49d2a535a565e6bf6837>:0
      at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x0003b] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/mcs/class/corlib/System.Reflection/MonoMethod.cs:305
      at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229
      at NUnit.Framework.Internal.Reflect/<>c__DisplayClass9_0.<InvokeMethod>b__0 () [0x00000] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/guiunit/src/framework/Internal/Reflect.cs:226
      at GuiUnit.InvokerHelper.Invoke () [0x0000e] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/guiunit/src/framework/GuiUnit/InvokerHelper.cs:18
      at Foundation.NSActionDispatcher.Apply () [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/Foundation/NSAction.cs:62
      at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <3ad39e28642b49d2a535a565e6bf6837>:0
      at <unknown> <0xffffffff>
      at (wrapper managed-to-native) ObjCRuntime.Messaging.void_objc_msgSend (intptr,intptr) [0x0000a] in <e8e733c9728c43cba731719f096ad306>:0
      at AppKit.NSApplication.Run () [0x00012] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/AppKit/NSApplication.g.cs:2253
      at Xamarin.Mac.Tests.MainClass/NSRunLoopIntegration.RunMainLoop () [0x00001] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/common/mac/MacTestMain.cs:79
      at GuiUnit.TestRunner.ExecuteWithListener (string[],NUnitLite.Runner.TcpWriter) [0x0036f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/guiunit/src/framework/GuiUnit/TestRunner.cs:234
      at GuiUnit.TestRunner.Execute (string[]) [0x00093] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/guiunit/src/framework/GuiUnit/TestRunner.cs:137
      at GuiUnit.TestRunner.Main (string[]) [0x00001] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/guiunit/src/framework/GuiUnit/TestRunner.cs:71
      at Xamarin.Mac.Tests.MainClass.RunTests (string[]) [0x000a9] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/common/mac/MacTestMain.cs:56
      at Xamarin.Mac.Tests.MainClass.Main (string[]) [0x00007] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/common/mac/MacTestMain.cs:35
      at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <4c10f2ab239246ba9514b976defa64c7>:0

    Native stacktrace:

    	0   apitest                             0x000000010c40b388 mono_handle_native_crash + 264
    	1   apitest                             0x000000010c388dd6 altstack_handle_and_restore + 70
    	2   CoreFoundation                      0x00007fff3b6f260b CFStringGetCString + 43
    	3   QTKit                               0x00007fff457b6542 __51-[QTKitServerController startUsingServerForObject:]_block_invoke + 1238
    	4   libdispatch.dylib                   0x00007fff67b4e63d _dispatch_client_callout + 8
    	5   libdispatch.dylib                   0x00007fff67b5a129 _dispatch_lane_barrier_sync_invoke_and_complete + 60
    	6   QTKit                               0x00007fff457b5f7a -[QTKitServerController startUsingServerForObject:] + 179
    	7   QTKit                               0x00007fff457ac602 -[QTMovie_QuickTime initWithError:forParent:] + 98
    	8   QTKit                               0x00007fff456f55b9 -[QTMovie initWithError:] + 59
    	9   apitest                             0x000000010c31fbe9 xamarin_dyn_objc_msgSend + 217
    	10  ???                                 0x0000000112791d05 0x0 + 4604894469
    	11  apitest                             0x000000010c41f659 mono_jit_runtime_invoke + 1433
    	12  apitest                             0x000000010c51a4df mono_runtime_invoke_checked + 127
    	13  apitest                             0x000000010c522e70 mono_runtime_try_invoke_array + 1856
    	14  apitest                             0x000000010c4be091 ves_icall_InternalInvoke + 657
    	15  ???                                 0x0000000111abe261 0x0 + 4591444577
    	16  ???                                 0x0000000114249463 0x0 + 4632908899

    =================================================================
    Got a SIGSEGV while executing native code. This usually indicates
    a fatal error in the mono runtime or one of the native libraries
    used by your application.
    =================================================================

    1 failing types:
    QTKit.QTMovie: Object reference not set to an instance of an object

introspection:

    ***** ApiCtorInitTest.DefaultCtorAllowed
    Stacktrace:

      at <unknown> <0xffffffff>
      at (wrapper managed-to-native) ObjCRuntime.Messaging.IntPtr_objc_msgSend (intptr,intptr) [0x0000a] in <e8e733c9728c43cba731719f096ad306>:0
      at QTKit.QTMovie..ctor () [0x00018] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/QTKit/QTMovie.g.cs:330
      at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <3ad39e28642b49d2a535a565e6bf6837>:0
      at <unknown> <0xffffffff>
      at (wrapper managed-to-native) System.Reflection.MonoCMethod.InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&) [0x00016] in <3ad39e28642b49d2a535a565e6bf6837>:0
      at System.Reflection.MonoCMethod.InternalInvoke (object,object[],bool) [0x00005] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/mcs/class/corlib/System.Reflection/MonoMethod.cs:667
      at System.Reflection.MonoCMethod.DoInvoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x0007a] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/mcs/class/corlib/System.Reflection/MonoMethod.cs:657
      at System.Reflection.MonoCMethod.Invoke (System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/mcs/class/corlib/System.Reflection/MonoMethod.cs:689
      at System.Reflection.ConstructorInfo.Invoke (object[]) [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/mcs/class/corlib/System.Reflection/ConstructorInfo.cs:62
      at Introspection.ApiCtorInitTest.DefaultCtorAllowed () [0x000f0] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/introspection/ApiCtorInitTest.cs:267
      at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <3ad39e28642b49d2a535a565e6bf6837>:0
      at <unknown> <0xffffffff>
      at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <3ad39e28642b49d2a535a565e6bf6837>:0
      at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x0003b] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/mcs/class/corlib/System.Reflection/MonoMethod.cs:305
      at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229
      at NUnit.Framework.Internal.Reflect/<>c__DisplayClass9_0.<InvokeMethod>b__0 () [0x00000] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/guiunit/src/framework/Internal/Reflect.cs:226
      at GuiUnit.InvokerHelper.Invoke () [0x0000e] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/guiunit/src/framework/GuiUnit/InvokerHelper.cs:18
      at Foundation.NSActionDispatcher.Apply () [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/Foundation/NSAction.cs:62
      at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <3ad39e28642b49d2a535a565e6bf6837>:0
      at <unknown> <0xffffffff>
      at (wrapper managed-to-native) ObjCRuntime.Messaging.void_objc_msgSend (intptr,intptr) [0x0000a] in <e8e733c9728c43cba731719f096ad306>:0
      at AppKit.NSApplication.Run () [0x00012] in /Library/Frameworks/Xamarin.Mac.framework/Versions/5.4.0.70/src/Xamarin.Mac/AppKit/NSApplication.g.cs:2253
      at Xamarin.Mac.Tests.MainClass/NSRunLoopIntegration.RunMainLoop () [0x00001] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/common/mac/MacTestMain.cs:79
      at GuiUnit.TestRunner.ExecuteWithListener (string[],NUnitLite.Runner.TcpWriter) [0x0036f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/guiunit/src/framework/GuiUnit/TestRunner.cs:234
      at GuiUnit.TestRunner.Execute (string[]) [0x00093] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/guiunit/src/framework/GuiUnit/TestRunner.cs:137
      at GuiUnit.TestRunner.Main (string[]) [0x00001] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/external/guiunit/src/framework/GuiUnit/TestRunner.cs:71
      at Xamarin.Mac.Tests.MainClass.RunTests (string[]) [0x000a9] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/common/mac/MacTestMain.cs:56
      at Xamarin.Mac.Tests.MainClass.Main (string[]) [0x00007] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/common/mac/MacTestMain.cs:35
      at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <83b8b910cba94191a35185713f274e89>:0

    Native stacktrace:

     0   introspection                       0x0000000104e33388 mono_handle_native_crash + 264
     1   introspection                       0x0000000104db0dd6 altstack_handle_and_restore + 70
     2   CoreFoundation                      0x00007fff3b6f260b CFStringGetCString + 43
     3   QTKit                               0x00007fff457b6542 __51-[QTKitServerController startUsingServerForObject:]_block_invoke + 1238
     4   libdispatch.dylib                   0x00007fff67b4e63d _dispatch_client_callout + 8
     5   libdispatch.dylib                   0x00007fff67b5a129 _dispatch_lane_barrier_sync_invoke_and_complete + 60
     6   QTKit                               0x00007fff457b5f7a -[QTKitServerController startUsingServerForObject:] + 179
     7   QTKit                               0x00007fff457ac602 -[QTMovie_QuickTime initWithError:forParent:] + 98
     8   QTKit                               0x00007fff456f55b9 -[QTMovie initWithError:] + 59
     9   introspection                       0x0000000104d47be9 xamarin_dyn_objc_msgSend + 217
     10  ???                                 0x00000001073f6de5 0x0 + 4416564709
     11  introspection                       0x0000000104e47659 mono_jit_runtime_invoke + 1433
     12  introspection                       0x0000000104f424df mono_runtime_invoke_checked + 127
     13  introspection                       0x0000000104f4ae70 mono_runtime_try_invoke_array + 1856
     14  introspection                       0x0000000104ee6091 ves_icall_InternalInvoke + 657
     15  ???                                 0x00000001072bd011 0x0 + 4415279121
     16  ???                                 0x000000010c993d63 0x0 + 4506336611

    =================================================================
    Got a SIGSEGV while executing native code. This usually indicates
    a fatal error in the mono runtime or one of the native libraries
    used by your application.
    =================================================================

    [FAIL] Default constructor not allowed for QTKit.QTMovie : Object reference not set to an instance of an object
2019-03-27 10:51:17 +01:00
Alexander Köplinger 421e673227 Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-03-27 01:33:49 +01:00
Alexander Köplinger f7864d5bfc Fix introspection tests due to new reflection ctor.ToString() format
Mono is now using reflection code from corefx and the string includes namespace now.
2019-03-27 01:28:56 +01:00
Manuel de la Pena 45f3e649b9
Ignore tests for devices (#5807)
* [XHarness] Ignore some tests that fail on device.

Added the ignore, which can be later removed on the new mono 2019-02
since the issues do not happen there.

Fixes: https://github.com/xamarin/maccore/issues/1495

* [XHarness] Ignore corlib tets failing on devices.

Added the required ignores to get the devices green and workaround mono
issue https://github.com/mono/mono/issues/13641
2019-03-26 12:25:23 +01:00
Alexander Köplinger 40a58811bb Fix TestAllLoad() mtouch test 2019-03-25 20:20:10 +01:00
Alexander Köplinger 1079592cd1 tests: Default to using csc instead of mcs 2019-03-25 19:56:27 +01:00
Alexander Köplinger d473217ace Fix LinkSdkRegressionTest
The internal runtime type was renamed: MonoModule -> RuntimeModule, MonoAssembly -> RuntimeAssembly

Also linker got smarter and removed unecessary types for WebKit_NSProxy.
2019-03-22 15:00:15 +01:00
Alexander Köplinger 0e249818d2 Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-03-22 10:32:58 +01:00
Alexander Köplinger c0e85ae6f1 SdkTest.cs: remove known LLVM failures that no longer occur and fix oparglist name
oparglist was renamed to arglist in d5547b1929
2019-03-20 13:12:44 +01:00
Manuel de la Pena 9bb4d2d2d5
[XHarness] Ensure we do not crash if the framework node is missing. (#5792) 2019-03-20 12:49:09 +01:00
Manuel de la Pena 1615b28ed1
[XHarness] Reduce the number of test applications for the BCL tests. (#5768)
This commit improves the state of the BCL testing in the following ways:

1. Improve the device tets running. Less apps, faster results.
2. WatchOS apps are left as they were to ensure that we do not have deplouyment/run issues.

We now support the ignore files per assembly name to simplify the
tracking of the ignored tests. All
2019-03-20 12:10:18 +01:00
Alexander Köplinger 39c61cca88 REVERTME: Add workaround for missing System.Drawing.Common reference 2019-03-20 01:32:48 +01:00
Alexander Köplinger ca76be3bea Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-03-19 16:17:35 +01:00
Sebastien Pouliot 5c321ac89d
[mtouch] Update validations around --interpreter (#5772)
This also centralize other interpreter checks and options in the same
location (making it easier to read / update).

* Warn and switch the REPL if the interpreter is enabled on simulator

Why ? It's confusing to build the same code using different options for
simulator and devices. This is what happens if you try to use features
like `dynamic` or `System.Reflection.Emit`.

So instead of an error, we warn that the interpreter is not supported
and switch to the existing REPL mode.

The JIT remains the only option for the simulator but it allows testing
features without a device.

* Fail early if the interpreter is used on 32bits [1]

The current interpreter only works on 64 bits (so ARM64). However the
error won't be reported, back to the developer, until deployment time.

This temporary [1] fix spot the condition very early and report an error

```
error MT0099 : Internal error : The interpreter is currently only available for 64 bits.
```

instead of the current one at deploy time

```
IncorrectArchitecture: Failed to find matching arch for 32-bit Mach-O input file /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.tNKDlx/extracted/X.app/X
error MT1006: Could not install the application 'X.app' on the device 'Mercure': AMDeviceSecureInstallApplicationBundle returned: 0xe8000087 (kAMDIncorrectArchitectureError).

Application could not be uploaded to the device.
```

[1] https://github.com/mono/mono/issues/9871

* [tests] Fix/renumbered MT0138

The test was using simulator + interpreter which is not _really_
possible, we use REPL in that case - so we're now checking if
assemblies were specified with `--interpreter` to cover both cases.

Also 0138 was already used by `mmp` and the warning was **not**
registered or documented in the errors documents. To avoid
confusion it has been renumbered to 0142 and documented.
2019-03-19 08:22:39 -05:00
Alexander Köplinger 66ebb76e71 Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-03-18 19:24:52 +01:00
Alexander Köplinger 6b7578306c Fix MTouch.MT2018_b and MTouch.MT2018_c tests
mscorlib.dll now has InternalsVisibleTo to System.Net.Http.dll which causes
> Friend access was granted to `System.Net.Http, PublicKeyToken=b03f5f7f11d50a3a', but the output assembly is named `System.Net.Http, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.

Switch to System.Xml.dll instead for these tests.
2019-03-18 19:24:28 +01:00
Rolf Bjarne Kvinge 18b13ac876
[runtime] Use mono_array_setref instead of mono_array_set. (#5782)
* [Foundation] Add an NSArray.FromNSObjects overload that can take an array of INativeObjects.

* [runtime] Use mono_array_setref instead of mono_array_set.

Otherwise the GC won't know about the assignment, and the assigned value can
be freed if it's no longer referenced anywhere else.
2019-03-18 15:00:32 +01:00
Rolf Bjarne Kvinge 45f72fcbbe
[xharness] Remove bitcode from tvOS apps. (#5781)
We don't need the bitcode for testing, it makes test apps bigger (so big that
the Apple TV might refuse to install them).
2019-03-18 15:00:21 +01:00
Alexander Köplinger fe92aab5bb Merge remote-tracking branch 'upstream/master' into mono-2019-02
# Conflicts:
#	external/mono
#	src/Foundation/NSUrlSessionHandler.cs
2019-03-18 14:35:46 +01:00
Alexander Köplinger 1c99284d07 REVERTME: Add workaround for missing System.Drawing.Common reference 2019-03-18 14:32:26 +01:00
Rolf Bjarne Kvinge 6447d0a498
[xharness] Add UI option to include (or not) tests that might put up permission dialogs. (#5780) 2019-03-18 12:52:06 +01:00
Alexander Köplinger 2b30e0755e REVERTME: Add workaround for missing System.Drawing.Common reference 2019-03-15 16:43:09 +01:00
Alexander Köplinger ed3acacd10 Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-03-15 14:30:26 +01:00
Alexander Köplinger a5ad605577 Remove a public symbol from MiscTests.PublicSymbols that was renamed
It now has a monoeg_ prefix which is already ignored
2019-03-14 15:22:46 +01:00
Sebastien Pouliot ea96b2299a
[mtouch] Make the SealerSubStep a configurable optimization (#5766)
document it and adjust the optimization tests.

This allows the optimization to be:
* disabled (if ever needed) on fully AOT'ed applications
* re-enabled for the interpreter (at your own risk)
2019-03-14 08:12:17 -05:00
Alexander Köplinger 6e3b0f2298 Fix InterfaceTest.Bug10866
The linker got smarter with https://github.com/mono/linker/pull/394
so we now remove B.Bar() since it's not used.
2019-03-14 13:43:09 +01:00
Manuel de la Pena 1cadb1bd2f
[XHarness] Add an extra configuration option for the tests matrix to match those in QA. (#5761)
New combinations have only been added to add-gc-test-matrix, mini and mscorlib
2019-03-14 11:37:37 +01:00
Alexander Köplinger 8c96fb2600 Fix missing file in System-mac.csproj.template 2019-03-13 19:54:04 +01:00
Manuel de la Pena 014aa6b2c9
[XHarness] Add an extra configuration option for the tests matrix to match those in QA. (Thumb) (#5763) 2019-03-13 19:00:49 +01:00
Alexander Köplinger 0bcbb67a45 Merge remote-tracking branch 'upstream/master' into mono-2019-02 2019-03-13 18:39:15 +01:00
Manuel de la Pena 22832369df
[XHarness] Fix crash in the bcl tests. (#5762) 2019-03-13 17:28:16 +01:00
Chris Hamons b777aba9f6
[msbuild] Xamarin.Mac Notary Support (#5754)
* Add --timestamp to hardened XM builds and --timestamp=none to rest
2019-03-13 10:54:01 -05:00
Alexander Köplinger 60812c0ba6 Use LangVersion=latest in mscorlib test csproj
Some tests require ref structs now which needs latest C#.
2019-03-13 00:34:55 +01:00
Manuel de la Pena 3fc1e32adb
[XHarness] Reenable the NUnit System.Data tests on mac os x. (#5749)
Fixes https://github.com/xamarin/maccore/issues/1192
Fixes https://github.com/xamarin/maccore/issues/1193
2019-03-11 18:50:18 +01:00
Manuel de la Pena 849355eaf2
[XHarness] Don't run BitcodeNotSupported BCL tests on watchOS. (#5750) 2019-03-11 12:08:48 +01:00
Manuel de la Pena 5bfbefab14
[XHarness] Reneable System.Security nunit tests on mac os x. (#5751)
Fixes  https://github.com/xamarin/maccore/issues/1197
2019-03-11 12:08:10 +01:00
Manuel de la Pena 7ef507b579
[XHarness] Fix the hostname parsing on devices. (#5752)
Following this
221f3e4a37/2478649/device-tests/jenkins-results/tests/index.html
we need to ensure that we have a split to get the host. Just happens on
iOs and tvOS since they are the only ones using tcp.
2019-03-11 12:04:32 +01:00
Rolf Bjarne Kvinge 5c1fa7dae6
[xharness] Add UI option to not automatically uninstall apps after running a test on device. (#5747)
This is useful when I want to re-run a test manually to debug failures. In
particular on the watch it's annoying to have to re-install the app.
2019-03-11 11:17:10 +01:00
Rolf Bjarne Kvinge ddc8b3dde2
[xharness] Simplify/unify the code to load simulators/devices. (#5746) 2019-03-08 19:31:53 +01:00
Rolf Bjarne Kvinge c8edf3a643
[tests] Check all architectures when verifying public symbols. (#5745)
This also means updating the whitelisted symbols.
2019-03-08 19:31:10 +01:00