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

6470 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge e12243698d
[tests] Use msbuild, not xibuild, to build the generator tests. (#6136)
The generator tests is a standard C# library, and can use the system msbuild
just fine.

Fixes this build problem when building the tests using the command line:

    xamarin-macios/external/mono/external/ikvm/reflect/Emit/ILGenerator.cs(119,20): error CS0433: The type 'Stack<T>' exists in both 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' and 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
2019-05-27 22:35:10 -07:00
Alexander Köplinger e9e7b835bd Merge remote-tracking branch 'upstream/master' into binary-artifacts 2019-05-28 02:01:28 +02:00
Alexander Köplinger 438813fce3 Bump mono 2019-05-27 20:22:42 +02:00
Manuel de la Pena 1d5fe7118e
[XHarness] Ignore a number of assemblies that do not have any tests. (#6132)
Mono did remove all the tests in a number of assemblies on
ios/tvos/watchos. With a recent change, we report test runs with no
tests as a failure (correctly since it will bring up issues with the
runners).

In this case, the tree assemblies have to be ignored because they trully
do not have tests and the runners are doing the right thing.

Fixes: https://github.com/xamarin/maccore/issues/1652
2019-05-27 09:22:00 -07:00
Alexander Köplinger ebb83d1c28 Set MACOS_VERSION and WATCHOS5_VERSION in the Mono SDKs config
To make sure we correctly propagate the values from xamarin-macios.
2019-05-27 18:16:44 +02:00
Alexander Köplinger 0116641370 Fix source build of Mono
We can't set IGNORE_PROVISION_LLVM=1 anymore
2019-05-27 18:16:44 +02:00
Alexander Köplinger d4f2b02d66 PR feedback, remove unnecessary setting of MONO_IOS_SDK_DESTDIR in csprojs 2019-05-27 18:16:44 +02:00
Manuel de la Pena fb3db66384
[XHarness] If no test are ran, consider it as a failed ran. (#6123)
If the total test run is 0 consider it a fail. Tests that failed after the change were also fixed.

Fixes: https://github.com/xamarin/xamarin-macios/issues/5767
2019-05-25 05:27:58 -07:00
Alexander Köplinger 15a17e21f5 Remove mono-extensions configure args
As discussed with Miguel it's not needed here anymore (and wouldn't work with sdks anyway).
2019-05-25 00:42:14 +02:00
Rolf Bjarne Kvinge d6e8e91073 [introspection] Adjust rules for INParameter. (#6131) 2019-05-24 16:13:58 -05:00
Alexander Köplinger 8a8427fb7b Fixup azure-pipelines.yml 2019-05-24 20:36:53 +02:00
Alexander Köplinger 8627c4311a Merge remote-tracking branch 'upstream/master' into binary-artifacts 2019-05-24 20:27:09 +02:00
Alexander Köplinger f1a2264350 Use some remaining test .cs files from the ios-sources dir in the mono archive
Would be nice to get rid of this, but I don't have time right now.
2019-05-24 20:26:50 +02:00
Alexander Köplinger 581d19527b Add symlink that points to current mono sdks dir
Use that instead of an msbuild variable that won't work in VSMac.
2019-05-24 19:44:57 +02:00
Sebastien Pouliot 224593b46d [mmp] Update (not copy-on-change) the output of lipo
We can't assume that the cached `lipo` output is part of the `.app`
since the directory for the later could be different.

E.g. we build two .csproj in out `mmptest` inside the same directory
and they share the same `obj` directory (used for caching) but have
different output directories

```
./obj/Release/mmp-cache/libmono-native.dylib
./bin/Release/UnifiedExample.app/Contents/MonoBundle/libmono-native.dylib
./bin/Release/XM45Example.app/Contents/MonoBundle/libmono-native.dylib
```

Without an update building the XM45 project would not include the
**required** `libmono-native.dylib` library and would crash when
executed.
2019-05-24 11:51:17 -04:00
Manuel de la Pena 2a42a35ba4
[Tests] Ensure that if trsut exception is not raised we do not get a NRE. (#6130)
This might be a race issue when dealing with the trust of the certs,
there is not much information in
https://github.com/xamarin/maccore/issues/1645 except the fact that we
are getting a null exception.

In this fix, we will first ensure that we did get the exception, later
confirm the exception type. To improve the debugging of the test, next
time it fails, we will get the content string to try and understand what
happened with the validation (did we return part of the stream or
headers when we shouldn't?)
2019-05-24 07:28:08 -07:00
Rolf Bjarne Kvinge 45d93dafd0
[monotouch-test] Adjust expected value for watchOS bundle id. (#6128)
The watchOS bundle ID changed in fc5067ee67, and
the test failure wasn't caught properly.
2019-05-24 06:30:05 -07:00
Rolf Bjarne Kvinge 0434104a92
[xharness] A test fails if there are either errors or failures. (#6129) 2019-05-24 03:34:52 -07:00
Manuel de la Pena 9fa35569d1
[XHarness] Re-enable corlbi tests on Mac Full and Modern (#6121)
Tests are readded from the test dll from mono (xunit)

Fixes: https://github.com/xamarin/maccore/issues/1203
2019-05-24 01:29:30 -07:00
Manuel de la Pena f2188f9652
[XHarness] Fix exception when the result line is null. (#6122)
Fixes: https://github.com/xamarin/maccore/issues/1643
2019-05-24 01:25:00 -07:00
Rolf Bjarne Kvinge 25b5d36ddd
[tests] Don't make the mscorlib tests exit upon suspend. (#6115)
It means that on watchOS they'll exit if the screen turns off.

I have no idea why we set it up like this in the first place, it's been like
this since we created the mscorlib tests ([1]).

[1]: 76e15036e8
2019-05-24 00:37:25 -07:00
Marius Ungureanu 14bd63afa0 [CoreFoundation] Add tests for CFUrl retain count (#6101) 2019-05-23 22:36:54 -07:00
Rolf Bjarne Kvinge 7df24cc925
[xharness] Don't try to find simulators for ignored tests. (#6116)
Trying to find a simulator will mark the test as a failure if the simulator
couldn't be found, and we don't want that to happen to ignored tests.

This should fix an issue where xharness seems to try to run the 32-bit
simulator tests when asked to run only device tests.
2019-05-23 22:25:06 -07:00
Rolf Bjarne Kvinge 28f853b3f7
[xharness] Overwrite any existing html reports instead of throwing an exception if a report already exists. (#6117)
If a report already exists, it's probably because a previous attempt failed
for some reason. This is no reason to not try again, overwriting the previous
attempt.
2019-05-23 22:24:35 -07:00
Alexander Köplinger a239560d99 Use correct min version for libmono-native-compat in ProductTests 2019-05-24 01:36:38 +02:00
Alexander Köplinger 42b4b383b7 Fix BCLTests projects to use xunit.execution.dotnet.dll from mono 2019-05-24 01:36:37 +02:00
Alexander Köplinger c7e1b1e21f Bump Mono 2019-05-24 01:36:37 +02:00
Sebastien Pouliot fc5b9e24d4
[mmp] Ignore, by default, frameworks that cause rejection from App Store. Fix #6039 (#6107)
So far this only applies to `QTKit`...

XM will now, by default, avoid natively link with QTKit unless it's
instructed to so explicitly using `--link-prohibited-frameworks`

ref: https://github.com/xamarin/xamarin-macios/issues/6039
2019-05-23 15:59:40 -05:00
Alexander Köplinger 776d40550c Merge remote-tracking branch 'upstream/master' into binary-artifacts 2019-05-23 20:19:27 +02:00
Rolf Bjarne Kvinge fc5067ee67
[xharness] Don't use a dash in the bundle identifer for watchOS projects. (#6114)
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.
2019-05-23 10:19:35 -07:00
Chris Hamons a989607747
[appkit] Add NullAllowed to AppKit Tooltip properties (#6113)
- https://github.com/xamarin/xamarin-macios/issues/6108
2019-05-23 11:52:53 -05:00
Rolf Bjarne Kvinge b14c66a191
[xharness] Don't include debug variations when the debug configuration isn't supported. (#6112) 2019-05-23 08:32:29 -07:00
Manuel de la Pena 8f97e80ef3
[XHarness] Fix mtouch tests to use the new style bcl tests. (#6093)
Touch tests had a dependency on the old style bel tests, we now use the new style to test it.
2019-05-23 07:59:40 -07:00
Sebastien Pouliot 54e6940cbe
[foundation] Add custom trust/certificate validation to NSUrlSessionHandler. Fix #4170 (#6103)
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 08:09:10 -04:00
Manuel de la Pena 8e57754ded
[XHarness] Improve xml parsing. Fixes #6072 (#6099)
The entire Xml parsing code has been changed to make the following
improvements:

1. Simplify the logic.
2. Ensure that the tests are not added more than once in the human text
log.
3. Do not use the APIs that load the entire tests into memory. XmlReader
is used to read the file and parse the results.

Fixes: https://github.com/xamarin/xamarin-macios/issues/6072
Fixes: https://github.com/xamarin/maccore/issues/1632
2019-05-23 01:04:37 -07:00
Rolf Bjarne Kvinge dbc9157945
[xharness] Don't report tests whose device were not found if there were no such tests. (#6102) 2019-05-22 23:19:41 -07:00
Rolf Bjarne Kvinge a2e9b599fe
[CoreFoundation] Fix ownership of objects returned from CFHTTPMessageCreate* P/Invokes. (#6091)
* [CoreFoundation] Fix ownership of objects returned from CFHTTPMessageCreate* P/Invokes.

* [Tests] Fix 'nint' 32 bits build

* [tests] Fix XM/Classic build.
2019-05-22 22:52:46 -07:00
Alexander Köplinger 48b3b82410 Merge remote-tracking branch 'upstream/master' into binary-artifacts
# Conflicts:
#	builds/Makefile
#	external/mono
2019-05-22 20:07:18 +02:00
Alexander Köplinger ff7abc7501 Fix generator tests 2019-05-22 19:59:54 +02:00
Alexander Köplinger fb16b9b733 Remove unnecessary test projects 2019-05-22 18:02:37 +02:00
Alexander Köplinger 5ba7fc4088 BCLTests: use Xunit.NetCore.Extensions from the mono archive
Also remove other xunit assembly since we get the from nuget PackageReference already.
2019-05-22 17:48:55 +02:00
Alexander Köplinger 5020fbc0a0 Add missing dependencies on Make.config
Otherwise things wouldn't get rebuild when Mono is bumped.
2019-05-22 17:44:58 +02:00
Alexander Köplinger 1a4b56e2aa Bump mono 2019-05-22 16:17:45 +02:00
Chris Hamons 733171280e
[msbuild] Add non-ui version of com.apple.AudioUnit-UI in lists (#6098)
- https://github.com/xamarin/xamarin-macios/issues/6087
- We have a list of supported extensions, we just didn't include the non-ui flavor
2019-05-22 08:14:51 -05:00
Chris Hamons aba6f02d7e
[mac] Add NSSegmentedCell.SetTooltip NullAllowed (#6096)
- https://github.com/xamarin/xamarin-macios/issues/6044
2019-05-22 08:12:56 -05:00
Rolf Bjarne Kvinge 4d4215e25c
[apidiff] Fix a few issues with the apidiff when the mono hash or api diff url changes. (#6084)
* [apidiff] Add rule to get mono-api-info.exe and mono-api-html.exe.

This fixes an issue when bumping mono: when bumping mono, the already
downloaded mono archive isn't applicable (because we've changed to the
previous commit, which has the previous mono hash, whose archive hasn't been
downloaded).

So add a rule to get mono-api-info.exe and mono-api-html.exe, by downloading
the current mono archive.

* [apidiff] Change the name of the unzip stamp and download dir to contain the hash.

This way the logic doesn't get confused when the hash changes (or there's an
old unzip stamp in the directory), and things are downloaded again as
expected.

* [apidiff] Make make not delete temporary files.

Things end up confused if temporary files have been removed by make, but our
stamp file that the temporary files are still there is present.

* [apidiff] No need to make everything depend on the bundled zip.

If everything that needs the bundled zip already depends on it.

* [apidiff] Restore original hash before calculating api diff.

This makes it less annoying when the api diff calculation changes, because
with the previous behavior they were impossible to test in a PR, since any
changes wouldn't take effect until after the PR was merged.
2019-05-22 05:41:18 -07:00
Marius Ungureanu aa18ad3f92 [CFUrl] Fix leaks of CFUrl instances. (#6090)
Create methods give ownership of the object, so in this case, owns=true. Prevents leak of CFUrl
2019-05-21 22:43:47 -07:00
Rolf Bjarne Kvinge 14510d3be3
Merge pull request #6040 from rolfbjarne/arm64_32-v3
Implement support for ARM64_32. Fixes #4864.
2019-05-21 22:23:43 -07:00
Rolf Bjarne Kvinge 885ed0d4b9
[jenkins] Adjust global timeout. (#6092)
We have a 13-hour timeout for running the tests [1], but that won't work if
the timeout for the entire Jenkins pipeline is lower, so adjust the timeout
for the entire Jenkins pipeline to be more than the sum of all the nested
timeouts.

[1] 94fe39b118 (diff-68c8473bbe1d4346ecff3d74522a31f8R675)
2019-05-21 21:58:42 -07:00
Alexander Köplinger c842df75cd Provision 7z 2019-05-22 01:15:29 +02:00