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

5628 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 135507957f
[linker] Remove non-bitcode compatible code, and show a warning. (#5551)
* [linker] Remove non-bitcode compatible code, and show a warning.

Remove code not currently compatible with bitcode and replace it with an
exception instead (otherwise we'll assert at runtime).

Also show a warning when we detect this.

This is quite helpful when looking at watch device test runs to filter out
failures we already know about.

This fixes point #2 in #4763.

* Improve documentation.

* Simplify linker code by using a substep.

* Fix whitespace issues.

* Improve reporting.

* Add support for reporting more than one MT2105 at the same time when making
  the errors instead of warnings.
* Only report MT2105 for methods that haven't been linked away.
* Format the error message nicer for properties.

* Tweak a bit for warning tests to pass.

* Use ExceptionalSubStep to provide better error information.

* Adjust where linker warnings/errors are reported from to avoid a NullReferenceException.
2019-02-07 07:57:01 +01:00
Sebastien Pouliot 34f2968366
Bump maccore to head of master (#5565) 2019-02-06 22:40:31 -05:00
Sebastien Pouliot 2c3fd9b781
Bump mono to head of 2018-08 (#5560)
Commit list for mono/mono:

* mono/mono@163f45d81c [corlib] Fix GetFrames_AsyncCalls test not to block
* mono/mono@208d5a5f1b Avoid recursive extracting redundant frames from captured traces.
* mono/mono@bcc1b83e82 Add back missing stack frames to mono MERP reports (#12741)
* mono/mono@7a3ce9849f Bump corert
* mono/mono@13204572a4 [arm/ios] workaround for faulty vcmp.f64 insn

Diff: 2359cba40e...163f45d81c
2019-02-06 14:09:05 -05:00
Manuel de la Pena b87be1576b
[Foundation] Remove possible race condition with the NSUrlSessionHandler. Fixes #5511 (#5557)
The SendAsync method in the NSUtlSessionHandler is not handling the
cancellation token correctly. Moving the Register to nearly the end of
the method (just before returning the task) ensures that if we got a
already cancelled token, we execute in a sync manner the cleanup.

Using the IsCancellationRequested in this method is less optimal
because we would have to check several times:

1. When SencAsync receives the token and before it creates the inflight
data.
2. When we are going to resume the data. Since we might have created the
inflight data and at that point an other thread cancelled the request.

Fixes: https://github.com/xamarin/xamarin-macios/issues/5511
2019-02-06 17:00:44 +01:00
Rolf Bjarne Kvinge 6c6afbccb2
Always set variables to allow for downloading mono package. (#5559)
Even if we don't end up using those variable during a normal build (when
building from source), it can still be useful that commands like `make download`
continue to work.

It also fixes a make warning:

    Making all in builds
    Makefile:16: warning: overriding commands for target `downloads/'
    Makefile:9: warning: ignoring old commands for target `downloads/'
2019-02-06 15:47:32 +01:00
Rolf Bjarne Kvinge 22c8ca5090
[docs] Make PreserveSmartEnumConversionsSubStep use unique error codes and improve ExceptionalSubStep error documentation. (#5555)
* Make PreserveSmartEnumConversionsSubStep use error codes that are not
  already used elsewhere: this isn't obvious at first, but all
  ExceptionalSubStep errors use a range of error numbers (10 numbers from NNN0
  to NNN9), so we need to reserve that entire range. In this case there were
  other errors using some of the numbers of the range for PreserveSmartEnumConversionsSubStep.
* Make sure there are anchor links for all the variations of each ExceptionalSubStep error.
2019-02-06 15:31:49 +01:00
Rolf Bjarne Kvinge a6b870c781 Check if device build is available before running device tests. 2019-02-06 15:24:08 +01:00
Rolf Bjarne Kvinge bcbc838fd3 [build] Make sure -mmacosx-version-min is passed to the mono build. Fixes #5553.
Also add a test.

Fixes https://github.com/xamarin/xamarin-macios/issues/5553.
2019-02-06 10:28:02 +01:00
Rolf Bjarne Kvinge 6b0f9fbf07 [tests] Re-use tools/common/MachO.cs in mtouch/mmp tests. 2019-02-06 10:24:46 +01:00
Rolf Bjarne Kvinge ce72a51938 [MachO]: Implement reading min OS load commands. 2019-02-06 09:48:42 +01:00
Rolf Bjarne Kvinge 6bc475e624
[xharness] Rework BCL test importation to not bail out completely if something went wrong. (#5540)
Rework BCL test importation to generate projects that won't compile instead of
giving up completely in case of generation failure.

This means that xharness can still be used for non-BCL tests even if the
generation of the BCL tests fail.
2019-02-05 12:55:46 +01:00
Rolf Bjarne Kvinge 65e35b13f6
[introspection] Don't report each broken P/Invoke more than once. (#5539) 2019-02-04 15:22:19 +01:00
Rolf Bjarne Kvinge 6af4f139c2
[tests] Use latest version of NUnit for test projects to get support for parallelized tests. (#5538)
* [tests] Use latest version of NUnit for test projects to get support for parallelized tests.

* [xharness] Automatically find the correct nunit-console executable for NUnit tests.
2019-02-04 15:22:00 +01:00
Rolf Bjarne Kvinge 736cb90ac6
[mtouch/mmp] Avoid a few clang warnings in the generated pinvoke code. (#5541) 2019-02-04 15:20:44 +01:00
Rolf Bjarne Kvinge db01babe71
[tests] Set the correct environment variables when executing msbuild from the mtouch tests. (#5534)
This is usually not a problem, because these variables are already set when
running from the command-line or xharness. However, it shows up when running
tests directly from VSfM.
2019-02-04 07:59:29 +01:00
Sebastien Pouliot cf86b3e1ef
[mtouch] Use the 'repl' assemblies when the interpreter is enabled (#5535) 2019-02-01 15:55:27 -05:00
Rolf Bjarne Kvinge fa09467f8a
[msbuild] Add space to arguments when adding a newline at the end as well. (#5533)
Example (previous behavior):

    args.Add ("-a");
    args.AddLine ("-b")
    args.Add ("-c");

would result in:

    -a-b
    -c

which is obviously not correct.

New result:

    -a -b
    -c

which is much better.
2019-02-01 20:31:13 +01:00
Rolf Bjarne Kvinge 703058f99b
[msbuild] Use AddLine when adding --interpreter to mtouch arguments. (#5532)
So that it matches the rest if the arguments.
2019-02-01 20:21:08 +01:00
Rolf Bjarne Kvinge 510bb0b1cd
[mtouch] Add logging overloads that don't format the input. (#5525)
Sometimes we just Log a string without any format arguments. This works fine,
until the string comes from the user, and happen to contain braces, in which
case an invalid format exception is thrown.

Adding Log overloads that doesn't take format arguments (nor formats its
input) avoids this problem.
2019-02-01 07:43:15 +01:00
Rolf Bjarne Kvinge 204361d62e
[xharness] Simplify code slightly. (#5506) 2019-01-31 18:28:38 +01:00
Marius Ungureanu b357624861
[NSString] Add overloads which are optimized for substring handling (#5517)
* [NSString] Add overloads which are optimized for substring handling

Fixes #5134
2019-01-31 19:09:13 +02:00
Sebastien Pouliot faee79b2d9
Bump mono to head of 2018-08 (#5521)
Commit list for mono/mono:

* mono/mono@2359cba40e [coop] Fix deadlock when unwinding
* mono/mono@a4956c837e [2018-08] Native Crash Stability Fix Batch (#12565)
* mono/mono@d4d4fb7987 [eglib]Fix memory leak in `g_find_program_in_path()`. #11615.
* mono/mono@9939c1a656 [System]Fix race condition in `SystemDependencyProvider.Initialize()`. #12538.
* mono/mono@b0c4390d60 [runtime] Don't probe aot cache on android
* mono/mono@725ba2a252 Fix https://github.com/mono/mono/issues/12461.
* mono/mono@1dee62626d [2018-08 Android,AOT] Support dumping AOT offsets with Android NDK r17+ (#12454) (#12465)
* mono/mono@146c8191fb [x86] Set the LLVM data layout.
* mono/mono@5d3077c7bc [arm] Set the LLVM data layout, without it, opt seems to make incorrect optimizations.
* mono/mono@5266e6a8f1 [2018-08][debugger][backport] Fix crash when there is a generic struct with a field that is an enumerator (#12410)
* mono/mono@0d988bc696 Bump API snapshot submodule
* mono/mono@e6285d015b Bump corefx

Diff: 51c4f45402...2359cba40e
2019-01-30 16:50:28 -05:00
Alex Soto 742f0df459
[Appkit] Adds missing ModelAttribute to NSFilePromiseProviderDelegate (#5514)
Fixes xamarin/xamarin-macios#5504
2019-01-30 07:21:49 -05:00
Jose Gallardo 8e32109506
Merge pull request #5491 from xamarin/ema/fix778800
[msbuild] Fixes Microsoft.NET.Build.Extensions.Tasks.dll path
2019-01-29 10:18:45 -03:00
Manuel de la Pena 40c998e264
[XHarness] Add XUnit category filtering. (#5455)
Provide the ability to filter per categories in the xunit runner and add the default categories for Mac, iOS, TvOS and WatchOS.
2019-01-28 17:47:36 +01:00
Vincent Dondain f2ab1f6daf
[tests] Ignore failing GestureRecognizerTest for now (#5486)
- WIP PR https://github.com/xamarin/xamarin-macios/pull/5462 more investigation needed so ignore test which is preventing green builds
2019-01-28 10:07:06 -05:00
Rolf Bjarne Kvinge 7f4a1db36f
[runtime] Use a single mono profiler for both newrefcount and NSAutoreleasePool thread hooks. (#5495)
Additionally don't use malloc'ed memory, to avoid having to free the memory.

This fixes a leak, since mono does not free the MonoProfiler argument:

    STACK OF 1 INSTANCE OF 'ROOT LEAK: <0x7fb94495c460>':
    [thread 0x10f3f85c0]:
    19  libdyld.dylib                      0x7fff6e009ed9 start + 1
    18  NameNotImportant                      0x10592dec4 main + 36  launcher.m:679
    17  NameNotImportant                      0x10592d039 xamarin_main + 1305  launcher.m:661
    16  NameNotImportant                      0x105973473 mono_main + 11731  driver.g.c:2484
    15  NameNotImportant                      0x10597020d mono_jit_exec + 349  driver.g.c:1236
    14  NameNotImportant                      0x105b4217e mono_runtime_exec_main_checked + 110  object.c:0
    13  NameNotImportant                      0x105b3af28 mono_runtime_invoke_checked + 136  object.c:2960
    12  NameNotImportant                      0x105a143a1 mono_jit_runtime_invoke + 513  mini-runtime.c:3011
    11  NameNotImportant                      0x105a103c1 mono_jit_compile_method_with_opt + 2577  mini-runtime.c:2411
    10  NameNotImportant                      0x105a21aa7 mono_jit_compile_method_inner + 1207  mini.c:4184
    9   NameNotImportant                      0x105b3b75f mono_runtime_class_init_full + 847  object.c:527
    8   NameNotImportant                      0x105b3c9d4 mono_runtime_try_invoke + 148  object.c:2960
    7   NameNotImportant                      0x105a147d3 mono_jit_runtime_invoke + 1587  mini-runtime.c:3148
    6   ???                                   0x106d00fb0 0x7fffffffffffffff + 9223372041264041905
    5   NameNotImportant                      0x105921b0c xamarin_initialize + 812  runtime.m:1412
    4   NameNotImportant                      0x10591e7e7 xamarin_install_nsautoreleasepool_hooks + 55  shared.m:241
    3   NameNotImportant                      0x105b4fd0a mono_profiler_install + 26  profiler.c:1019
    2   NameNotImportant                      0x105c3127b monoeg_malloc0 + 27  gmem.c:121
    1   libsystem_malloc.dylib             0x7fff6e1bacba calloc + 30
    0   libsystem_malloc.dylib             0x7fff6e1bad62 malloc_zone_calloc + 139

Also remove the call to mono_profiler_set_events, it doesn't do anything anymore ([1]).

[1]: 14b061ba65/mono/metadata/profiler.c (L1098-L1101)
2019-01-28 15:06:40 +01:00
Rolf Bjarne Kvinge af30117abc
[tests] Automatically build the mtouch test assembly when needed. (#5496) 2019-01-28 15:05:42 +01:00
Ema 87c77db369 [msbuild] Fixes Microsoft.NET.Build.Extensions.Tasks.dll path
Replaces the hardcoded path to Microsoft.NET.Build.Extensions.Tasks.dll by the MicrosoftNETBuildExtensionsTasksAssembly property. The assembly is in a different location in dev16.

Also removed the old condition that only applied to VS 2015 and early builds of 2017 where the assembly did not exist.

Bug 778800 - Certain iOS projects are failing to build against dev16 seemingly due to a netstandard resolution issue
Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/778800
2019-01-25 19:21:57 -03:00
Rolf Bjarne Kvinge 83718c0b72
[jenkins] Try to give better information when api comparison / generator diff fails. (#5477) 2019-01-25 17:33:58 +01:00
Rolf Bjarne Kvinge be504be9ac
[mtouch] Properly deserialize cached Objective-C class symbols. Fixes #5467. (#5468)
Deserialize cached Objective-C class symbols to match how the objects looked
before serialization. This means storing the Objective-C class name in the
Symbol.ObjectiveCName field, and not the Symbol.Name field.

Fixes https://github.com/xamarin/xamarin-macios/issues/5467.
2019-01-24 15:08:50 +01:00
Sebastien Pouliot 1c881549a3
[generator] Warn if [NullAllowed] is used on methods. Fixes #4416 (#5464)
The `[NullAllowed]` attribute should not be allowed on methods but it
could break existing binding projects.

Historically it was used on property setters. However using the attribute
on _other_ methods can be misleading, e.g. should it apply to all
parameters, the return value... and its presence/action can be
misinterpreted in code reviews leading to binding bugs.

reference: https://github.com/xamarin/xamarin-macios/issues/5416
2019-01-24 08:57:46 -05:00
Manuel de la Pena 6c12862d3e
[XHarness] Remove not needed ignore file. (#5456)
Since we support filtering via categories, we do not longer need the
ignore file in these tests.
2019-01-24 13:11:11 +01:00
Manuel de la Pena debcee412c
[XHarness] Clean the System.Net.Http ignore file. (#5459)
Since we support categories, there is a test that does not longer needs
to be ignored in ios and tvos but needs to be in watchos (we do not yet
have the correct test assembly for the platform).
2019-01-24 13:10:40 +01:00
Manuel de la Pena 5165f1cdde
[Xharness] Remove not longer needed System.Service.Model.Web ignore file. (#5460)
Since we support categories, the file is not longer needed since the
failing tests are part of an ignored category.
2019-01-23 12:28:54 +01:00
Manuel de la Pena 99bda10aa4
[XHarness] Clean the System.Data ignore. (#5458)
Since we support filtering there are a number of tests that were ignore
that are part of a ignored category, therefore, they are not needed in
the file.
2019-01-23 10:17:46 +01:00
Manuel de la Pena a63c1c7f62
[XHarness] Fix small typo in test projet name. (#5461)
The small typo made the test projects from mac and ios/tvos/watchos be
in different nodes in the xhanress web page which is ugly. They now wil
appear in the same node.
2019-01-23 10:15:36 +01:00
Manuel de la Pena 02f65cc119
[XHarness] Remove not needed ignore file for System.Transactions. (#5457)
Since we support filtering via categories, we do not longer need the
ignore file in these tests.
2019-01-22 23:24:44 +01:00
Manuel de la Pena a71f421a67
[XHarness] Reneable Sytem.Security tests on iOS, TvOS and WatchOS. (#5421)
Reneable the tests and ignore those failing ones.

Fixes  https://github.com/xamarin/maccore/issues/1139
2019-01-22 23:18:45 +01:00
Manuel de la Pena a97dddf6db
[XHarness] Remove not needed dll from the test templates. (#5454) 2019-01-22 17:49:03 +01:00
Rolf Bjarne Kvinge 52de2ea588
[CoreFoundation] Add UnmanagedFunctionPointer attribute to delegate used for native callbacks. Fixes #5447. (#5453)
Fixes https://github.com/xamarin/xamarin-macios/issues/5447.
2019-01-22 17:41:03 +01:00
Sebastien Pouliot 91250bb615
[generator] Fix BI0000 when no argument semantics are present on a property. Fixes #5444 (#5451)
This can happen if a `[Wrap]` is used on the property getter (and setter)
instead of directly on the property.

In such condition we can safely assume that no dirty check is needed and
can continue with, unmodified, generation (using the wrapped content).

reference: https://github.com/xamarin/xamarin-macios/issues/5444
2019-01-22 09:52:39 -05:00
Sebastien Pouliot 3b098a5019
[appkit] Add missing `[NullAllowed]` on `NSDocument` API. Fixes #5349 (#5443)
That's an old binding, predating the nullability information from
header files.

reference: https://github.com/xamarin/xamarin-macios/issues/5349
2019-01-22 09:20:39 -05:00
Manuel de la Pena d9dcc9ae21
[XHarness] Add support for filtering categories in NUnit. (#5446) 2019-01-22 14:59:36 +01:00
Rolf Bjarne Kvinge ab12d72419
[tests] Adjust DispatchBlock tests according to minimum OS. (#5435)
* [tests] Adjust DispatchBlock tests according to minimum OS.

* [tests] Fix monotouch-test build.
2019-01-21 07:49:28 +01:00
Philippe Creytens 2b271cb997 [coremedia] Add BaseFontSizePercentageRelativeToVideoHeight to CMTextMarkupAttributes. Fixes #5429
reference: https://github.com/xamarin/xamarin-macios/issues/5429
2019-01-18 09:09:42 -05:00
Bernhard Urban 269ccd1495
[xharness] recognize newer watches (#5419)
* [xharness] recognize newer watches

* s/iPod/Watch/
2019-01-18 14:00:01 +01:00
Rolf Bjarne Kvinge 3e9673560f
[xharness] Bump documentation tests timeout. (#5404)
Bump the documentation tests timeout. It can take a while to run the
documentation tests when they're run in parallel with other tests.

Reference: 85130ddbb7 (commitcomment-31935455)

Fixes https://github.com/xamarin/maccore/issues/1350.
2019-01-18 07:51:25 +01:00
Manuel de la Pena 879629bc9d
[XHarness] Reenable the System tests on iOS, WatchOS and TVOs. (#5425)
All the failing tests have been ignored. There are a large number of
tests ignored on the watchOS platform beacuase atm the iOS test dll is
used.

Fixes https://github.com/xamarin/maccore/issues/1135
2019-01-17 22:58:31 +01:00
Manuel de la Pena cf1a034e96
[XHarness] Reenable the NUnit Corlib tests from the iOS Mono SDK. (#5316)
Reenable the tests on iOS/TvOS/WatchOS. Fixes xamarin/maccore#1153
2019-01-17 22:55:06 +01:00