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

6275 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge bb09ab8a24 [generator] Treat arm64_32 as arm64 when dealing with objc_msgSend behavior. 2019-05-10 08:28:43 +02:00
Rolf Bjarne Kvinge e58a31ee84 [CoreGraphics] Fix CGColorConversionInfo on arm64_32. 2019-05-10 08:28:43 +02:00
Rolf Bjarne Kvinge 91a5dc29ae [ObjCRuntime] The NSLog_arm64 P/Invoke is now needed on watchOS (ARM64_32) too. 2019-05-10 08:28:43 +02:00
Rolf Bjarne Kvinge 9c3754b52f [msbuild] Make using the fake watchOS 4.3 SDK disabled by default.
Since we now have support for ARM64_32.
2019-05-10 08:28:43 +02:00
Rolf Bjarne Kvinge f272f69e3a [runtime] Enable the varargs dynamic trampolines for arm64_32.
The varargs dynamic is not even close to correct for arm64_32, but it's still
better than failing to compile the runtime.

A proper dynamic registrar for arm64_32 is much more complicated, in
particular because we can't use assembly code, so it will have to be
implemented later.
2019-05-10 08:28:43 +02:00
Bernhard Urban 4606d37d64 [build/runtime] Add build rules for arm64_32 2019-05-10 08:28:43 +02:00
Bernhard Urban 9dd2340972 [mtouch] Add support for arm64_32 2019-05-10 08:28:43 +02:00
Rolf Bjarne Kvinge 1a6deebb64 Add an 'arm64_32' capability. 2019-05-10 08:28:43 +02:00
Manuel de la Pena 0fc7cff218 [Jenkins] Do not run device tests in the internal jenkins instance. (#6034) 2019-05-10 08:25:14 +02:00
Rolf Bjarne Kvinge 6d8eba812d
[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.
2019-05-10 07:40:45 +02:00
Ankit Jain 3a7bdc0a13 [msbuild] Add reference to `System.Drawing.Common.dll` to XI projects. (#6011)
* [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 01:20:52 +02:00
Rolf Bjarne Kvinge b31b02002e
[xharness] Flush the log after getting results from listing simulators/devices with mlaunch. (#6030)
Now constantly refreshing the device/simulator listing log will show the
output as mlaunch writes it, which makes the impatient me happier.
2019-05-09 21:38:43 +02:00
Rolf Bjarne Kvinge d657c723ee
[mtouch/mmp] Make the mono native mode a Target-specific variable. (#6028)
The arm64_32 slice for watchOS apps will always use the 'unified' mode, while
the armv7k can be both 'unified' and 'compat' depending on the deployment
target, so we need to keep track of this per Target.

This PR does not change anything related to arm64_32, that will come in a
later PR.
2019-05-09 21:36:42 +02:00
Rolf Bjarne Kvinge 6eeb2201a9
[mtouch] Move string null/empty check into CompilerFlags.AddOtherFlag. (#6027) 2019-05-09 18:43:39 +02:00
Rolf Bjarne Kvinge c0d68b7e85
[xharness] Don't only build if asked to run using the UI. (#6026)
This makes it possible to run tests that are marked as 'BuildOnly' to see if
they've been fixed or not.

There's already a 'build' button if only a build is desired.
2019-05-09 18:22:35 +02:00
Manuel de la Pena de0691a22a
[XHarness] List the simulators and devices in the html. (#6020) 2019-05-09 15:12:52 +02:00
Rolf Bjarne Kvinge 6df96ffa9f
Merge pull request #6004 from rolfbjarne/xharness-old-simulators5
Add support for running tests with the earliest possible simulator, and use it for introspection tests.

* Add support for running tests with the earliest possible simulator
  (currently iOS 8.1, tvOS 9.1 and watchOS 2.0).
* Make the introspection tests run with the earliest possible simulator.
* Fix several binding issues (mostly missing availability attributes), and a
  couple of issues in the introspection tests themselves.

Reference: https://github.com/xamarin/xamarin-macios/issues/3668.
2019-05-09 13:20:21 +02:00
Manuel de la Pena f2f345ac25
[VSTS] Ensure that the corrent tests are run on devices. (#6019)
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-09 13:06:49 +02:00
Rolf Bjarne Kvinge 789385cb3e Bump macios-binaries to get updated mlaunch.
New commits in xamarin/macios-binaries:

* xamarin/macios-binaries@718cef6 Bump mlaunch to xamarin/maccore@34725fe136 (#18)

Diff: 0faf210ab6..718cef60c9
2019-05-09 07:28:30 +02:00
Rolf Bjarne Kvinge 3c66051e5a
[sampletester] Bump prebuilt-apps hash. (#6015)
Bump prebuilt-apps hash to get fix for https://github.com/xamarin/prebuilt-apps/pull/31.
2019-05-08 15:25:47 +02:00
Rolf Bjarne Kvinge 744ec56156 Merge remote-tracking branch 'origin/master' into xharness-old-simulators5 2019-05-08 15:05:05 +02:00
Rolf Bjarne Kvinge 8c4e284ac7
[xharness] Fix finding labels in pull requests. (#6009)
Looks like this regressed in
61bf0db817 (diff-b01110f512ec4a442e37213063a11758R39);
since then no manual labels have been applied to test runs in public jenkins.
2019-05-08 15:04:28 +02:00
Rolf Bjarne Kvinge 6092954e3b
Bump mono. (#6012)
New commits in mono/mono:

* mono/mono@bc3791b0ff [2019-02] [loader] Don't store through a null ptr (#14111)
* mono/mono@53ca9c8e17 [wasm] Disable chakra tests until its fixed
* mono/mono@c5217a1287 [2019-02] [arm] fix armv7k regression on struct passing (#14379)
* mono/mono@6d8aed9c8a [sdks] Disable excluding assets from archive
* mono/mono@2ee31beafa [sdks] Add Mono libraries to mac archive
* mono/mono@73c1132172 [sdks] Add mono-2.pc to mac archive
* mono/mono@defcca138e [sdks] Add Mono libraries and frameworks to iOS archive
* mono/mono@f4a9140323 [sdks] Remove --with-monotouch from configure arguments
* mono/mono@9a28fed3d1 [sdks] Fix README.md
* mono/mono@cd5f040eb7 Bump API snapshot submodule
* mono/mono@19053ea10a [Facades] Include missing enums in System.Memory
* mono/mono@7615d0fe1d [tests] Write nunit/xunit exclude categories to a file (#14281)

Diff: 94121495e9..bc3791b0ff
2019-05-08 14:44:37 +02:00
Wouter Meuwis 911c3fb837 [foundation] Updated NSUrlSessionHandler to support TLS 1.3 (#6006) 2019-05-08 08:38:15 -04:00
Rolf Bjarne Kvinge 62f0d29429
[xharness] Improve logging about labels found. (#6007) 2019-05-07 15:57:17 +02:00
Rolf Bjarne Kvinge ef0d7a1718
[generator] Show proper errors when failing to compile something. (#6003)
* [mtouch/mmp] Split out the RunCommand[Async] methods to a separate file so that the generator can reuse more easily.

* [generator] Show proper errors when failing to compile something.

* Fix grammar
2019-05-07 13:40:59 +02:00
Rolf Bjarne Kvinge 1239a019cc Fix defining extra simulators so that they're actually installed.
The system-dependencies.sh script greps in Make.config for the
EXTRA_SIMULATORS variable, and the grepping wasn't able to correctly parse the
previous variable definition, so make it simpler so that
system-dependencies.sh understands it.
2019-05-07 07:58:00 +02:00
Rolf Bjarne Kvinge c97d267faf
[runtime] Implement support for an arm64 dynamic registrar. (#6005)
This is required in order to execute downloaded assemblies (or any other
assembly not known at compile time) on device.
2019-05-07 07:35:39 +02:00
Rolf Bjarne Kvinge 37a280d974
[runtime] Put LOGZ directive in a header to not duplicate it everywhere. (#6001) 2019-05-06 19:29:28 +02:00
Rolf Bjarne Kvinge 83efaaf70f [src] Sprinkle availability attributes for iOS 8.1, tvOS 9.0 and watchOS 2.0. 2019-05-06 17:01:17 +02:00
Rolf Bjarne Kvinge 2f86feae7d [mtouch] Fix framework information for MetalKit in the simulator.
MetalKit wasn't available in the simulator until iOS 10.0.
2019-05-06 17:01:17 +02:00
Rolf Bjarne Kvinge 8fcf672c13 [introspection] A few tweaks for iOS 8.1 / tvOS 9.0 / watchOS 2.0. 2019-05-06 17:01:17 +02:00
Rolf Bjarne Kvinge a4ccadc370 Bump maccore to get mlaunch fix for older simulators.
Diff: f7ca470c0a..34725fe136
2019-05-06 17:00:39 +02:00
Rolf Bjarne Kvinge fa9125dcd0 [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-06 17:00:39 +02:00
Rolf Bjarne Kvinge 3a83936dfd [xharness] Group simulator tasks by simulator UDID instead of platform.
Since we may have multiple simulators for each platform now.
2019-05-06 17:00:39 +02:00
Rolf Bjarne Kvinge 61b2dc817b [xharness] Make old simulator tests opt-in by using a github label. 2019-05-06 17:00:39 +02:00
Rolf Bjarne Kvinge c9133e2331 Auto-provision older simulators. 2019-05-06 17:00:39 +02:00
Rolf Bjarne Kvinge 13497d3bab [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-06 17:00:39 +02:00
Rolf Bjarne Kvinge e48955268f [xharness] Add support for running tests with the earliest possible simulator, and use it for introspection tests. 2019-05-06 17:00:33 +02:00
Rolf Bjarne Kvinge 82f288a135
[runtime] Refactor a bit to share code between files. (#6000) 2019-05-06 16:19:56 +02:00
Rolf Bjarne Kvinge b581cd8961
[generator] The --no-mono-path option doesn't do anything anymore, so remove it. (#5996) 2019-05-06 14:41:52 +02:00
Rolf Bjarne Kvinge 786be98522
[generator] Remove MONO_PATH removal, it's not needed anymore. (#5998)
Since we don't call btouch with a forced mono path now (it's a desktop
executable), we don't need this anymore.
2019-05-06 14:41:31 +02:00
Rolf Bjarne Kvinge 19318368f0
[tests][msbuild] Remove deprecated values from csprojs. (#5995) 2019-05-06 14:40:48 +02:00
Rolf Bjarne Kvinge a36019c83c
[mtouch/mmp] Remove dead code. (#5997) 2019-05-06 14:40:31 +02:00
Rolf Bjarne Kvinge 4b8fca6ed9
Bump mono. (#5981)
New commits in mono/mono:

* mono/mono@94121495e9 [arm] amend stack pointer properly in exception trampoline (#14313)
* mono/mono@3bfb9c61fa [aot] Avoid passing -march=arm to llc when using thumb, it forces arm32 code generation.
* mono/mono@d04d534d11 Bump API snapshot submodule
* mono/mono@f6e52f1e3b [corlib] Add API that was dropped during the coreFX System.IO integration
* mono/mono@00362f57fc Fix Windows MSI build
* mono/mono@d49ca5fa9d More Windows MSI fixes
* mono/mono@a8e6472c77 Fix Windows MSI build, msbuild is now in Current instead of 15.0
* mono/mono@0136ead44f Remove libgcc_s_seh-1.dll dependency when targeting Win32 with gcc. (#14251)
* mono/mono@443235fd8c [nunit-lite] Use .NOTPARALLEL to possibly fix some races

Diff: c4ea64e1b1..94121495e9
2019-05-06 14:40:12 +02:00
Rolf Bjarne Kvinge 483345dcd3
[generator] Format csproj like VSfM likes to do it. (#5999)
No actual changes here (as can be seen by ignoring whitespace in the diff),
this just makes me happier when modifying the csproj in VSfM and the entire
file doesn't end up changed.
2019-05-06 14:38:19 +02:00
Rolf Bjarne Kvinge 682f54da87
[linker] Mark protocol interfaces when using the dynamic registrar. (#5988)
* [linker] Mark protocol interfaces when using the dynamic registrar.

Fixes this monotouch-test failure when using the dynamic registrar and the
linker at the same time:

    [FAIL] RegistrarTest.TestProtocolRegistration :   UIApplicationDelegate/17669
      Expected: True
      But was:  False

* [tests] Adjust test after linker change.

All Xamarin.iOS apps will now link with QuickLook when using the dynamic
registrar, because NSUrl implements a QuickLook protocol:
fcac64ad6e/src/foundation.cs (L5445).

Adjust LinkAll_Frameworks accordingly, and add a new test that verifies that
the old behavior (not linking with QuickLook when linking all assemblies) is
still correct.
2019-05-06 13:21:02 +02:00
Sam 72afd997d6 Add more details to MSBuild errors for provisioning profiles (#5984) 2019-05-06 08:27:16 +02:00
Rolf Bjarne Kvinge fcac64ad6e
[apidiff] Use mono-api-[info|html].exe from the mono archive. (#5990) 2019-05-06 07:31:03 +02:00
Rolf Bjarne Kvinge 4be637aa8e
[registrar] Fix marshalling of structs with a single member. (#5986) 2019-05-06 07:26:54 +02:00