This can be reproduced by running monotouch-test with all optimizations in
Debug mode (because some of the exception marshalling tests are only enabled
in debug mode), so add such a configuration to xharness. To avoid bloating PR
builds, this configuration is only enabled when running all tests (either
manually selecting all tests for a PR, or on Wrench, where everything is
always tested).
This can be reproduced by running monotouch-test with all optimizations in
Debug mode (because some of the exception marshalling tests are only enabled
in debug mode), so add such a configuration to xharness. To avoid bloating PR
builds, this configuration is only enabled when running all tests (either
manually selecting all tests for a PR, or on Wrench, where everything is
always tested).
The ProtocolTest test is located in the bindings-test assembly, and it
requires certain conditional compilation defines to be set in order to behave
properly.
With this fix we correctly set these defines when cloning the bindings-test
project (in addition to when we set the defines for the main project, which is
either monotouch-test or linkall for this test).
Fixes https://github.com/xamarin/maccore/issues/655.
* [tests][macos] Fix AuthenticodeDeformatterTest.VerifySignedAssembly failure on modern. Fixes 3207
Modern does not, by default/design, ship a machine.config file. This
means it only knowns about the default crypto shipped with .NET.
That's a problem for MD2 for which some old certificates might still
exists in the computer store, like our wrench bots.
That's generally not a problem since XM apps delegate trust to macOS
except for one case: Authenticode.
So verifying an authenticode signature can end up, thru X509Chain,
loading a certificate using MD2 without knowing how to create the
digest algorithm - and fail.
The fix is to register the algorithm manually (if not found).
https://github.com/xamarin/xamarin-macios/issues/3207
* [tests] Only call CryptoConfig on XM modern builds and add a reference to Mono.Security.dll on such projects
This fixes an issue where multiple copies of the GuiUnit project would have
the same output directory, causing random problems when building those
projects in parallel.
Add a 'register-protocols' optimization that:
Improves static registrar to:
* Generate a new table of protocol -> managed wrapper type. This is required
to find the wrapper type without having the `[Protocol]` attribute around.
* Make the generated code implement protocols from [Adopts] attributes. This
makes it possible to link away the `[Protocol]` attribute, because the
native implementation of `conformsToProtocol:` does the right thing (we
might even be able to link away our complete `ConformsToProtocol` logic when
we remove the dynamic registrar).
Improves linker to:
* Not mark protocol interfaces by the mere virtue of having a type that
implements them. This is implemented by not marking protocol interfaces when
they're implementing a class, but instead when a method implementation is
found to implement a method from a protocol interface.
* Mark the wrapper type for protocols (this allows us to remove the Protocol
attribute, since that's the link between the protocol and its wrapper type).
* Remove the [Protocol], [ProtocolMember] and [Adopts] attributes (but only if
optimizing protocols).
The static registrar still needs some of the information linked away, so a few
changes are required to make it available post linker.
Benchmark
---------
I've compared the size of entire apps built for device:
|test | Before | After | Diff | % |
|:-----------------------------|-------:|-------:|-------:|------:|
|[monotouch-test/Debug][1] | 101mb | 100mb | -888kb | -0.9% |
|[monotouch-test/Release][2] | 99.2mb | 95.4mb | -830kb | -0.9% |
|[minimalistic app/Debug][3] | 10.8mb | 10.4mb | -443kb | -4.1% |
|[minimalistic app/Release][4] | 4.7mb | 4.55mb | -157kb | -3.3% |
[1]: https://gist.github.com/rolfbjarne/0181ab8abe436c34cf4ee68ecfb8cd18#monotouch-test-debug
[2]: https://gist.github.com/rolfbjarne/0181ab8abe436c34cf4ee68ecfb8cd18#monotouch-test-release
[3]: https://gist.github.com/rolfbjarne/0181ab8abe436c34cf4ee68ecfb8cd18#minimal-xi-app-debug
[4]: https://gist.github.com/rolfbjarne/0181ab8abe436c34cf4ee68ecfb8cd18#minimal-xi-app-release
* [tests] Fix relative paths in mmptest and make cloned XM nunit projects work properly.
Fixes this build problem with mmptest:
/Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/mmptest/CustomBuildActions.targets: error : Command 'make bin/SimpleClassDylib.dylib bin/SimpleClassStatic.a bin/Mobile-static/MobileBinding.dll' exited with code: 255.
Fixes https://github.com/xamarin/maccore/issues/633.
* [mmp] Improve Driver.IsDefaultMarshalingManagedExceptionMode to work before MarshalManagedException has been initialized.
Fixes this test failure:
1) Failed : Xamarin.MMP.Tests.MMPTests.UnifiedDebugBuilds_ShouldLinkToPartialStatic_UnlessDisabled
Debug build should use partial static registrar
Expected: True
But was: False
This regressed in 0561618460, where we wouldn't
properly select the partial static registrar because the initialization order
changed and we'd do it before selecting the default exception marshaling mode.
Changing Driver.IsDefaultMarshalingManagedExceptionMode to work before
MarshalManagedException has been initialized to its default value fixes the
problem.
* [tests][xammac] Fix a few path calculations to not be hardcoded.
* [xharness] Clone XM projects.
Cloning projects before building them will also clone project references,
which will make it possible to build multiple projects in parallel, when those
projects have common project references.
Fixes https://github.com/xamarin/maccore/issues/624.
* [xharness] Fix XM project cloning
* Don't clone Classic projects (they're solutions, and xharness doesn't understand them).
* Clonee projects properly when cloning execution tasks.
* [xharness] GuiUnit needs specialized cloning.
The GuiUnit project uses relative paths to write to files outside the project
directory, which means that multiple GuiUnit project files may write to the
same location.
So special-case GuiUnit cloning to make those paths subdirectories of the
project's directory instead.
* [xharness] Process imported targets when cloning projects.
Also make the msbuild-mac's custom targets file independent of the location of
the project file by making all paths relative to the custom targets file.
* [tests] Move linker tests to match introspection directory layout.
Move linker tests to match introspectio directory layout: tests/linker/ios and
tests/linker/mac instead of tests/linker-ios and tests/linker-mac.
This creates a logical place for shared linker files (tests/linker).
* [tests] Fix path to GuiUnit_NET_4_5.csproj in sln as well.
This is the path used to find referenced projects when building Classic.
Fixes this build problem:
warning: Referenced project 'GuiUnit_NET_4_5' not found in the solution.
/Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/common/mac/MacTestMain.cs(11,7) : error CS0246: The type or namespace name `GuiUnit' could not be found. Are you missing an assembly reference?
/Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/common/mac/MacTestMain.cs(64,42) : error CS0246: The type or namespace name `IMainLoopIntegration' could not be found. Are you missing an assembly reference?
/Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/common/mac/MacTestMain.cs(75,34) : error CS0246: The type or namespace name `InvokerHelper' could not be found. Are you missing an assembly reference?
* [xharness] Add support for running XI projects with different platform configurations.
* [xharness] Run dont link, link all and link sdk tests in both Debug and Release in the simulator. Fixes#53181.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=53181.
* [tests] Fix dont link to always optimize C# code in release mode.
* [tests] No need to weak link GameController anymore in dont link.
This was removed long ago from the Debug configurations, so remove it from the
Release configuration as well.
* [xharness] Ask mono to not attach gdb/ldb when XM tests crash.
Attaching gdb/ldb usually hangs, thus causing the test run to time out instead
of finishing early (due to the crash).
Also bump the timeout for finding crash reports to 60 seconds when the tests
crash, since macOS can be quite slow to create the crash report.
* [xharness] Timestamp mac logs to aid diagnostics.
We must call VerifyRun for each subtest in the aggregated simulator test run
in order to mark those subtests as failed if there's no available device.
Fixes https://github.com/xamarin/maccore/issues/623.
Fixes this rather puzzling build problem when building monotouch-test using xharness:
obj/iPhoneSimulator/Debug-unified/Xamarin.iOS,Version=v1.0.AssemblyAttribute.cs(2,12): error CS0579: Duplicate 'global::System.Runtime.Versioning.TargetFrameworkAttribute' attribute
It happens only on Wrench (where it consistently fails), but it didn't happen
in the PR when this broke, nor could I reproduce it locally at first.
Initial investigation proved frustrating (searching for the file name
`Xamarin.iOS,Version=v1.0.AssemblyAttribute.cs` in the build log confirmed
that it was included multiple times on Wrench, but not locally), but after a
while I realized that there were multiple files with the same file name in the
build log:
/Users/builder/data/lanes/1381/daf07005/source/xamarin-macios/tests/monotouch-test/obj/iPhone/Release64-unified/Xamarin.iOS,Version=v1.0.AssemblyAttribute.cs
obj/iPhoneSimulator/Debug-unified/Xamarin.iOS,Version=v1.0.AssemblyAttribute.cs
One full path, and one relative, and one is obviously wrong.
Even more so once I realized that the full path's Platform/Configuration
(`iPhone/Release64-unified`) doesn't match the relative path's
Platform/Configuration (`iPhoneSimulator/Debug-unified`).
It's not even a test configuration we execute on Wrench, so how come the file
got there in the first place?
But it made it possible to reproduce locally: I just had to build monotouch-
test for device first, using tests.sln. Then I could reproduce the build error
when executing monotouch-test from xharness, since now I had the extraneous
file on my file system.
xharness will clone project files (to avoid parallel issues when building
multiple projects in parallel, all projects are built in their own
directories), and it turns out we didn't properly fixup all paths.
In particular the following:
<Compile Include="**\*.cs" Exclude="obj\**">
<Link>%(RecursiveDir)%(Filename).cs</Link>
</Compile>
would be transformed into:
<Compile Include="\Users\builder\data\lanes\1381\daf07005\source\xamarin-macios\tests\monotouch-test\**\*.cs" Exclude="obj\**">
<Link>%(RecursiveDir)%(Filename).cs</Link>
</Compile>
which meant that we'd include all files recursively in the monotouch-test
directory, excluding files from the project file's obj sub directory. And
since the project file was cloned, it would be in a different directory, and
thus not able to exclude files from the original monotouch-test/obj directory.
And with this knowledge the simple oneliner to fix it was trivial.
One mystery remained though: how was the extraneous
`Xamarin.iOS,Version=v1.0.AssemblyAttribute.cs` file generated when we don't
execute device tests on Wrench? After a while I remembered that the MTouch
tests build monotouch-test for device, even though they're not executed.
And this explains why the problem happens on wrench only: Jenkins didn't
execute the MTouch tests.
When determining the color for a collection of tests, first check if the
execution result is identical for all tests in the collection, in which case
just use the corresponding color for a single test.
xharness needs a solution in order to ask for a nuget restore, so make sure to
provide the path to the solution.
This fixes a build issue where the install source tests would fail to build
due to picking up the system's nunit.framework.dll because the nuget one
wasn't found/restored:
MonoPathManglerTest.cs(8,3): error CS0619: 'TestFixtureAttribute' is obsolete: 'The NUnit framework shipped with Mono is deprecated and will be removed in a future release. It was based on NUnit 2.4 which is long outdated. Please move to the NUnit NuGet package or some other form of acquiring NUnit.'
XamarinSourcesPathManglerTest.cs(8,3): error CS0619: 'TestFixtureAttribute' is obsolete: 'The NUnit framework shipped with Mono is deprecated and will be removed in a future release. It was based on NUnit 2.4 which is long outdated. Please move to the NUnit NuGet package or some other form of acquiring NUnit.'
OpenTKManglerTest.cs(8,3): error CS0619: 'TestFixtureAttribute' is obsolete: 'The NUnit framework shipped with Mono is deprecated and will be removed in a future release. It was based on NUnit 2.4 which is long outdated. Please move to the NUnit NuGet package or some other form of acquiring NUnit.'
PathManclerFactoryTests.cs(8,3): error CS0619: 'TestFixtureAttribute' is obsolete: 'The NUnit framework shipped with Mono is deprecated and will be removed in a future release. It was based on NUnit 2.4 which is long outdated. Please move to the NUnit NuGet package or some other form of acquiring NUnit.'
OpenTKManglerTest.cs(29,4): error CS0616: 'TestCase' is not an attribute class
OpenTKManglerTest.cs(30,4): error CS0616: 'TestCase' is not an attribute class
MonoPathManglerTest.cs(29,4): error CS0616: 'TestCase' is not an attribute class
MonoPathManglerTest.cs(30,4): error CS0616: 'TestCase' is not an attribute class
MonoPathManglerTest.cs(31,4): error CS0616: 'TestCase' is not an attribute class
XamarinSourcesPathManglerTest.cs(33,4): error CS0616: 'TestCase' is not an attribute class
XamarinSourcesPathManglerTest.cs(35,4): error CS0616: 'TestCase' is not an attribute class
XamarinSourcesPathManglerTest.cs(37,4): error CS0616: 'TestCase' is not an attribute class
OpenTKManglerTest.cs(36,4): error CS0616: 'TestCase' is not an attribute class
OpenTKManglerTest.cs(37,4): error CS0616: 'TestCase' is not an attribute class
MonoPathManglerTest.cs(37,4): error CS0616: 'TestCase' is not an attribute class
MonoPathManglerTest.cs(38,4): error CS0616: 'TestCase' is not an attribute class
MonoPathManglerTest.cs(39,4): error CS0616: 'TestCase' is not an attribute class
XamarinSourcesPathManglerTest.cs(47,4): error CS0616: 'TestCase' is not an attribute class
These targets will already be properly escaped (using backslash), so adding
quotes will cause make to treat the backslashes literally (and break).
Fixes an issue with package-tests:
$ make package-tests
[...]
build-mac-classic-dont\ link failed
build-mac-unified-dont\ link failed
build-mac-unifiedXM45-dont\ link failed
build-mac-unified32-dont\ link failed
build-mac-unifiedXM4532-dont\ link failed
build-mac-unified-link\ all failed
build-mac-unified-link\ sdk failed
make[4]: *** [build-mac] Error 1
make[3]: *** [mac-test-package.zip] Error 2
make[2]: *** [package-tests] Error 2
* [xharness] Run monotouch-test both with and without the static registrar in the simulator.
This way we catch (some) problems with the static registrar without having to run on device.
* [xharness] Add comments to explain extra test configurations.
* [xharness] Fix how projects are cloned.
Fix how projects are cloned so that xharness doesn't end up confused when
multiple test tasks share the same build task.
Previously xharness would iterate over all test tasks and modifying their
build tasks, now it will create the build tasks correctly in the first place.
* [tests] Add 'link all' test for XM.
* [tests] Add 'link sdk' test for XM.
* [tests] Move dontlink-mac tests to linker-mac directory to have the same directory layout as linker-ios.
In particular the mmp tests build a lot of project files, which means they can
find issues whenever something in the MSBuild logic changes, so run them.
They would have caught https://github.com/xamarin/maccore/issues/612 for instance.
* Not every old annotations have been migrated (work in progress, to be completed in another PR);
* Sanitation of the data files (e.g. removal of dupes and fixed, by Apple, entries) is done, but not automated (also a work in progress)
Even then this is immediately useful, i.e. better merged before 15.6 gets branched.
* [Debugger] Allow to step into Xamarin code.
The tool now detects the different sources and mangles the path to
ensure that the correct paths are installed in the following location:
/Library/Frameworks/Xamarin.iOS/Versions/Current/src
/Library/Frameworks/Xamarin.Mac/Versions/Current/src
The tool will detect if the path map command was used in the mdb and pub files, will point to the correct source code and will copy it to the installation dir.
Tests have been added that will be ran both by wrench and jenkins ensuring that changes in the manglers do not change it behaviour.
Make the collection of logs (the `Logs` class) more capable by making it
disposable (which will dispose all contained logs) and give it a Directory
property to state where the logs should be stored. This makes it possible to
simplify a few repeated path calculations. It also allows us to easily dispose
the entire collection of logs when done with a test, as opposed to dispoing
the logs one by one.
Make LogFile more capable:
* Add support for writing byte arrays.
* Add support for logging after disposal: this will still write to the file,
and not keep any files open after finished writing. This fixes a problem
where writing to a log after it was disposed would crash xharness (which is
not all that uncommon, given the async nature of how xharness runs tests).
This makes it possible to get rid of LogStream, and use LogFile instead.
* [msbuild] Pack all iOS MSBuild Task assemblies into a single assembly
* Fixed the build
* Renamed ProcessArgumentBuilder to CommandLineArgumentBuilder
This is needed to prevent symbol conflicts with Xamarin.MacDev's
ProcessArgumentBuilder (which is functionally different from
Xamarin.MacDev.Tasks.Core's class of the same name).
* Fixed ILRepack logic for filtering dll's to repack
* Fixed building of Xamarin.iOS.Tasks.Tests now that X.iOS.Tasks.dll contains all symbols
* Updated Makefile now that only 1 iOS Task assembly needs to be distributed
* ILRepack Xamarin.Mac.Tasks as well
* Fixed up *.targets to specify The One Assembly To Rule Them All
* [xharness] Build MSBuild tests with MSBuild.
* Touch the ilrepack stamp file *after* invoking ILRepack, not before.
* Same for Xamarin.Mac.Tasks
The mmp regression tests are already executed in parallel (using `make -j8` in
the Makefile), and they're quite CPU intensitive, which means that if xharness
runs other tests in addition to the these tests, then those other tests may
fail randomly.
Dispose logs (so that the corresponding files are closed) when we're done with
them, and also don't open a file log by default (usually we just want a
filename to pass to somebody else), but instead open the file if needed.
This should decrease the number of open file descriptors in xharness, which
sometimes become a problem when running many tests.
* [tests] Add support for passing arguments to XM unit tests from the command line.
* [xharness] Get xml results for mac unit tests and parse it to show failures inline in the html report.
Usually an exit code of neither 0 nor 1 means a test run crashed (in
particular if the exit code is 130+), but this may not always be true, so
report the exit code as well so that a human can evaluate properly.
Change [Intermediate]OutputPath of Xamarin.Mac test projects to include the
project flavor, so that they don't build into (and run from) the same location
(which leads to random and incorrect behavior for at least one of the
flavors).
Fixes https://github.com/xamarin/maccore/issues/584
* [xharness] Add support for executing a command periodically.
This will be used to run 'rsync' on bots to upload the html report somewhere
while the tests are running.
* [tests] Disable all the wrench test targets, and instead run the jenkins target (only) on wrench.
* [xharness] Write xharness log to stdout as well on wrench.
Wrench has a 30-min stdout timeout: if nothing is printed in 30 minutes, then
the step fails. Printing the harness log to stdout makes us not hit this
timeout.
* [xharness] Timestamp a few more logs.
* [xharness] Disable the @MonkeyWrench calls, since we're not uploading directly to wrench anymore.
* [tests][generator] Port bindas1048error to NUnit.
* [tests][generator] Port bindas1049error to NUnit.
* [tests][generator] Port bindas1050modelerror to NUnit.
* [tests][generator] Port bindas1050protocolerror to NUnit.
* [tests][generator] Port bug42855 to NUnit.
* [tests][generator] Port bug57070 to NUnit.
* [tests][generator] Port bug52570classinternal to NUnit.
* [tests][generator] Port bug52570methodinternal to NUnit.
* [tests][generator] Port bug52570allowstaticmembers to NUnit.
* [tests][generator] Port protocol-duplicate-abstract-error to NUnit.
* [tests][generator] Port protocol-duplicate-method-diff-length to NUnit.
* [tests][generator] Port protocol-duplicate-method-diff-out to NUnit.
* [tests][generator] Port protocol-duplicate-method-diff-type to NUnit.
* [tests][generator] Port protocol-duplicate-method-diff-return to NUnit.
* [tests][generator] Port warnaserror to NUnit.
* [tests][generator] Port nowarn to NUnit.
* [tests][generator] Add support for inspecting/asserting the generated content.
* [tests][generator] Port some Xamarin.Mac tests to NUnit.
Ported:
* bmac_smoke
* bmac-with-hyphen-in-name
* property-redefination-mac
* NSApplicationPublicEnsureMethods
* protocol-duplicate-abstract
* [tests][generator] Point bgen to our local installation.
* [tests][generator] Port the bug31788 test to a unit test.
* [generator] Make the 'bgen' helper target more complete.
* [tests][generator] Port non-custom iOS tests to unit tests.
* [tests][generator] Add new test.
* [tests][generator] Port the forum54078 test to a unit test.
* [tests][generator] Port the desk63279 test to a unit test.
* [tests][generator] Port the desk79124 test to a unit test.
* [tests][generator] Port the multiple-api-definitions tests to unit tests.
* [generator] Use mono code style.
* [tests][generator] Port the bug29493 test to a unit test.
* [tests][generator] Port the classNameCollision test to a unit test.
* [tests][generator] Port the bi1036 test to a unit test.
* [tests][generator] Port the bug37527 test to a unit test.
Also fix BI1112 and BI1113 to show up as errors in the console output (since
they're exceptions they're already treated as errors and would cause bgen to
fail).
* [tests][generator] Port the bug27986 test to a unit test.
* [tests][generator] Port the bug35176 test to a unit test.
* [tests][generator] Port the bi1046 test to a unit test.
* [tests][generator] Port the virtualwrap test to a unit test.
* [tests][generator] Port the bug42742 test to a unit test.
* [tests][generator] Port the noasyncinternalwrapper test to a unit test.
* [tests][generator] Port the noasyncwarningcs0219 test to a unit test.
* [tests][generator] Port the bug53076 test to a unit test.
* [tests][generator] Port the bug53076withmodel test to a unit test.
* [tests][generator] Port the fieldenumtests test to a unit test.
* [tests][generator] Port the smartenumwithframework test to a unit test.
* [tests][generator] Port the forcedtype test to a unit test.
* [tests][generator] Port the bug46292 test to a unit test.
* [tests][generator] Build tests with MSBuild.
There's no need to use xbuild for these tests.
* [tests][generator] Remove dead code.
* [xharness] Don't run the makefile-based generator tests anymore.
Since there aren't any makefile-based generator tests anymore, they've all
been ported to NUnit tests.
* [tests][generator] Make the bug39614 test do what it was supposed to do: make sure a namespace isn't required (but recommended).
* Update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
* [builds] Pass --with-cross-offsets= to crosstv's configure.
* Bump mono to 2017-08.
* Bump mono to 2017-08.
* Force disable 'futimens' and 'utimensat' so that we build with Xcode 9.
This is also needed to build with Xcode 8.3 on High Sierra.
* Remove old AppleTls implementation.
* Bump mono.
* Bump mono to 2017-08.
* Bump mono to 2017-08
* Reenable link-keep-resources-2 test
- This reverts commit 76b759ef22.
- 2017-08 has linker fix
* Bump mono to 2017-10
* Revert "Bump mono to 2017-10"
This reverts commit bb7832724e.
* Bump system mono to 2017-10
* Bump embedded mono to 2017-10
* [runtime] reflect eglib move
9be68f8952
* bump mono
* [btouch] remove Security.Tls usage from test
* [mtouch tests] update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.
see
ea4e4a9ef6
fixes:
```
1) Failed : Xamarin.MTouch.Profiling(tvOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
2) Failed : Xamarin.MTouch.Profiling(watchOS)
_mono_profiler_startup_log
Expected: collection containing "_mono_profiler_startup_log"
But was: < "_xamarin_get_block_descriptor", "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
```
* [mmptest] update log profiler options.
826558a4af
deprecated the dash prefix for the mlpd path.
`noallocs` or `nocalls` are not needed, neither of them are default anymore.
* [mmptest] fix link-keep-resources-2 test to cope with more corlib resources.
another corlib resource (mscorlib.xml) was added:
https://github.com/mono/mono/commit/11e95169e787#diff-2d1c64decd91d9a6e8842ab0f0e9438d
* Revert "[mmptest] fix link-keep-resources-2 test to cope with more corlib resources."
This reverts commit 350eb3c174.
* [XHarness] Add the Mono.Data.Tds tests.
* Address comments from rolf in the review.
* [mmp regresssion tests] bump mono linker, so mscorlib.xml gets stripped
the test was failing in that way:
> Executing link-keep-resources-2...
> [FAIL] i18n 4/2 data files present: charinfo.nlp, collation.core.bin, collation.tailoring.bin, mscorlib.xml
also update the output, because it's actually expected at least three
elements.
fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=59277
* bump mono
fixes crash in tvOS: https://github.com/mono/mono/pull/5812
* bump mono for updated BCL tests
see https://github.com/mono/mono/pull/5820
* [mono] set 2017-10 branch in .gitmodules
* [macos] Fix guiunit error on clean builds by depending on correct copy (#2912)
* [macos] Fix guiunit error on clean builds by depending on correct copy
- From a clean build making a BCL test would error due to the non-mobile guiunit not being built
- This was because the Makefile-mac.inc target was incorrect
- This was because xharness assumed that non variation based targets were always Modern
- However, BCL tests are Full, not Modern
* Code review change
* Swap to var to reduce diff
* Revert changes in the paths for GuiUnit.
* [XHarness] Add the System.IO.Compression bcl tests. (#2918)
* [XHarness] Add the System.IO.Compression bcl tests.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem. (#2924)
* [XHarness] Add the System.IO.Compression bcl tests.
* Ensure that resources are correctly copied in the bundles.
* [XHarness] Add bcl tests for System.IO.Compression.FileSystem.
* As per review, make the Mac test app name match the tests that are ran.
* [XHarness] Add Mono.CSharp tests on ios. (#2927)
* [XHarness] Add Mono.CSharp tests on ios.
* Bump mono to bring changes in the mono.csharp tests.
* [xtro-sharpie] fix TypeDefinition access due to Cecil change
* Bump mono
* bump mono
fixes
- https://bugzilla.xamarin.com/show_bug.cgi?id=60480
- https://bugzilla.xamarin.com/show_bug.cgi?id=60482
* bump mono
more fixes around conflicting paths when tests are run in parallel.
* Bump for mono/mono@2017-10
Detect MT1111 from mlaunch (which means mlaunch won't wait for the app to
exit), and instead use test run completion to determine test completion.
The main drawback is that if the test app crashes, it won't be detected (the
test run will time out, and reported as such), but it's still an improvement
over the current behavior (the tests may complete successfully, and still be
reported as timed out).
This also requires bumping maccore to get an updated mlaunch (one that reports
MT1111).
This will add Objective Sharpie as an optional dependency, only enforced if
actually trying to run the xtro tests.
The wrench/jenkins tests will show up as green for now (since there are known
failures in the xtro tests that have to be addressed first).
* [macos] Fix guiunit error on clean builds by depending on correct copy
- From a clean build making a BCL test would error due to the non-mobile guiunit not being built
- This was because the Makefile-mac.inc target was incorrect
- This was because xharness assumed that non variation based targets were always Modern
- However, BCL tests are Full, not Modern
* Code review change
* Swap to var to reduce diff
This will add Objective Sharpie as an optional dependency, only enforced if
actually trying to run the xtro tests.
The wrench/jenkins tests will show up as green for now (since there are known
failures in the xtro tests that have to be addressed first).
Exclude tests whose category is !BITCODE when running on watchOS/Release. This
also requires a minor update to xharness to add a BITCODE conditional
compilation flag to generated watchOS/Release projects configurations.
This partially fixes#59947 (the fix will be complete once we bump to mono/2017-08).
https://bugzilla.xamarin.com/show_bug.cgi?id=59947
* [xharness] Don't list unusable devices.
* [xharness] Show the list of candidate devices in the html report.
* [xharness] Prioritize devices depending on the interface speed.
* [xharness] Simplify code a bit.
Logs are TextWriters by themselves, so no need to get a StreamWriter to pass
to API that takes TextWriter, when we can just pass the log instance itself.
This makes it possible to timestamp external process output (because
Log.Timestamp is honored instead of bypassed).
* [xharness] Timestamp install logs.
So that we get exact numbers of how long it takes to install on watch (and if
the watch installation stalls, or just times out because it takes too long).
Always wait for processes to exit, even if they're killed.
Also make absolutely sure that we can safely handle any exception when getting
the ExitCode, no matter what.
https://bugzilla.xamarin.com/show_bug.cgi?id=57846
We construct every test case independent of whether a simulator or device is
available, which means we don't have to wait for simulators/devices to load
before creating test cases. Enumerating the available simulators/devices will
still block until loading is complete, but that only happens when we want to
run a test (after building it).
This makes the initial load much faster, since listing devices is becoming
slower now.
There seems to be two bugs:
1. Comparing identical styles returns false (although this may just be how javascript works).
2. Given the following:
ar_obj.style.display = 'hide';
new_obj.style.display = 'hide';
ar_obj.style = new_obj.style;
// now ar_obj.style.display == 'block'. HUH!?!
I can't fathom how this is expected, but Chrome shows the same behavior. Yay javascript.
Fix this by not trying to assign identical styles, by comparing the css text
instead of the style objects.
* [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279)
* [FileProvider] Add Xcode 9 Beta 1 Bindings
* Better naming
* Feedback not related to BindAs
* [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3
* [FileProvider] Implement feedback
* [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193)
Updated spotlight bindings for xcode 9 beta 3.
* Fix warning caused by duplicate (#2354)
* [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356)
* Bump to Xcode 9 beta 4
* [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test)
* [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test)
* [coreimage] CIImageAccumulator init returns nil in beta 4
There's no header change to mention `init` is not allowed but
it's not clear how this default initializer could be used.
Also make public some other API to construct this type (outside
of XM). It's not clear why there were `internal` as they are
(at least now) part of the header files.
* [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360)
Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed
version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous)
since using a `null` argument is common (only one option exist so far).
This PR adds overloads that makes the code nicer in such case, e.g.
before Xcode9:
> // null is used when no options are given
> _foo.SaveLivePhoto (output, null, completion);
current (Xcode 9)
> // casting required to remove ambiguity with PHLivePhotoEditingOption
> _foo.SaveLivePhoto (output, (NSDictionary)null, completion);
with this PR
> // no option, no argument
> _foo.SaveLivePhoto (output, completion);
The same applies to `PrepareLivePhotoForPlayback`.
* [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates
Those tests were not added to validate xOS so just keep the parts
that helps us (without constantly checking back the new break flavor)
* Disable watchOS to check if this hides others issues
* [mapkit] Update for beta 4
* [coredata] Update for beta 4
* [wkwebkit] Update for beta 4
Note: WKWindowFeatures.h is not compiled (part of the framework umbrella)
and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should
not have been exposed (it's all fields starting with `_`)
* [corelocation] Update for beta 4
* Revert "Disable watchOS to check if this hides others issues"
This reverts commit fed2249fa4.
* [tests] Disable watchOS from harness only. Workaround #58348https://bugzilla.xamarin.com/show_bug.cgi?id=58348
* [spritekit] Update for beta 4 (#2368)
* [arkit] Update for beta 4 (#2370)
* Bump version before preview 3 (#2375)
* [generator] Fix smart enum FieldAttribute LibraryName generation (#2376)
This fix is needed by PDFKit because it is a remapped framework[0],
the current code generates incorrect FieldAttribute on smart enums
because it uses `fa.LibraryName` as first option and this causes
remmaped frameworks have incorrect LibraryName generated for example
if a Field uses `+CoreImage` as `LibraryName` the following incorrect
code is generated:
```
[Field ("First", "+CoreImage")]
internal unsafe static IntPtr First {
get {
fixed (IntPtr *storage = &values [0])
return Dlfcn.CachePointer (Libraries.+CoreImage.Handle, "First", storage);
}
}
```
[0]: f5956d6cc1/src/generator.cs (L5985)
* [FinderSync] Update to beta 4 (#2377)
* [ImageIO] Update to Xcode 9 (#2353)
* [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358)
* [quicklook] Update up to beta 4 (#2374)
* [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357)
* [safariservices] Update up to beta 4 (#2380)
* [coreanimation] Update to beta 4 (#2382)
Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997
Internal tracking in
https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals
* [storekit] Update up to beta 4 (#2379)
* [CoreML] Update to Xcode 9 Beta 4 (#2387)
* [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355)
* Update code after radar 32929318 and 32897776 are fixed in b4 (#2394)
* [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359)
* [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397)
* [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512
https://bugzilla.xamarin.com/show_bug.cgi?id=58512
Created strong API (VNBarcodeSymbology) on the following properties
* VNDetectBarcodesRequest.SupportedSymbologies
* VNDetectBarcodesRequest.Symbologies
* VNBarcodeObservation.Symbology
* Remove modern C# because classic can't do it 😡
* [mediaplayer] Update up to beta 4 (#2388)
* [watchkit] Update to beta 4 (#2398)
* Bump Visual Studio for Mac max version (#2408)
* [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix#58197 (#2411)
https://bugzilla.xamarin.com/show_bug.cgi?id=58197
* [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407)
* [uikit] Update UIFocus related APIs to Xcode 9 beta 4
* [uikit] Fixes based on comments
* [coreimage] CIImageAccumulator API fixes. Fix#58349 (#2412)
* Obsolete the default `init`;
* XM exposed some older APIs using `int` instead of `CIFormat`.
This is fixed and old APIs are obsoleted;
* Both new & old APIs are now using `CIFormat` for both XI and XM.
https://bugzilla.xamarin.com/show_bug.cgi?id=58349
* [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410)
* [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425)
* Bump XI/XM versions before preview 4 (#2422)
* [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378)
* [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4
* [PDFKit] Implement feedback
* [PDFKit] the forgotten enum
* [PDFKit] More feedback
* [PDFKit] Add Mac changes
* Missing change
* Fix test RectangleF VS CGRect
* Pass -Wunguarded-availability-new to quiet a new clang warning (#2424)
- https://bugzilla.xamarin.com/show_bug.cgi?id=58574
* [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441)
* [monotouch-test] Remove workaround for fixed Apple bug. (#2445)
* Bump to Xcode 9 beta 5. (#2447)
* Bump to Xcode 9 beta 5.
* [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken.
> In file included from Xamarin.Mac.registrar.mobile.i386.m:1:
> In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11:
> /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found
https://bugzilla.xamarin.com/show_bug.cgi?id=58629
* [mmp] Fix partial static registrar removal.
* [CallKit] Update to Xcode 9 beta 5.
* [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5.
* [ARKit] Update to Xcode 9 beta 5 enough to make tests happy.
* [CoreImage] Stub out new filters in Xcode 9 beta 5.
* [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions.
* [mmp] Default to the dynamic registrar for release builds again, due to bug #58629.
https://bugzilla.xamarin.com/show_bug.cgi?id=58629
* [tests][introspection] CXCall started implementing NSCopying without saying so in the headers.
* Disable mmp static registrar tests due to 58629 for now
* [quicklook] Update to beta 5 (#2450)
* [photos] Update for beta 5 (#2452)
Also update some existing enum members were added in beta 1 on macOS
* [safariservices] Update for beta 5 (#2455)
* [mediaplayer] Update to beta 5 (#2456)
* [CoreLocation] Update Xcode 9 Beta 5 (#2453)
* [CoreML] Update to Xcode 9 Beta 5 (#2454)
* [Contacts] Update to Xcode 9 Beta 5 (#2451)
* [Vision] Update to Xcode 9 Beta 5 (#2458)
* [builds] Tell LLVM to stay away from newer macOS functions. (#2459)
Fixes this build problem on Sierra:
> ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64
This is a symbol that was (will be?) introduced in High Sierra.
Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't
been manually installed.
Because if the Xcode 8.X Command Line Tools are installed, this happens:
1. llvm's configure script detects that 'futimens' is not usable.
2. llvm's configure script detects that 'futimens' is not usable, because
xcrun sets SDKROOT=/ when calling clang.
a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib'
to ld.
b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a
library that contains 'futimens' in the OS itself, and since we're on
Sierra, that fails to link.
c. So when llvm's configure script creates a test program that checks if
'futimens' is present, the program fails. This is correct, and makes
llvm *not* use futimens.
3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists.
If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK
(because that's what xcode-select reports).
a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for
'futimens' succeeds, because the macOS 10.13 SDK contains that
function.
b. llvm happily uses 'futimens', and then the final link fails because
we're using a symbol not available on all target platforms.
* [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460)
* [tests] The container app for watchOS tests should be 64-bit. (#2463)
* [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462)
https://bugzilla.xamarin.com/show_bug.cgi?id=58348
* [xharness] It watchOS tests don't need to be clean anymore. Fixes#58348. (#2473)
https://bugzilla.xamarin.com/show_bug.cgi?id=58348
* [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431)
- Add NSDirectionalEdgeInsets type.
- Includes DirectionalEdgeInsetsTest.
* [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294)
* [xharness] Add a file existence check. (#2478)
Fixes this exception:
```
Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'.
File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'
at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188
at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171
at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252
at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture ()
at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128
at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357
at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113
at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113
at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870
```
I'm not sure how this can happen, but it has on the bots [1].
[1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/
* Bump versions for preview 5 (#2479)
* [passkit] Update to beta 5 (#2481)
* [tests] Remove workaround for radar #32688391. (#2486)
* [replaykit] Update up to beta 5 (#2484)
* Bump maccore to get fix for bug #55064. (#2487)
* [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490)
* [SceneKit] basic work (#2483)
* [coredata] Update to beta 5 (#2488)
* [homekit] Update for Xcode 9 beta 5 (#2492)
* [Foundation] Update for xcode9 (#2468)
* [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493)
* [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5
* [Intents] Implement feedback
* [Intents] Add a generic version for INInteraction.GetParameterValue
* [Intents] Missing check
* [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496)
https://bugzilla.xamarin.com/show_bug.cgi?id=58203
This is available on all Contacts supported platforms
```
./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting>
./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting>
./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting>
./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting>
./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting>
```
* [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497)
* [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas)
* [IntentsUI] Better use a delegate instead so we have named params
* Bump versions before 6th preview (#2514)
* [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517)
- Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access
(https://bugzilla.xamarin.com/show_bug.cgi?id=58648)
* [xtro-sharpie] Fix a compiler warning. (#2516)
Fixes these warnings:
Runner.cs(197,5): warning CS0642: Possible mistaken empty statement
Runner.cs(199,5): warning CS0642: Possible mistaken empty statement
Runner.cs(201,5): warning CS0642: Possible mistaken empty statement
Runner.cs(203,5): warning CS0642: Possible mistaken empty statement
Runner.cs(205,5): warning CS0642: Possible mistaken empty statement
* [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511)
- UIKeyCommand
- UINavigationBar
- UINavigationItem
- UIPasteboard
- UITableViewHeaderFooterView
* [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522)
* [xtro-sharpie] Build with msbuild and be as quiet as requested when building.
* [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit.
* [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE.
* [xtro-sharpie] Remove xtro-plugin and the related commands.
This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie
in a 64-bit process.
Now there is a 64-bit mono, so it's not needed anymore.
Also improve makefile targets a bit, to auto-build stuff when needed, by
setting the right dependencies.
* Bump Xcode 9 to beta 6 (#2519)
Disable watchOS tests again
It seems like the Carousel crash from beta 4 is back to haunt us.
This was working fine with beta 5.
* Backport d15-3 SR2 fixes (#2515)
* [coredata] Update to beta 6 (#2528)
This seems to only revert some nullability changes from beta 5.
* [coreml] Update to beta 6 (#2531)
Fix our rdar 33643011 where additional setters were added in the headers
but did not exists.
* [videosubscriberaccount] Update to beta 6 (#2533)
Only b1 and b2 introduced some additions/changes
* [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527)
The following headers are now up to date:
- UICollectionViewFlowLayout.h
- UIDocumentPickerViewController.h
- UIFontDescriptor.h
- UIImage.h
- UIImageView.h
- UIImagePickerController.h
* [xharness] Re-enable the watchOS tests. (#2534)
It works fine for me locally, so let's see what Jenkins says.
* [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525)
* Update AppKit bindings based on radar 33271241 results (#2518)
* Update AppKit bindings based on radar 33271241 results
- The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol
* Remove NSUserInterfaceCompression where not listed in header
* [vision] Update to beta 6 (#2532)
Removal of some deprecated (during beta) `init*` selectors.
Also sync the versions that were inlined in subclasses - the old
ones were not removed and the new ones were not added.
* [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523)
This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a
* [macos] Add ExternalAccessory APIs from xcode9 (#2526)
* [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504)
* [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505)
- Add last missing selector.
- Add tests for manual code.
* [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537)
Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN"
does not have rare ligatures anymore (and the entire test is based on it).
Before getting an actual fix for that, let's disable the test so it doesn't break all current builds.
See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929
* [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524)
Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute
to calculate the native name for a TypeDefinition.
Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59
* [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538)
As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981
* [intents] Fix breaking changes (api-diff) (#2543)
Additions of @required members inside `INSpeakable` cannot be `[Abstract]`
* [contacts] Fix breaking change (api-diff) (#2542)
Type Changed: Contacts.CNPostalAddress
Removed method:
public static string LocalizeProperty (CNPostalAddressKeyOption option);
* [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544)
- Fix a subtle spacing issues in PartialStaticLibrary property
* [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540)
macOS 10.13 has finally catch up with iOS and this simplifies the
bindings a bit.
* [foundation] API fixes (apidiff) (#2545)
1. Let's not add new, already [Obsolete] API
Type Changed: Foundation.NSDimension
Added constructors:
[Obsolete ("Not intended to be directly instantiated, this is an abstract class.")]
public NSDimension ();
2. Fix inconsistently named API, e.g.
Type Changed: Foundation.NSAttributedString
Added properties:
public static string[] ReadableTypeIdentifiersForItemProvider { get; }
public static string[] WritableTypeIdentifiers { get; }
* [pdfkit] Do not add already [Obsolete] API in new profiles (#2547)
and ensure using the newer, correct API works cross-platforms
iOS (before)
[Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")]
public virtual PdfSelection[] Find (string text, nint options);
public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions);
[Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")]
public virtual PdfSelection Find (string text, PdfSelection selection, nint options);
public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions);
[Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")]
public virtual void FindAsync (string text, nint options);
public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions);
[Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")]
public virtual void FindAsync (string[] text, nint options);
iOS (after)
public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions);
public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions);
public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions);
public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions);
* Bump versions for the 7th preview (#2541)
* Remove additions of AVKit removed in beta5 (#2536)
* NSUrlSessionTask should implement NSProgressReporting for iOS (#2548)
NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed.
* Add missing availability attributes causing failures on older iOS versions (#2550)
* [vision] Minor fix wrt xtro (#2551)
including some things we need to ignore manually
!missing-field! VNVisionVersionNumber not bound
!missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound
!missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound
* [uikit] NSFileProviderMessaging was removed in beta 2. Fixes#58222 (#2552)
reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=58222
* [uikit] Update for Xcode 9 - Part 5 (#2546)
Bindings for the following headers:
- UIActivity.h
- UIActivityItemProvider.h
- UIAlertController.h
- UIApplication.h
- UIBarButtonItem.h
- UIButton.h
- UICollectionViewLayout.h
- UIColor.h
- UIControl.h
- UIDocumentMenuViewController.h
- UIFontMetrics.h
- UIGestureRecognizer.h
- UIGraphicsImageRenderer.h
- UIInputViewController.h
* [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555)
We do not own the return value from CFArrayGetValueAtIndex, so don't say we do
when creating CTFontDescriptor instances, since that leads to angry dragons:
2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest
2017-08-28 20:15:20.294 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions
2017-08-28 20:15:20.295 monotouchtest[33186:2311738] [PASS] A_FontTest.CTFontCreateWithNameAndOptions
2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace:
at <unknown> <0xffffffff>
at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0
at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185
at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78
at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0
at <unknown> <0xffffffff>
at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0
at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305
at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229
at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215
at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116
at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90
at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66
at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84
at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64
at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196
at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136
at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154
at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93
at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196
at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136
at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154
at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93
at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196
at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136
at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154
at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93
at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196
at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136
at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442
at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171
at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765
at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577
at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402
at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0
at <unknown> <0xffffffff>
at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0
at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79
at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63
at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27
at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0
Native stacktrace:
0 monotouchtest 0x000000010fca03c4 mono_handle_native_crash + 244
1 monotouchtest 0x000000010fcadd30 mono_sigsegv_signal_handler + 288
2 libsystem_platform.dylib 0x000000011feb3b3a _sigtramp + 26
3 CoreFoundation 0x000000011de035a2 computeSanitizedString + 146
4 CoreText 0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54
5 CoreText 0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55
6 CoreText 0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27
7 CoreText 0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297
8 CoreText 0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54
9 CoreText 0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652
10 CoreText 0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122
11 CoreText 0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61
12 CoreText 0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51
13 CoreText 0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346
14 CoreText 0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242
15 CoreText 0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97
16 ??? 0x0000000140eaefd3 0x0 + 5384105939
17 ??? 0x0000000140eae761 0x0 + 5384103777
18 ??? 0x000000013c9c8e74 0x0 + 5311860340
19 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273
20 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88
21 monotouchtest 0x000000010fd71bac mono_runtime_try_invoke_array + 1292
22 monotouchtest 0x000000010fd15587 ves_icall_InternalInvoke + 647
23 ??? 0x000000013e9fcd13 0x0 + 5345627411
24 ??? 0x000000013e9fc738 0x0 + 5345625912
25 ??? 0x000000013e9fded5 0x0 + 5345631957
26 ??? 0x000000013e9fbb76 0x0 + 5345622902
27 ??? 0x000000013e9e237e 0x0 + 5345518462
28 ??? 0x000000013e9e237e 0x0 + 5345518462
29 ??? 0x000000013e9e237e 0x0 + 5345518462
30 ??? 0x000000013e9e237e 0x0 + 5345518462
31 ??? 0x000000013e873006 0x0 + 5344014342
32 monotouchtest 0x000000010fcb0c89 mono_jit_runtime_invoke + 1273
33 monotouchtest 0x000000010fd6e3a8 do_runtime_invoke + 88
34 monotouchtest 0x000000010fd6e320 mono_runtime_invoke + 208
35 monotouchtest 0x000000010fe71af1 xamarin_invoke_trampoline + 5617
36 monotouchtest 0x000000010fe79ddd xamarin_arch_trampoline + 189
37 monotouchtest 0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110
38 UIKit 0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810
39 UIKit 0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344
40 UIKit 0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318
41 UIKit 0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280
42 UIKit 0x0000000111a89f68 _afterCACommitHandler + 137
43 CoreFoundation 0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
44 CoreFoundation 0x000000011de3dd0e __CFRunLoopDoObservers + 430
45 CoreFoundation 0x000000011de22324 __CFRunLoopRun + 1572
46 CoreFoundation 0x000000011de21a89 CFRunLoopRunSpecific + 409
47 GraphicsServices 0x0000000121b7e9c6 GSEventRunModal + 62
48 UIKit 0x0000000111a5f7d0 UIApplicationMain + 159
49 ??? 0x000000013c9c4474 0x0 + 5311841396
50 ??? 0x000000013c9c40ad 0x0 + 5311840429
=================================================================
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.
=================================================================
* [monotouch-test] Don't subclass MKMapView. (#2556)
MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself").
Bad things like this starts happening:
Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x0000000186b25348 __pthread_kill + 8
1 libsystem_pthread.dylib 0x0000000186c39354 pthread_kill$VARIANT$mp + 396
2 libsystem_c.dylib 0x0000000186a94fd8 abort + 140
3 monotouchtest 0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548)
4 monotouchtest 0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886)
5 libsystem_platform.dylib 0x0000000186c33b60 _sigtramp + 52
6 CoreFoundation 0x0000000186f93108 cow_cleanup + 112
7 CoreFoundation 0x0000000186f93108 cow_cleanup + 112
8 CoreFoundation 0x0000000186eda51c -[__NSArrayM dealloc] + 68
9 CoreFoundation 0x000000018703f5c8 __CFBasicHashDrain + 312
10 CoreFoundation 0x0000000186fb5b44 _CFRelease + 224
11 CoreText 0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92
12 CoreText 0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176
13 CoreText 0x000000018a7eec74 CTFontRemoveFromCaches + 168
14 VectorKit 0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324
15 VectorKit 0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360
16 VectorKit 0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12
17 libobjc.A.dylib 0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148
18 libobjc.A.dylib 0x000000018652c638 objc_destructInstance + 88
19 libobjc.A.dylib 0x000000018652c690 object_dispose + 16
20 QuartzCore 0x000000018afca3ac -[CALayer dealloc] + 116
21 VectorKit 0x0000000196a43294 -[VKMapView dealloc] + 940
22 QuartzCore 0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32
23 QuartzCore 0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276
24 QuartzCore 0x000000018afca37c -[CALayer dealloc] + 68
25 QuartzCore 0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052
26 UIKit 0x0000000190393290 _afterCACommitHandler + 256
27 CoreFoundation 0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
28 CoreFoundation 0x0000000186fb1270 __CFRunLoopDoObservers + 412
29 CoreFoundation 0x0000000186fb182c __CFRunLoopRun + 1292
30 CoreFoundation 0x0000000186ed22d8 CFRunLoopRunSpecific + 436
31 GraphicsServices 0x0000000188d58f84 GSEventRunModal + 100
32 UIKit 0x000000019040427c UIApplicationMain + 208
33 monotouchtest 0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1)
34 monotouchtest 0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79)
35 monotouchtest 0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63)
36 monotouchtest 0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27)
37 monotouchtest 0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244
38 monotouchtest 0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526)
39 monotouchtest 0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829)
40 monotouchtest 0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623)
41 monotouchtest 0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040)
42 monotouchtest 0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482)
43 monotouchtest 0x00000001007de710 main + 927504 (main.m:67)
44 libdyld.dylib 0x00000001869f656c start + 4
* [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557)
`SkipDueToAttributeInProperty` which is used to check the availability attribute of properties
when the Availability info only exist on the property and not on the property Getter or Setter was wrong.
This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail).
- Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test
(https://bugzilla.xamarin.com/show_bug.cgi?id=59085)
* [corevideo][watchos] Enable CoreVideo on watchOS (#2553)
* [storekit] Fix CampaignToken typo (#2559) (#2560)
- Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken
(https://bugzilla.xamarin.com/show_bug.cgi?id=59078)
* [coreml][watchos] Enable API using CoreVideo on watchOS. Fix#58097 (#2561)
https://bugzilla.xamarin.com/show_bug.cgi?id=58097
* Add missing [MarshalDirective] attributes. (#2558)
* [bindings-generator] Improve build & project file.
* Add missing [MarshalDirective] attributes.
Add missing [MarshalDirective] attributes, which also requires implementing
support for out parameters in the binding generator, since one of the
signatures missing the [MarshalDirective] contains such an out parameter.
Also add tests for all the API I've added [MarshalDirective] to.
* [bindings-generator] Remove redundant if check.
* [monotouch-test] Rename file to end with 'Test.cs'.
* [tests] Fix a few build errors for Xamarin.Mac.
* [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569)
- Fixes introspection tests on tvOS 10.
* [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568)
- Fixes introspection tests on tvOS 10.
* [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566)
- Also remove double [Mac] availability attribute.
- Fixes introspection tests on tvOS 10.
* [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565)
ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is
16-byte aligned (as if it were an array of Vector4).
This means we need to account for this when creating a managed array from
pointer to the native C-style array.
* [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564)
The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of
integers (not floats, as originally and incorrectly implemented).
Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields,
re-implement all the API that exposes this struct and obsolete the old API.
Also add missing [MarshalDirective] attributes.
And write a test to make sure it works fine now and forever.
* [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570)
reference:
https://trello.com/c/dlSRYPFx
* [xtro-sharpie] Add a Simd check class to verify signatures with Simd types.
* [Simd] Add simd matrix types.
The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's
matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions
are row-major, while Apple's versions are column-major.
This means that when blitting memory from one to the other, the matrix will
appear to have been transposed.
See bug #[58599][2] for an example.
Unfortunately we've already bound several API with Apple's matrix_floatXxX
matrices using OpenTK's matrices, and although they're bound wrong, and the
matrices appear transposed on input/output, we can't change the behavior
because we have to maintain compatibility.
This means we have to introduce new API, and then also just define new matrix
types with the right memory layout (column-major). Additionally, in the future
we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT
compiler can generate the correct alignment for them, avoiding having to
define a native conversion method (using the [MarshalDirective] hack).
The matrices have been designed to match API-wise the matrices in the
System.Numerics.Vectors namespace [1], but for the moment with only a few
basic operations implemented (Determinant/Transpose/Multiply) defined (we can
always add more later if we want to).
In addition explicit conversion operators to and from the corresponding
OpenTK.MatrixX are implemented, which means any operation defined in the
OpenTK matrices can be used by converting back and forth.
[1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx
[2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599
* [ARKit] Use the new Simd matrix types.
* [Vision] Use the new Simd matrix types.
* [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API.
* [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API.
* [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API.
* [xtro] Don't report missing [MarshalDirective] for obsolete methods.
* [xtro] Remove unnecessary ignores.
The implementation changed, and these stayed accidentally.
* [wkwebkit] Fix (native) protocol names (#2572)
Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961
reference (xtro)
!missing-protocol! WKURLSchemeHandler not bound
!missing-protocol! WKURLSchemeTask not bound
!unknown-protocol! WKUrlSchemeHandler bound
!unknown-protocol! WKUrlSchemeTask bound
!unknown-type! WKSnapshotConfiguration bound
* [uikit] Fix enums availability attributes (#2575)
- Fixes bug #59132: [uikit] Extra types in watchOS
(https://bugzilla.xamarin.com/show_bug.cgi?id=59132)
* [watchkit] Add missing designated initializers (#2574)
references (xtro)
!missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute
!missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute
* [xtro] Reword some of the Simd diagnostic messages according to review.
* [tests] Make sure test symbols don't clash between different test libraries.
Fixes this build problem for framework-test:
clang: error: linker command failed with exit code 1 (use -v to see invocation)
MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'.
MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error)
MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error)
MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'.
MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'.
MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'.
MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'.
MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'.
MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64
MTOUCH: error MT5202: Native linking failed. Please review the build log.
* [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too.
* [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types.
Fixes this introspection/Mac problem:
***** ApiSignatureTest.NativeSignatures
Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded
Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded
Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded
Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded
Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded
Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded
Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded
Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded
Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded
* [monotouch-tests] Include more custom asserts for watchOS to make the build work.
Fixes this:
Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual'
Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual'
Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual'
Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual'
[...]
* [monotouch-test] Exclude code that requires the binding project from xammac tests.
Exclude code that requires the test binding project from xammac tests because
there's currently no XM version of the test binding project.
Fixes this:
tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?)
tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?)
tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?)
* Bump version for preview #8 (#2576)
* [spritekit] Audit fixes (xtro) (#2577)
1. SKVideoNode is now, partially, available on watchOS and does
not require the extra, manual code to swicth selectors depending
on the OS version being run.
!missing-type! SKVideoNode not bound
!missing-selector! SKVideoNode::anchorPoint not bound
!missing-selector! SKVideoNode::initWithCoder: not bound
!missing-selector! SKVideoNode::initWithFileNamed: not bound
!missing-selector! SKVideoNode::initWithURL: not bound
!missing-selector! SKVideoNode::setAnchorPoint: not bound
!missing-selector! SKVideoNode::setSize: not bound
!missing-selector! SKVideoNode::size not bound
!missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound
!missing-selector! +SKVideoNode::videoNodeWithURL: not bound
2. SKNodeFocusBehavior is exposed needlessly on watchOS because
SpriteKit/Enums.cs was not processed by the generator, so [NoWatch]
did not matter.
!unknown-native-enum! SKNodeFocusBehavior bound
It's also visible on macOS but nothing uses it (so we do not expose
it needlessly)
!missing-enum! SKNodeFocusBehavior not bound
3. Add missing designated initializer on default `init`
!missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute
!missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute
4. Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0
The trio attributeValues, setAttributeValues and setValue:forAttributeNamed:
that was moved from SKNode (deprecated) into its subclasses. This was done
using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to
be consistent (only SKNode versions are not defined in XAMCORE_4_0)
!missing-selector! SKEffectNode::attributeValues not bound
!missing-selector! SKEffectNode::setAttributeValues: not bound
!missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound
!missing-selector! SKEffectNode::valueForAttributeNamed: not bound
!missing-selector! SKEmitterNode::attributeValues not bound
!missing-selector! SKEmitterNode::setAttributeValues: not bound
!missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound
!missing-selector! SKEmitterNode::valueForAttributeNamed: not bound
!missing-selector! SKSpriteNode::attributeValues not bound
!missing-selector! SKSpriteNode::setAttributeValues: not bound
!missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound
!missing-selector! SKSpriteNode::valueForAttributeNamed: not bound
* [introspection] Make sure '[FAIL]' is printed before every failure. (#2578)
This makes xharness able to list the failures in the inline summary.
* [xtro] Reword some of the Simd diagnostic messages according to review.
* [xharness] Add a missing IsServerMode check to generate correct html. (#2581)
* [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix.
* [intents] Fix some (partial) xtro issues and #59156 (#2585)
reference
https://bugzilla.xamarin.com/show_bug.cgi?id=59156
Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183
!missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound
!missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound
!missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound
* [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591)
* [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164
https://bugzilla.xamarin.com/show_bug.cgi?id=59164
All Confirm* methods from *IntentHandling interfaces should be named
just `Confirm` to avoid confusion because most of them do not directly
confirm as an acion, but instead they **ask** for confirmation also we
would follow swift's naming by doing this.
* [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling
Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block,
* [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590)
Apple added more protocol conformances to INRidesharingDomainHandling and
INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking
changes back when I did intents binding so fixing them :)
* [Metal] New bindings from Xcode 9 betas (#2457)
* [AVFoundation] Updated bindings for xcode9. (#2272)
* [Xcode9] Add IOSurface bindings (#2363)
* This framework was a private framework before iOS 11.
This framework was a private framework before iOS 11, yet the headers claim
many API were introduced in iOS 10.
So take account of this difference by using the private framework location in
iOS 10.3 or earlier.
Testing these API from Xcode works fine when run on an iOS 10.3 device, and
I've confirmed the IOSurface framework is loaded from the private frameworks
path on older devices (and when built using Xcode 9 and linked with the public
framework path).
* Disable code to make IOSurface work on iOS 10.
Disable the code to make IOSurface work on iOS 10, since it may be rejected by
the App Store.
This also means adjusting the availability attributes, so that the
introspection tests pass (and to document that technically these API won't
work when used with Xamarin.iOS in iOS 10).
I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later.
[1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201
* [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593)
The caller owns the return value from CMCopyDictionaryOfAttachments, so tell
Runtime.GetNSObject that.
* [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596)
https://bugzilla.xamarin.com/show_bug.cgi?id=59183
Fixes
!missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound
!missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound
!missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound
!incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract
* [xtro] Fix StartWorkingDirectory to enable debugging (#2598)
* [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597)
* [xtro] Fix EnumCheck (#2600)
* [ARKit] Rename a few method to make them nicer. (#2604)
* DisplayTransform -> GetDisplayTransform since methods should have verbs.
* SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded ->
InterruptionEnded since these names match better with the other names
(CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none
are prefixed with 'Session'). Additionally, the type is a Model (for the
delegate pattern), which means all methods are more-or-less event-like, and
the first argument is always the same (the protocol itself), which is
another indicator the methods should be named similarly.
* [Foundation] Remove 'Key' suffix from some fields. (#2606)
Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key'
suffix.
So make them all equivalent by removing the 'Key' suffix from these 5 fields.
* [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609)
An instance method does not need to take the instance as a parameter, so
remove the first (instance) parameter for
CGImageDestination.AddAuxiliaryDataInfo and
CGImageSource.CopyAuxiliaryDataInfo.
An alternative solution would be to make the methods static, but I like the
instance API better.
* [UIKit] De-model UIDataSourceTranslating. (#2603)
It's not clear from neither the documentation nor the headers how this
protocol is supposed to be used, and since it doesn't correspond to the
delegate pattern, remove the [Model] attribute for now.
We can always add it back later.
* [CoreML] Improve API. (#2592)
* [CoreML] Improve API.
* The indices, shape and stride properties for MLMultiArray and
MLMultiArrayConstraint can logically only be arrays of integers, so type
them as such. This means adding overloads for MLMultiArray's constructors,
GetObject and SetObject methods, and the indexers that takes nint[] arrays
instead of NSNumber[] arrays.
* Change MLFeatureValue's static factory methods to be a method ('Create')
instead of a preposition, and call all the different factory methods the
same, since they can be overloaded nicely.
* [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them.
* [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests.
* Support overloading Objective-C methods based on static/instance. (#2607)
Two Objective-C methods can be named identically as long as one is static and
the other instance.
We must support this since Apple did just this (in the NSItemProviderReading /
NSItemProviderWriting protocols).
We solve it by prepending a '+' or '-' to the selector when hashing it (to
determine selector uniqueness, and to look the method up again at runtime).
* [uikit] Update for Xcode 9 - Part 6 (#2602)
NSAttributedString.h
NSFileProviderExtension.h
NSLayoutAnchor.h
UIAccessibility.h
UIAccessibilityAdditions.h
UIAccessibilityContainer.h
UIAccessibilityContentSizeCategoryImageAdjusting.h
UIAccessibilityCustomRotor.h
UIAccessibilityLocationDescriptor.h
UITabBar.h
UINavigationBar.h
UIScreen.h
* Xcode9 scenekit (#2512)
* [SceneKit] basic work
* Added key
* [xcode9] SCNCameraController
* [xcode9] SCNCamera updates
* [xcode9] SCNMaterial
* [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits
* Add trailing commas to last enum value
* Remove whitespace noise
* [scenekit] Update deprecated attributes messages
* Addresses some of Rolf's feedback
* Drop the WeakDelegate in SCNCameraController
* Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception
* [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605)
NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to
'appendBezierPathXXX' selectors.
So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to
the other methods in the same type.
* [uikit] Add all UISpringLoadedInteractionSupporting (#2616)
Types do not conform to the protocol but protocol methods work on those types (see monotouch-test).
Fixed introspection tests accordingly and tested the selectors in monotouch-test.
* [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613)
Add a convenience constructor overload in
INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of
NSNumber, since logically "number of results" will always be some sort of
integer.
Also call the correct base constructor in INSpeakableString's custom
constructor (same as any other generated constructor). Otherwise we end up
doing something like this: [[[INSpeakableString alloc] init] initWith ...],
i.e. calling two different init methods.
* [coreimage] Add new headers API up to beta 6 (#2601)
Filters are not complete (ref: #57350)
https://bugzilla.xamarin.com/show_bug.cgi?id=57350
* Some new constants are not yet documented (type is known), so they
are commented / ignored
https://bugzilla.xamarin.com/show_bug.cgi?id=59296
* Filled bug for [Wrap] inside [Category] so strong dictionary helpers
can be re-enabled later
https://bugzilla.xamarin.com/show_bug.cgi?id=59294
* [foundation] xtro fixes for watchOS (#2586)
!missing-enum! NSProcessInfoThermalState not bound
!missing-field! NSProcessInfoThermalStateDidChangeNotification not bound
!missing-selector! NSProcessInfo::thermalState not bound
Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS
!missing-selector! NSItemProvider::preferredPresentationStyle not bound
!missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound
* [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used
* [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614)
* [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance.
* NSItemProviderWriting:
* NSItemProviderReading: Implement correctly and completely by uncommenting
commented out code.
* NSMutableString:
* NSAttributedString: remove inlined members, since these classes don't
implement NSItemProviderReading / NSItemProviderWriting (according to the
headers at least).
* NSUrl: all platforms now seem to implement NSItemProviderReading /
NSItemProviderWriting.
* NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting
* UIColor:
* UIImage: Update inlined protocol members according to the latest beta.
Additionally, due to the following conditions:
* The protocols all have the correct members now.
* In the API definition we tell the generator to inline members from a
protocol by inheriting from the corresponding interface.
* The generator doesn't inline static members from protocols.
several 'new' keywords had to be added to silence a compiler warning that
occurrs when we manually inline a static member, since the member would be
included in the type both from the inherited interface and the manual
implementation.
* [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods.
NSItemProviderWriting.GetItemProviderVisibility is an optional method, and
none of the native classes that implements NSItemProviderWriting actually
imlements the method. This means inlining the method in those classes ends up
creating unusable API; so just comment out the method to avoid generating the
unusable API.
The introspection tests found this:
[FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier:
[FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier:
[FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier:
[FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier:
[FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier:
[FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier:
[FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated:
See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308
* [iosurface] Add missing [TV] attributes (#2619)
* [opengles] Enable the new API using IOSurface (#2618)
The symbol only exists inside device libraries, not on simulator,
and the introspection tests were updated to ignore it.
Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054
* [avfoundation][watchos] Enable AudioBufferList (fix#59145) + audit (xtro) (#2617)
1. AudioBufferList is part of CoreAudio (wrong namespace, which needs
a few changes in the generator) and now available in watchOS 4
https://bugzilla.xamarin.com/show_bug.cgi?id=59145
2. Also fixes xtro found issues:
!missing-type! AVAudioRecorder not bound
!missing-selector! AVAudioRecorder::averagePowerForChannel: not bound
!missing-selector! AVAudioRecorder::channelAssignments not bound
!missing-selector! AVAudioRecorder::currentTime not bound
!missing-selector! AVAudioRecorder::delegate not bound
!missing-selector! AVAudioRecorder::deviceCurrentTime not bound
!missing-selector! AVAudioRecorder::format not bound
!missing-selector! AVAudioRecorder::initWithURL:format:error: not bound
!missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound
!missing-selector! AVAudioRecorder::isMeteringEnabled not bound
!missing-selector! AVAudioRecorder::isRecording not bound
!missing-selector! AVAudioRecorder::peakPowerForChannel: not bound
!missing-selector! AVAudioRecorder::recordAtTime: not bound
!missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound
!missing-selector! AVAudioRecorder::recordForDuration: not bound
!missing-selector! AVAudioRecorder::setChannelAssignments: not bound
!missing-selector! AVAudioRecorder::setDelegate: not bound
!missing-selector! AVAudioRecorder::setMeteringEnabled: not bound
!missing-selector! AVAudioRecorder::settings not bound
!missing-selector! AVAudioRecorder::url not bound
!missing-protocol! AVAudioRecorderDelegate not bound
!missing-selector! AVAudioEngine::inputNode not bound
!missing-selector! AVAudioEngine::manualRenderingBlock not bound
!missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound
!missing-selector! AVAudioPlayer::format not bound
!missing-selector! AVAudioSession::requestRecordPermission: not bound
!unknown-field! AVFileType3GPP bound
!unknown-field! AVFileType3GPP2 bound
!unknown-field! AVFileTypeAC3 bound
!unknown-field! AVFileTypeAIFC bound
!unknown-field! AVFileTypeAIFF bound
!unknown-field! AVFileTypeAMR bound
!unknown-field! AVFileTypeAVCI bound
!unknown-field! AVFileTypeAppleM4A bound
!unknown-field! AVFileTypeAppleM4V bound
!unknown-field! AVFileTypeCoreAudioFormat bound
!unknown-field! AVFileTypeDNG bound
!unknown-field! AVFileTypeEnhancedAC3 bound
!unknown-field! AVFileTypeHEIC bound
!unknown-field! AVFileTypeHEIF bound
!unknown-field! AVFileTypeJPEG bound
!unknown-field! AVFileTypeMPEG4 bound
!unknown-field! AVFileTypeMPEGLayer3 bound
!unknown-field! AVFileTypeQuickTimeMovie bound
!unknown-field! AVFileTypeSunAU bound
!unknown-field! AVFileTypeTIFF bound
!unknown-field! AVFileTypeWAVE bound
* [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes#58054. (#2621)
https://bugzilla.xamarin.com/show_bug.cgi?id=58054
* [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620)
* Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622)
* Implement Simd vector types (VectorFloat2/3/4/VectorInt4).
* [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions.
* [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2).
This way we won't have to create a MDLVoxelIndexExtent3 in the future.
* [SpriteKit] Use the new simd vectors in new API.
* [metal] Audit (xtro) based fixes (#2623)
!extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found
!extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found
macos-only
!missing-field! MTLDeviceRemovalRequestedNotification not bound
!missing-field! MTLDeviceWasAddedNotification not bound
!missing-field! MTLDeviceWasRemovedNotification not bound
!missing-pinvoke! MTLCopyAllDevices is not bound
* [CloudKit] Update bindings to beta 6. (#2615)
* [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634)
https://bugzilla.xamarin.com/show_bug.cgi?id=59329
At the time of binding NSFileProviderItemIdentifier it wasn't clear
how it was supposed to be used, I mean apple provides two keys which
I thought were the only possible values hence binding it as an smart
enum. Unfortunately this wasn't the case and the user can use those
two values provided from the SDK or their own NSString Identifier.
Swift provides a wrapper unfortunately we can't do the same due to
NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol
and we currently do not support changing signatures on them.
* [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes#59333. (#2630)
https://bugzilla.xamarin.com/show_bug.cgi?id=59333
* Bump Touch.Unit to get fix for API breakage. (#2631)
spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI.
spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments.
spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output.
* [IOSurface] Add missing availability attributes for tvOS. (#2629)
* Bump versions for preview 9 (#2624)
* [AVFoundation] Add missing interface AVRouteDetector. (#2637)
* [tests] Update xtro to reduce list sizes (#2636)
* Skip OpenTK duplicate declaration (we can't change them);
* Fix rule name change for ARKit / simd;
* Add missing default initializer on `init` to pending actions;
* Add note for AVPersistableContentKeyRequest changes wrt tvOS;
* [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639)
* [xcode9] More SceneKit bindings (#2633)
* [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644)
* [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380
https://bugzilla.xamarin.com/show_bug.cgi?id=59380
vector_float3 is 16 bytes, which means the binding is incorrect,
because Vector3 is 12 bytes, and our code does not that difference into account.
* Add tests
* [DeviceCheck] Disable default ctor for DCDevice. (#2642)
It doesn't seem to be useful according to the documentation, since it appears
that the only way to get an instance is to use the static CurrentDevice
property.
* [audiounit] Audit (xtro) fixes for tvOS (#2635)
Availability attributes in non-generated files don't hide symbols/code.
reference:
!unknown-pinvoke! AudioUnitExtensionCopyComponentList bound
!unknown-pinvoke! AudioUnitExtensionSetComponentList bound
* [tests] Make sure tvOS tests don't use the (unexisting) API
* [tests] Add all test project variations to tests-mac.sln (#2579)
* [xharness] Make sure generated mac projects have different project guids.
* [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid.
* [tests] Add all test project variations to tests-mac.sln.
* [xharness] Fix else condition.
* [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646)
https://bugzilla.xamarin.com/show_bug.cgi?id=59297
Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate
NSData constants
* [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647)
APIs were removed in beta 2
* [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes#59049. (#2638)
The callback for these LoadObject[s] methods take an INSItemProviderReading
parameter. This tells our runtime that we must provide an instance of a
managed object that implements this interface (but nothing else), so we create
a `NSItemProviderReadingWrapper` instance, which complies with the API (since
the wrapper type implements the corresponding interface).
Unfortunately these methods are supposed to return an instance of the passed-
in type, so in order to comply with this soft (documentation-only)
requirement, provide a wrapper method that creates instances of the right
types.
https://bugzilla.xamarin.com/show_bug.cgi?id=59049
* [arkit] Ignore deprecated selectors (#2645)
* [FileProvider] Adds missing protocol and keys from audit (#2652)
```
!missing-protocol! NSFileProviderServiceSource not bound
!missing-field! NSFileProviderErrorCollidingItemKey not bound
!missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound
!missing-field! NSFileProviderFavoriteRankUnranked not bound
```
Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol.
* [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654)
* [AVFoundation] Rename field to match others. (#2657)
* [homekit] Audit (xtro) fixes (#2653)
- HMCharacteristicEvent conforms to NSMutableCopying on iOS11
which makes it 64 bits only (so adjust intro tests)
- Ignore extra setters on HMMutablePresenceEvent, rdar 33883958
!missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound
!missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound
* [xtro] Add missing pinvoke to pending (#2662)
- Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory
(https://bugzilla.xamarin.com/show_bug.cgi?id=59422)
* Merge latest d15-3 fixes into xcode9 (#2660)
* [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186)
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119
* Bump mono (#2213)
* Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218)
- Improve Makefile to rebuild when projects build with errors
* Bump mono to get cecil fix for bug #56808. (#2222)
https://bugzilla.xamarin.com/show_bug.cgi?id=56808
* [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214)
This allows things to work on both xbuild and msbuild.
In xbuild, both lists are exactly the same and on msbuild,
only @(ReferencePath) exists.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147
* NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239)
This was due to an integer overflow. The original value was based on Int32
1 << 40 == 256
The correct value should be based on a UInt64.
1UL << 40 == 1099511627776
* [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243)
Strip native debugging symbols should not be checked for debug builds
* Bump mono to get fix for bug #57780.
https://bugzilla.xamarin.com/show_bug.cgi?id=57780
* Update .gitmodules
Change branch to d15-3 branch of mono
* Bump maccore to get fix for bug #55064.
https://bugzilla.xamarin.com/show_bug.cgi?id=55064
* [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919
Also fix#58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors
instead MT2102. That's already in master and d15-4
mono bump includes:
[2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3)
Merge: 02457c20fcf 5e05cafc6f1
Author: Luis Aguilera <luis.aguilera@xamarin.com>
Date: Fri Aug 18 10:04:06 2017 -0400
Merge pull request #5401 from marek-safar/com
[Marshal.IsComObject] Make this predicate return false instead of thr…
[3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0
Merge: da80840ea55 73fd9a1b82e
Author: Luis Aguilera <luis.aguilera@xamarin.com>
Date: Fri Aug 18 09:59:06 2017 -0400
Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3
[cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834
References
[1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789
[2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919
[3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834
* [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes#58778. (#2501)
We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so
make sure to add the symbol to the correct list of symbols we need.
Previously we were passing `-u _mono_profiler_startup_log` to clang directly,
which is fine, but not complete, since it does not write the symbol to the
symbollist file (--symbollist=file), which means it wouldn't be preserved when
the MSBuild tasks strip the executable.
https://bugzilla.xamarin.com/show_bug.cgi?id=58778
* Bump versions for SR3
https://trello.com/c/EVze08ei
* Bump mono to include HttpClientHandler fix#44027https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandlerhttps://bugzilla.xamarin.com/show_bug.cgi?id=44027
* [FileProvider] Add missing API and turn NSString to string (#2663)
Turned NSString to string in order to match exisiting API.
* [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649)
- Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types
(https://bugzilla.xamarin.com/show_bug.cgi?id=59363)
* [uikit] Remove 129 types in UIPasteConfigurationSupporting case
* [scenekit] Audit (xtro) fixes (#2648)
This looks like an Apple breaking change (since `SCNAnimation` is new)
but we now have:
> typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward);
bound as
> delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward);
and `CAAnimation` conforms to `SCNAnimation` but *only* the later is
available on watchOS. The delegate is only updated (since it's new)
on our watchOS profile.
xtro references:
(watchos)
!unknown-protocol! SCNCameraControlConfiguration bound
(tvos/watchos)
!missing-selector! SCNAnimation::animationEvents not bound
!missing-selector! SCNAnimation::setAnimationEvents: not bound
!missing-selector! SCNConstraint::isEnabled not bound
!missing-selector! SCNConstraint::setEnabled: not bound
!missing-field! SCNSceneSourceConvertToYUpKey not bound
!missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound
(ios/tvos)
!missing-protocol-conformance! SCNNode should conform to UIFocusItem
* Bump maccore post 15.3 merge (#2665)
* Bump Xcode 9 to GM (#2667)
* Force build (on wrench)
* [avfoundation] Fix breaking changes (apidiff) (#2664)
* [TVServices] Update to Xcode 9 GM (#2675)
* [GameController] Update to Xcode 9 GM (#2673)
* [LocalAuthentication] Update to Xcode 9 GM (#2671)
* [LocalAuthentication] Update to Xcode 9 GM
* Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout
* [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659)
* [AVFoundation] Add missing types AVSampleBufferAudioRenderer and
AVSampleBufferRenderSynchronizer
Some of the new added types were already present BUT under a #if
MONOMAC, they had to be moved.
* [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650)
* [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677)
The platform name is used to filter availability attributes, and if we use the
wrong platform, we'll incorrectly skip all availability attributes.
The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f
* Various Xcode 9 API improvements and also fixes bug 59433 (#2676)
https://bugzilla.xamarin.com/show_bug.cgi?id=59433
While fixing bug 59433 I noticed some additional issues outlined below:
AVDepthData:
* Renamed **non** static `Create` methods because `Create` only
makes sense with the **Static** method in this context. Also
by renaming the methods we are now closer to the names that
swift uses.
* Kept descriptive method names in favor of self-documenting code.
`Convert`, `Apply` and `Replace` do not fully give us the intent
of the method.
* Added a convenience `Create` static method that takes a
`CGImageAuxiliaryDataInfo`.
* AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead
of a `NSNumber` array (The aactual fix for bug 59433).
ImageIO:
* Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order
to avoid most of the manual code and also to avoid reimplementing
the `ToDictionary` method (which contained a subtle bug).
* Adjusted code to reflect the above change.
* Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class
is able to be created by our `Runtime.Get*`.
* Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo`
as a `DictionaryContainer`.
Tests:
* Added `xamarinmonkey.heic` which is an image that contains depth data needed
to test above changes.
* Adds `AVDepthDataTests` that touches most of the changes listed here.
* Tweak the Simd-compatible matrices and vectors (#2668)
* Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#).
* Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version).
* Update the API to match their OpenTK counterparts better:
* NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields.
* NMatrix4 has a 1-based M## scheme for its fields (i.e. no change).
* [AVFoundation] Use Simd-matrix for API that needs it. (#2679)
This also requires implementing the corresponding matrix (NMatrix4x3).
Fixes this xtro issue:
> !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type.
* [xtro] Fix checking availability on categories. (#2682)
When checking for category availability, check if both the current declaration
is a category, and if the current's declaration container is a category.
Otherwise this scenario fails:
* Category method is available.
* Category does not have availability attributes.
* Main class is unavailable.
with this typical code sequence:
```csharp
// don't process methods (or types) that are unavailable for the current platform
if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ())
return;
```
In which case we'd:
* First check the method (`decl`):
* It's available, so no further checks is done on the method.
* Then we'd check the method's container (`decl.DeclContext`):
* The container (the category) does not have availability attributes.
* Then we'd check if the container's container is a category (it isn't, it's the namespace).
and as such determine that the method is available.
With this change, the second step will become:
* Then we'd check the method's container (`decl.DeclContext`):
* The container (the category) does not have availability attributes.
* Then we'd check if the container is a category (it is), and if its main class is available (it isn't).
and as such determine that the method is unavailable.
* Check for attributes on the method's container (no attributes, so we continue).
* Check if the method's
Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1
* [uikit] Update for Xcode 9 GM (#2670)
* [AVFoundation] Implement AVCapturePhoto. Partially fixes#59388. (#2678)
Fixes:
> common.unclassified:!missing-type! AVCapturePhoto not bound
https://bugzilla.xamarin.com/show_bug.cgi?id=59388
* Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat.
* [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632)
The following types will be used by ModelIO bindings
* Fix delta to be double
* Rename Simd-compatible matrices and vectors to match our final naming.
This also means removing the new Vector2 and Vector4 variants (but not
Vector3).
* [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687)
* [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688)
* [arkit] Update for Xcode 9 GM (#2681)
* [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690)
* [Intents] Fix watchOS INCarSeatResolutionResult breaking changes
Type Changed: Intents.INCarSeatResolutionResult
Removed methods:
public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm);
public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue);
* [avfoundation] Add missing protocol members and deprecations (#2691)
!missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found
and the selector removed from PR#2687 was actually replaced with this one
!missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found
* [tests][xtro] Map some enums, more fix with protocols and update entries (#2692)
* [Tests] Reenable dns tests on the watch. (#2674)
* [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696)
* [coreimage] Skip not yet bound filters added in Xcode9 (#2698)
Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350
* [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702)
https://bugzilla.xamarin.com/show_bug.cgi?id=59498
From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc)
> Creates an empty argument descriptor.
* [msbuild] Always codesign app bundles if the codesign key is non-null (#2697)
...even if it is a simulator build.
Turns out that starting with Xcode9, sim builds need to be codesigned
for App Groups entitlements to work properly. Interestingly, the
DetectSigningIdentity logic had a comment about needing to codesign
simulator builds for some entitlements to work already starting with
Xcode 8 but apparently the iOS targets did not respect this.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379
* [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693)
https://bugzilla.xamarin.com/show_bug.cgi?id=59247
We need to have a better solution that removes all what NSProxy does not responds to.
Right now this works because NSObject implements NSObject protocol just like NSProxy, but
NSProxy responds to far less selectors hence doing it internal so it is not a breaking change
when we provide the correct fix.
* Keep NSProxy around and avoid XML linker description
We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate
is used. We know WKWebView will be there and can hold a reference to it.
* [Xcode 9] Update Metal for GM (#2689)
* [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes#59201 (#2706)
Apple rejects apps that links with the previously private IOSurface.framework.
We were not sure about this [1] and had it disabled (this is removed).
However another bug stopped our adjustment logic [2] from being executed. This
is needed since `clang` picks up the private framework if it does not find the
public one (even when asking for a weak framework),
[1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201
[2] Added a while ago for JavascriptCore
* Bump maccore to point to commit with the docs fix. (#2703)
* Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684)
* fix typo
* [xharness] Make sure generated mac projects have different project guids.
* [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid.
* [tests] Add all test project variations to tests-mac.sln.
* [xharness] Fix else condition.
Fixes this exception:
```
Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'.
File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'
at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188
at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171
at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252
at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture ()
at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128
at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357
at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113
at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113
at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870
```
I'm not sure how this can happen, but it has on the bots [1].
[1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/
The tests will eventually end up skipped because there are no applicable
devices, and matches the behavior when no devices are connected.
The log file for the device list will show what actually happened.
* [monotouch-test] Optionally ignore tests that show permission dialogs.
* [xharness] Add support for excluding tests that require permission dialogs.
* [xharness] Ignore introspection tests if we don't want permission dialogs.
Ignore introspection tests for now if we don't want permission dialogs, since
figuring out which API requires permissions is a tedious process (which we'll
eventually have to do though).
The test might still succeed (in fact failing later because it failed to
uninstall first is very rare), so don't make a test fail if uninstalling the
app failed.
Most browsers know that ".log" are text files, but have no idea what do do
about ".symbolicated", so change the extension to be ".log" so that it's
easier to download symbolicated crash reports.
Improve test reporting using xml by adding custom information printed during
the test run into the xml, and then extract this information when reporting
test results in xharness (which is much easier than re-constructing the
information from the xml, which caused information to get lost since not
everything piece of interesting is in the xml).
https://bugzilla.xamarin.com/show_bug.cgi?id=51661
* Bump to Xcode 9 beta 2
* [CoreImage] Stub out new CIImage filters in Xcode 9 beta 2.
* [monotouch-test] Update tests according to Xcode 9 beta 2.
* [xharness] Ask watch simulator tests to write output directly to a file.
It seems the watch simulator in Xcode 9 beta 2 has completely lost network
access (everything times out), so instead ask the tests to store results
directly in the resulting file.
This works for now since the watch simulator does not enforce the sandbox.
* [xharness] Rewrite the logic to write unit output to a file so that it works with Jenkins.
For Jenkins we ask the unit tests to produce XML, and this needs some special
treatment.
* [xharness] Protect against exceptions in the listener thread, so that it doesn't take xharness down.
* [xharness] Protect against a potential NullReferenceException, and fix one case where it would occur.
* [xharness] A few logging fixes.
* [Intents] Fix API & tests according to beta 2 changes.
* Update to mono 2017-04 branch
* Patch from Zoltan to fix build error with CppSharp.CppParser.dll
* Include new linker files in Makefile, based on mareks commit
* [msbuild] Fix running bgen for Xamarin.Mac.
bgen must be executed with the system mono, not bmac-mobile-mono, and without
the MONO_PATH variable set.
* System.Data tests should act as if they are running on mobile profile
* Add --runtime=mobile to mono flags in Modern
* Move runtime launcher options up
* System.Data tests should use Mobile profile (mac fix)
* Bump 2017-04 to pick up AOT and assembly resolution fixes
* Build fixes for netstandard.dll and System.Drawing.Primitives.dll
The new handling went in with https://github.com/mono/mono/pull/4501.
I also noticed that WatchOS was missing a target for System.Drawing.Primitives.dll, so I added that.
* Add netstandard.dll to 2.1/Facades and System.Drawing.Primitives.dll to WatchOS
* Fix 2.1/Facades/netstandard.dll build
* Fix the netstandard targets
* Bump mono to latest 2017-04 commit
* [xharness] Fix adding defines to csproj by correctly detecting existing defines.
* Bump mono to latest 2017-04 commit
* [mtouch] Update csproj with new files.
* [mtouch] Improve reporting for MarkExceptions from the linker.
* Bump mono to latest 2017-04 commit
* Bump mono to pick up latest 2017-04 branch commit (Fixes#55436)
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55436
* Add a missing Makefile dependency
* Chris Hamons patch to apply --runtime=mobile as necessary at AOT time
(It is currently being applied for some configurations at runtime only)
* Bump system mono
* Bump mono for assembly loader changes
* Bump system mono
* Update assemblies list as some where moved to facades
6ca5ec442bc38e4d9220
* Bump mono to latest 2017-04 commit
* Add another new facade
* Bump mono to tip of 2017-04.
* Bump mono to tip of 2017-04.
* [tests][mtouch] Adjust tests to cope with fewer assemblies being included in linked apps. Fixes#56307 and #56308.
System.dll is now completely linked away unless the app actually uses any
System.dll API.
This is the change that caused this to change: 4960d5d2a2
Previously the following types would always be kept by the linker:
```
$ monodis --typedef System.dll
Typedef Table
1: (null) (flist=1, mlist=1, flags=0x0, extends=0x0)
2: ObjCRuntime.INativeObject (flist=1, mlist=1, flags=0xa0, extends=0x0)
3: Mono.Net.CFObject (flist=1, mlist=2, flags=0x100000, extends=0x5)
4: Mono.Net.CFArray (flist=4, mlist=19, flags=0x100, extends=0xc)
5: Mono.Net.CFNumber (flist=5, mlist=32, flags=0x100100, extends=0xc)
6: Mono.Net.CFRange (flist=5, mlist=41, flags=0x100108, extends=0x25)
7: Mono.Net.CFString (flist=7, mlist=42, flags=0x100100, extends=0xc)
8: Mono.Net.CFData (flist=8, mlist=53, flags=0x100100, extends=0xc)
9: Mono.Net.CFDictionary (flist=8, mlist=63, flags=0x0, extends=0xc)
10: Mono.Net.CFMutableDictionary (flist=10, mlist=75, flags=0x100100, extends=0x24)
11: Mono.Net.CFUrl (flist=10, mlist=80, flags=0x100100, extends=0xc)
12: Mono.Net.CFRunLoop (flist=10, mlist=83, flags=0x100100, extends=0xc)
13: Mono.Net.CFBoolean (flist=10, mlist=94, flags=0x100, extends=0x5)
14: Mono.AppleTls.SecCertificate (flist=13, mlist=106, flags=0x100100, extends=0x5)
15: Mono.AppleTls.SecIdentity (flist=14, mlist=122, flags=0x100, extends=0x5)
16: Mono.AppleTls.SecIdentity/ImportOptions (flist=19, mlist=134, flags=0x100105, extends=0x5)
17: Mono.AppleTls.SecKey (flist=19, mlist=134, flags=0x100100, extends=0x5)
18: Mono.AppleTls.SecStatusCode (flist=21, mlist=141, flags=0x100, extends=0x69)
19: Mono.AppleTls.SecTrustResult (flist=395, mlist=141, flags=0x100, extends=0x69)
20: Mono.AppleTls.SecImportExport (flist=404, mlist=141, flags=0x100100, extends=0x5)
21: Mono.AppleTls.SecImportExport/<>c (flist=404, mlist=144, flags=0x102103, extends=0x5)
22: Mono.AppleTls.SecPolicy (flist=406, mlist=147, flags=0x100100, extends=0x5)
23: Mono.AppleTls.SecTrust (flist=407, mlist=154, flags=0x100100, extends=0x5)
24: System.Security.Cryptography.OidGroup (flist=408, mlist=174, flags=0x101, extends=0x69)
25: System.Security.Cryptography.Oid (flist=420, mlist=174, flags=0x100101, extends=0x5)
26: System.Security.Cryptography.CAPI (flist=423, mlist=176, flags=0x100180, extends=0x5)
27: System.Security.Cryptography.AsnEncodedData (flist=423, mlist=178, flags=0x100101, extends=0x5)
28: System.Security.Cryptography.X509Certificates.X509Utils (flist=424, mlist=179, flags=0x100100, extends=0x5)
29: System.Security.Cryptography.X509Certificates.PublicKey (flist=424, mlist=181, flags=0x100101, extends=0x5)
30: System.Security.Cryptography.X509Certificates.X509Certificate2 (flist=429, mlist=188, flags=0x102101, extends=0x51)
31: System.Security.Cryptography.X509Certificates.X509Certificate2Impl (flist=431, mlist=204, flags=0x100080, extends=0x55)
32: System.Security.Cryptography.X509Certificates.X509CertificateCollection (flist=431, mlist=209, flags=0x102101, extends=0x6d)
33: System.Security.Cryptography.X509Certificates.X509CertificateCollection/X509CertificateEnumerator (flist=431, mlist=212, flags=0x100102, extends=0x5)
34: System.Security.Cryptography.X509Certificates.X509Helper2 (flist=432, mlist=217, flags=0x100180, extends=0x5)
35: <PrivateImplementationDetails> (flist=432, mlist=218, flags=0x100, extends=0x5)
36: <PrivateImplementationDetails>/__StaticArrayInitTypeSize=9 (flist=433, mlist=219, flags=0x113, extends=0x25)
```
Some of the above types from System.dll implemented ObjCRuntime.INativeObject
(from System.dll), which our linker detected as implementing
ObjCRuntime.INativeObject (from Xamarin.iOS.dll), so these types were treated
as custom NSObject subclasses, and the MarkNSObjects linker step would mark
them (which would in turn cause all the other types in the list to be marked).
With that change, these types now implement ObjCRuntimeInternal.INativeObject,
and the linker does not treat them as custom NSObject subclasses anymore.
I think the new behavior is correct: these types do not actually inherit from
the real NSObject/INativeObject, so the linker should not treat them as such.
This may run into different bugs because the linker might now remove more
stuff than before, but that would be a different issue.
This means that the fix is to modify these tests accordingly.
https://bugzilla.xamarin.com/show_bug.cgi?id=56307https://bugzilla.xamarin.com/show_bug.cgi?id=56308
* Bump mono to latest.
* Fix merge conflict that was missed
* [mtouch] Renumber new error which clashes with an existing error number in master.
Rework how the two different xammac configurations are done, so that we don't
generate identical makefile targets for both variations (we'll generate a
single makefile target, and the configuration is selected using an environment
variable).
Fixes these makefile warnings:
Makefile-mac.inc:303: warning: overriding commands for target `build-mac-unified-xammac_tests'
Makefile-mac.inc:287: warning: ignoring old commands for target `build-mac-unified-xammac_tests'
Makefile-mac.inc:307: warning: overriding commands for target `clean-mac-unified-xammac_tests'
Makefile-mac.inc:291: warning: ignoring old commands for target `clean-mac-unified-xammac_tests'
Makefile-mac.inc:310: warning: overriding commands for target `exec-mac-unified-xammac_tests'
Makefile-mac.inc:294: warning: ignoring old commands for target `exec-mac-unified-xammac_tests'
Makefile-mac.inc:313: warning: overriding commands for target `run-mac-unified-xammac_tests'
Makefile-mac.inc:297: warning: ignoring old commands for target `run-mac-unified-xammac_tests'
https://bugzilla.xamarin.com/show_bug.cgi?id=56492
Sometimes streams won't write null when done, which means that if we wait
indefinitely for this to happen, we'll effectively deadlock.
Instead have a 1s timeout, after which we consider that we've captured
everything we need.
Example: https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/3771/Test_Report/
(the test run hangs waiting for the mtouch tests, which finished pretty much instantly).
This affects introspection-ios/introspection-mac (which are now grouped in an
`introspection` test), and dontlink-mac (which now shows up in the `dont link`
tests).