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

558 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge d8f1449ac7 [introspection] Fix API for introspection test for older watchOS versions. (#794)
* [introspection] Implement system version check for watchOS.

Fixes a P/Invoke test that should be skipped when running on
older OS versions.

* [tests] Add availability attributes to fix running introspection tests on older watchOS devices.
2016-09-07 13:45:36 -04:00
Alex Soto 424fe9ae1e [UIKit] Remove 3 protocol members until bug 43579 is fixed (#783)
https://bugzilla.xamarin.com/show_bug.cgi?id=43579

We are removing the following 3 protocol members
- UITextFieldDelegate.EditingEnded2 (UITextField textField, UITextFieldDidEndEditingReason reason)
- UITextViewDelegate.ShouldInteractWithUrl2 (UITextView textView, NSUrl url, NSRange characterRange, UITextItemInteraction interaction)
- UITextViewDelegate.ShouldInteractWithTextAttachment2 (UITextView textView, NSTextAttachment textAttachment, NSRange characterRange, UITextItemInteraction interaction)

Reasons:
- We need to fix bug https://bugzilla.xamarin.com/show_bug.cgi?id=43579
- Bad naming, we do not want 2 suffix

Hopefully we can have this ready for C8SR0 or C8SR1
2016-09-07 10:08:43 -04:00
Sebastien Pouliot 5db30f619e [metal] Fix MTLHeapDescriptor and test it only on devices (#782)
It turns out `MTLHeapDescriptor` does not exists on the simulator.

```Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_MTLHeapDescriptor", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64```

A `[DisableDefaultCtor]` was used (by mistake / lack of documentation)
and this was hiding the issue (on our bots).

However on device introspection was not happy:

iOSApiSelectorTest
[FAIL] Selector not found for Metal.MTLHeapDescriptor : cpuCacheMode
[FAIL] Selector not found for Metal.MTLHeapDescriptor : setCpuCacheMode:
[FAIL] Selector not found for Metal.MTLHeapDescriptor : size
[FAIL] Selector not found for Metal.MTLHeapDescriptor : setSize:
[FAIL] Selector not found for Metal.MTLHeapDescriptor : storageMode
[FAIL] Selector not found for Metal.MTLHeapDescriptor : setStorageMode:
    [FAIL] iOSApiSelectorTest.ApiSelectorTest.InstanceMethods :   6 errors found in 18339 instance selector validated

Note that these are the properties, not the `init` that's mentioned here.

So first `init` is possible, on devices, from Xcode:

	MTLHeapDescriptor *hd = [[MTLHeapDescriptor alloc] init];
	NSLog (@"%@", [hd description]);

gives

	<MTLHeapDescriptorInternal: 0x17401da50>
	{
		cpuCacheMode = MTLCPUCacheModeDefaultCache;
		size = 0;
		storageMode = MTLStorageModePrivate;
		}

so we need to remove our `[DisableDefaultCtor]`.

That does not fix the selectors above... but note the *Internal type
returned, they are forwarded and that's generally something that
respondToSelector (that introspection uses) does not cover.

But, to be sure, we add unit tests showing all the properties are
working like expected :-)
2016-09-07 08:03:14 -04:00
Sebastien Pouliot 596dd0a3f3 [macos] Fix introspection tests (typo + NSUrlSession* test sharing) 2016-09-06 13:32:51 -04:00
Sebastien Pouliot 3054daf39b [photos] Update TODOs wrt lack of PHLivePhotoShouldRenderAtPlaybackTime in the SDK 2016-09-06 09:58:36 -04:00
Sebastien Pouliot f5052c105c [healthkit] Change binding for HKDetailedCdaErrors (#757)
* [healthkit] Change binding for HKDetailedCdaErrors

* Hide [Fields]
* Easier access to the information from NSError
* Unit test (mostly to make sure of the returned type)

* [healthkit] Remove HKDetailedCDAValidationErrorKey from watchOS profile

It's used from an NSError returned from an API that is not available in
watchOS.
2016-09-03 11:36:05 -04:00
Sebastien Pouliot 838ccc4cf4 [tests][xtro] Update data files 2016-09-02 20:37:08 -04:00
Sebastien Pouliot 4c09e91f91 [watchos] Remove several [Obsolete] API when alternatives exists (#742) 2016-09-02 10:02:29 -04:00
Sebastien Pouliot 4220714485 Merge branch 'cycle8' into xcode8 2016-09-01 14:38:23 -04:00
Rolf Bjarne Kvinge 2a4fc5d23b [introspection] Fix build with mono 4.6 by referencing System.Core explicitly. (#735) 2016-09-01 14:29:57 -04:00
Sebastien Pouliot 3428fdc400 [tests] Update monotouch-test to add version checks when executing on older iOS versions. Fixes #43920 (#729)
Tested with iOS 9.3, 8.4 and 6.1.

https://bugzilla.xamarin.com/show_bug.cgi?id=43920
2016-08-31 23:08:54 -04:00
Sebastien Pouliot d9c309b85d [modelio] Fix several incorrect (headers) availability on new API (only in iOS10, not 9) (#726) 2016-08-31 17:59:53 -04:00
Alex Soto b8a2ced04b [Midi] Fix bug 43582 - MidiEndpoint throws, bad dispose of GCHandle
https://bugzilla.xamarin.com/show_bug.cgi?id=43582

- Thanks to @olegoid for the actual investigation and fix
- Added test that verifies the fix
2016-08-31 08:48:11 -04:00
Rolf Bjarne Kvinge 7de44f3253 [tests] Fix a couple of registrar tests to work on device. (#719)
Fixes the following test failures:

    [FAIL] BlockSignatureTest.WithoutUserDelegateTypeAttribute : System.ExecutionEngineException : Attempting to JIT compile method '(wrapper native-to-managed) MonoTouchFixtures.ObjCRuntime.BlockSignatureTest:<WithoutUserDelegateTypeAttribute>m__0 (intptr,intptr)' while running with --aot-only. See http://docs.xamarin.com/ios/about/limitations for more information.
    	  at (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:GetFunctionPointerForDelegateInternal (System.Delegate)
    	  at System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate (System.Delegate d) [0x00011] in /work/maccore/xcode8/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/corlib/System.Runtime.InteropServices/Marshal.cs:1714
    	  at ObjCRuntime.BlockLiteral.SetupBlock (System.Delegate trampoline, System.Delegate userDelegate) [0x0000b] in /work/maccore/xcode8/xamarin-macios/src/ObjCRuntime/Blocks.cs:92
    	  at MonoTouchFixtures.ObjCRuntime.BlockSignatureTest.WithoutUserDelegateTypeAttribute () [0x00049] in /work/maccore/xcode8/xamarin-macios/tests/monotouch-test/ObjCRuntime/RegistrarTest.cs:2585
    	  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
    	  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /work/maccore/xcode8/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:309

    [FAIL] BlockSignatureTest.WithUserDelegateTypeAttribute : System.ExecutionEngineException : Attempting to JIT compile method '(wrapper native-to-managed) MonoTouchFixtures.ObjCRuntime.BlockSignatureTest:<WithUserDelegateTypeAttribute>m__2 (intptr,intptr)' while running with --aot-only. See http://docs.xamarin.com/ios/about/limitations for more information.
    	  at (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:GetFunctionPointerForDelegateInternal (System.Delegate)
    	  at System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate (System.Delegate d) [0x00011] in /work/maccore/xcode8/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/corlib/System.Runtime.InteropServices/Marshal.cs:1714
    	  at ObjCRuntime.BlockLiteral.SetupBlock (System.Delegate trampoline, System.Delegate userDelegate) [0x0000b] in /work/maccore/xcode8/xamarin-macios/src/ObjCRuntime/Blocks.cs:92
    	  at MonoTouchFixtures.ObjCRuntime.BlockSignatureTest.WithUserDelegateTypeAttribute () [0x00049] in /work/maccore/xcode8/xamarin-macios/tests/monotouch-test/ObjCRuntime/RegistrarTest.cs:2596
    	  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
    	  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /work/maccore/xcode8/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:309
2016-08-31 13:54:47 +02:00
Alex Soto 83cfa197a9 [Midi] Fix bug 43582 - MidiEndpoint throws, bad dispose of GCHandle
https://bugzilla.xamarin.com/show_bug.cgi?id=43582

- Thanks to @olegoid for the actual investigation and fix
- Added test that verifies the fix
2016-08-31 01:48:28 -05:00
Sebastien Pouliot a2899b842c [cloudkit] Fix some missing .ctor (breaking changes) (#711)
Enabling CloudKit on watchOS required to remove some default .ctor that
watchOS does not _support_.

This commit fix this by either

* replacing the default .ctor with something that works across all
  platforms (best); or

* removing the default .ctor only on watchOS;

The commit also mark as abstract three existing types for watchOS (and
for XAMCORE_4_0) that were found reviewing the bindings.
2016-08-30 19:14:48 -04:00
Sebastien Pouliot 974ea0b792 Merge branch 'cycle8' into xcode8 2016-08-30 15:40:58 -04:00
Alex Soto 209f4f3709 [GameplayKit] Update from Xcode8 Beta 1 to Beta 6 (#689)
Runtime
- Added support for Vector2d, Vector3d and Vector4d SIMD types
- Added support for GKBox, GKQuad and GKTriangle SIMD types

GameplayKit
- Apple introduced GKQuadTreeNode and GKQuadTree in Xcode 7.1 and
  removed those types in a later Xcode (7.2?) but we kept them around.
  Now apple introduced again both types but renamed them to GKQuadtreeNode
  and GKQuadtree (lowercase t), this is a breaking change and since we do
  care about binary compat we are just changing the registration name and
  keeping the same managed name deprecating old methods and introducing
  the new ones.
- Added tests for new SIMD types
2016-08-30 15:32:46 -04:00
Sebastien Pouliot f74a7a7911 [messageui] Review (and add test) the enum breaking change from Apple. Fixes #42682 (#710)
Xcode8 SDK changed untyped enums (always 32 bits) into NSInteger. In this
case we can continue with the existing API (and ignore them in xtro)

reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=42682
2016-08-30 14:26:49 -04:00
Rolf Bjarne Kvinge cbfd83be92 [xharness] Make sure a project reference's Name matches the file name of the reference. Fixes #43181. (#709)
Apparently XS can't find referenced project (to build them) otherwise.

It works fine when building using xbuild though.

https://bugzilla.xamarin.com/show_bug.cgi?id=43181
2016-08-30 13:32:32 -04:00
Rolf Bjarne Kvinge d9f8461cc2 [xharness] Make sure a project reference's Name matches the file name of the reference. Fixes #43181. (#709)
Apparently XS can't find referenced project (to build them) otherwise.

It works fine when building using xbuild though.

https://bugzilla.xamarin.com/show_bug.cgi?id=43181
2016-08-30 13:31:40 -04:00
Chris Hamons a43115a85e [XM] Fix native dependency processing by mmp when linker is disabled (#613)
* [XM] Fix native dependency processing by mmp when linker is disabled

- https://bugzilla.xamarin.com/show_bug.cgi?id=43364
- Fixed via a hack for now. Fixed https://bugzilla.xamarin.com/show_bug.cgi?id=43419 to clean up later
- Added null check in ProcessDLLImports due to facades
2016-08-30 08:45:03 -04:00
Sebastien Pouliot 3c28e427ce [tests][xtro] Update data files (#705) 2016-08-29 22:06:14 -04:00
Sebastien Pouliot 85f884c94d [corebluetooth] Update availability attributes for some obsolete (removed) API (#702)
references:
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrieveConnectedPeripherals: found
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrievePeripherals: found
!extra-protocol-member! unexpected selector CBPeripheralDelegate::peripheralDidInvalidateServices: found
2016-08-29 16:48:03 -04:00
Manuel de la Pena d5bb9326ec [Metal] Update bindings for Xcode 8. (#663) 2016-08-29 08:21:06 -04:00
Sebastien Pouliot b5638fce4d [tests][xtro] Update data files 2016-08-28 12:18:18 -04:00
Sebastien Pouliot d85caeffde [tvos][avfoundation] Adjust API for tvOS (#687)
Some types were removed in tvOS 10, including:

!unknown-protocol! AVAssetDownloadDelegate bound
!unknown-type! AVAssetDownloadTask bound
!unknown-type! AVAssetDownloadURLSession bound
!unknown-type! AVAudioInputNode bound

and we're replacing them with stubs so our binaries won't contain any of
the selectors that could be rejected by Apple on the app store

Some (new) fields are also not part of tvOS (and were not in iOS either)

!unknown-field! AVVideoCodecAppleProRes422 bound
!unknown-field! AVVideoCodecAppleProRes4444 bound
!unknown-field! AVVideoColorPrimaries_EBU_3213 bound
!unknown-field! AVVideoTransferFunction_SMPTE_240M_1995 bound
!unknown-field! AVVideoYCbCrMatrix_SMPTE_240M_1995 bound

* [tests][xtro] Many categories are not marked as not available on tvOS, even if the type being extended is not available. This adds entries for them so only missing AV* API remains in tvos.unclassified
2016-08-26 20:40:01 -04:00
Chris Hamons 9fdd40d114 [XM] Missing NSUserNotification bindings (#686)
- https://bugzilla.xamarin.com/show_bug.cgi?id=38118
2016-08-26 15:38:22 -05:00
Chris Hamons 3bdb0e37a6 [XM] More xtro-sharpie fixes (#682) 2016-08-26 12:32:45 -05:00
Chris Hamons bc9c25de72 [XM] Add missing SafariServices binding (#681) 2016-08-26 10:30:45 -05:00
Rolf Bjarne Kvinge a617bee08f [xharness] Crashing is not OK. (#680) 2016-08-26 09:12:44 -04:00
Sebastien Pouliot 6d5beb61cb Merge branch 'cycle8' into xcode8 2016-08-26 08:19:33 -04:00
Sebastien Pouliot 2bcd40054f [linker] Ensure we do not devirtualize methods that needs to be called from a base class to satisfy an interface. Fixes #34308 (#675)
Update unit tests to catch this case and be more precise in others.

reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=43408
2016-08-26 08:17:01 -04:00
Sebastien Pouliot 0bea77b781 [linker] Ensure we do not devirtualize methods that needs to be called from a base class to satisfy an interface. Fixes #34308 (#675)
Update unit tests to catch this case and be more precise in others.

reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=43408
2016-08-26 09:24:51 +02:00
Sebastien Pouliot 144d96999b Merge branch 'cycle8' into xcode8 2016-08-25 14:08:23 -04:00
Chris Hamons 3ad2491006 Fixup C8 static registrar to work w\ Xcode 8 (#647)
* Fix static registrar on 10.12 by teaching it that QTKit is dead (#472)
* Rip out all 64-bit registration in 32-bit XM.
2016-08-25 14:03:43 -04:00
Sebastien Pouliot afd50b2bef [watchos][avfoundation] Enable AVFoundation in watchOS (#659) 2016-08-25 11:39:48 -04:00
Rolf Bjarne Kvinge 1d4019e966 [xharness] Don't run into an infinite loop if failing to run sqlite3. (#666) 2016-08-25 11:08:40 -04:00
Rolf Bjarne Kvinge d99d8c8cbe Fix ObjC encoding of block signatures. Fixes #43592. (#662)
The P/Invoke callback method that's called by native code
has a simpler function signature than what the user delegate
has.

Example P/Invoke callback signature:

    static unsafe void Invoke (IntPtr block, IntPtr obj)

which ends up calling this delegate:

    System.Action<NSDictionary>

The NSDictionary parameter has been simplifed to just IntPtr.

The problem is that we need to encode the block signature according
to the signature of the user delegate (Apple uses the signature
in some cases, and fails/aborts if the signature doesn't match
what the code expects).

So add more metadata to make it possible to find the signature
of the user delegate at runtime.

The generator generates code like this:

    block_scheduledCompletion.SetupBlock (Trampolines.SDActionArity1V2.Handler, scheduledCompletion);

where SDActionArity1V2.Handler is defined as this:

    static internal readonly DActionArity1V2 Handler = Invoke;

this means we can get the type of `Trampolines.SDActionArity1V2.Handler` at runtime
(which would be `DActionArity1V2` in this case), so put a new attribute (`UserDelegateTypeAttribute`)
at that type:

    [UnmanagedFunctionPointerAttribute (CallingConvention.Cdecl)]
    [UserDelegateType (typeof (global::System.Action<NSDictionary>))]
    internal delegate void DActionArity1V2 (IntPtr block, IntPtr obj);

Then at runtime we check if the target delegate's type has this attribute,
and then we use the type specified by this new attribute instead when
computing the ObjC signature of the block.

https://bugzilla.xamarin.com/show_bug.cgi?id=43592
2016-08-25 11:08:22 -04:00
Rolf Bjarne Kvinge 451781a98f [xharness] Don't run classic tests on wrench. (#661) 2016-08-25 13:11:51 +02:00
Alex Soto 9354e2044e [Intents] Fixes bug 43205 - SiriKit API Inconsistencies
https://bugzilla.xamarin.com/show_bug.cgi?id=43205

Per documentation[1] INIntentResolutionResult is an abstract class
and now we honor that, also we now provide the right return type
on each of the properties (NeedsValue, NotRequired and Unsupported)
in all subclasses of INIntentResolutionResult.

Unit tests added for all INIntentResolutionResult subclasses.

[1]: https://developer.apple.com/reference/intents/inintentresolutionresult?language=objc
2016-08-24 10:14:27 -05:00
Alex Soto d0647bc0da [AudioUnit/AudioToolbox] Updated to Xcode8b1 to Xcode8b6 (#651) 2016-08-23 20:29:43 -04:00
Sebastien Pouliot eb8d0be0a4 [security] Add new API (up to beta 6) and unit tests (#646)
A problem, that exists with the current API, is that several constants
are hidden but many are needed in some dictionaries - and not all of
them can be turned into _classic_ StrongDictionary.

This initial PR does not solve all the (old) problems, but it does offer
some useful overloads that makes the API usable for basic usages and
expose the NSDictionary-based API.
2016-08-23 11:36:39 -04:00
Sebastien Pouliot f63ecd7a21 [uikit] Re-expose 'defaultFormat' in UIGraphicsRendererFormat subclasses since it returns a 'instancetype'. Fixes #43640 (#643)
https://bugzilla.xamarin.com/show_bug.cgi?id=43640
2016-08-23 10:53:57 -04:00
Manuel de la Pena ba37aa4419 [AVFoundation] Add bindings for Xcode 8. (#635) 2016-08-23 08:19:54 -04:00
Sebastien Pouliot 4f53b7e51f [tests] Fix NetworkReachabilityTest/Loopback difference on iOS/tvOS 10+. Fixes 42542 (#638)
https://bugzilla.xamarin.com/show_bug.cgi?id=42542
2016-08-22 11:03:26 -04:00
Alex Soto 16d5d68503 [UIKit] Updated UIKit to xcode8-beta6 (#636)
Expected extrospection test failures:

- ios.unclassified:!missing-field! UIApplicationInvalidInterfaceOrientationException not bound

Generator bugs:

- HACK: We have a generator bug(?) that won't allow overloads (AmbiguousMatchException) in protocols

tvOS/iOS 9 Introspection Expected failures (UIKit Only):

- [FAIL] UIKit.UIContentSizeCategoryExtensions.UIContentSizeCategoryUnspecified
Generated enum extensions do not honor availability on NSString properties

API Diff, expected changes (verified and correct):

Type Changed: UIKit.UIContentSizeCategory

Modified fields:

	ExtraExtraExtraLarge = 6 7
	ExtraExtraLarge = 5 6
	ExtraLarge = 4 5
	ExtraSmall = 0 1
	Large = 3 4
	Medium = 2 3
	Small = 1 2

Added values:

	AccessibilityExtraExtraExtraLarge = 12,
	AccessibilityExtraExtraLarge = 11,
	AccessibilityExtraLarge = 10,
	AccessibilityLarge = 9,
	AccessibilityMedium = 8,
	Unspecified = 0,
2016-08-22 08:44:43 -04:00
Vincent Dondain 5999d9cc4e [modelio] Update for iOS 10 beta 1 (#606) 2016-08-19 13:55:59 -04:00
Sebastien Pouliot b611414ef0 [tests] Add NSCameraUsageDescription to monotouch-test to avoid crash in AVFoundation. Fixes bug #43517 (#634) 2016-08-19 11:18:58 -04:00
Sebastien Pouliot c7abd28f2c [foundation] Fix NSDimension.BaseUnit on subclasses. Fixes #43444 (#623)
This is a static selector that needs to be overridden, which is not the
usual pattern in C#. We re-define it using [New] on subclasses.

Unit tests added for all NSDimension subclasses.

reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=43444
2016-08-19 08:27:23 -05:00
Sebastien Pouliot c0d1ec3b7b [tests] Fix intro failures reported from iOS 6.1 and 7.1 devices (#629)
Also fix warnings printed while executing:

> CoreText performance note: Client called CTFontCreateWithName() using name "Arial" and got font with PostScript name "ArialMT". For best performance, only use PostScript names when calling this API.
> CoreText performance note: Set a breakpoint on CTFontLogSuboptimalRequest to debug.
2016-08-18 23:02:42 -04:00
Sebastien Pouliot a0fd00c083 [tests] Fix monotouch-test failures when executed on iOS 9.x. Fixes bug #43520 (#632) 2016-08-18 22:59:26 -04:00
Sebastien Pouliot df7f604aad [tests] Update xtro data files to get more accurate results (#630) 2016-08-18 22:02:42 -04:00
Manuel de la Pena a5f6564aaa [AVFoundation] Update bindings for Xcode 8. (#598)
[AVFoundation] Update bindings for Xcode 8.
2016-08-18 13:17:17 +02:00
Chris Hamons b54bcd6ae0 [XM] Fix xtro-sharpie issues (#620) 2016-08-17 20:11:05 -04:00
Sebastien Pouliot 1c7cd140c0 [tests] Fix introspection failures when running on iOS 9.3 (#615)
* ApiCMAttachmentTest
 	[FAIL] ApiCMAttachmentTest.CheckFailAttachments :   CGColorConverter.Handle

* SKNode added conformance to new (in iOS10) UIFocus protocol.
	[FAIL] Selector not found for SpriteKit.SKNode : didUpdateFocusInContext:withAnimationCoordinator:
	[FAIL] Selector not found for SpriteKit.SKNode : setNeedsFocusUpdate
	[FAIL] Selector not found for SpriteKit.SKNode : shouldUpdateFocusInContext:
	[FAIL] Selector not found for SpriteKit.SKNode : updateFocusIfNeeded
	[FAIL] Selector not found for SpriteKit.SKNode : preferredFocusedView

* HKWorkoutEvent conformance to NSCopying is new in iOS10
	[FAIL] Selector not found for HealthKit.HKWorkoutEvent : copyWithZone:

* HKDocumentType was added in iOS 10 (not iOS 8) and not watchOS 2 or 3

	ref: +HK_CLASS_AVAILABLE_IOS_ONLY(10_0)

	[FAIL] iOSApiProtocolTest.ApiProtocolTest.Coding : ObjCRuntime.RuntimeException : Wrapper type 'HealthKit.HKDocumentType' is missing its native ObjectiveC class 'HKDocumentType'.
2016-08-16 19:07:01 -04:00
Sebastien Pouliot 285756a083 [coretelephony] Re-enable CTCallCenter default ctor. Fixes #43329 (#617)
reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=43329

It was disable as it crashed our test suite and the crash report from
the simulators were not very helpful. The issue becomes clear from
device builds...

Application Specific Information:
BUG IN CLIENT OF LIBDISPATCH: dispatch_barrier_sync called on queue already owned by current thread
Abort Cause 6244246656

Filtered syslog:
None found

Thread 0 name:  tid_a07  Dispatch queue: CTCallCenter
Thread 0 Crashed:
0   libdispatch.dylib             	0x00000001839fdf60 _dispatch_barrier_sync_f_slow + 596
1   CoreTelephony                 	0x000000018756e7ec -[CTCallCenter callEventHandler] + 128
2   CoreTelephony                 	0x000000018756e7ec -[CTCallCenter callEventHandler] + 128
3   CoreTelephony                 	0x000000018756f51c __27-[CTCallCenter description]_block_invoke + 60
4   CoreTelephony                 	0x000000018756f79c ___ZN8dispatch9sync_implIU13block_pointerFP8NSStringvEEENSt3__15decayIDTclfp0_EEE4typeEP16dispatch_queue_sOT_NS5_17integral_constantIbLb0EEE_block_invoke + 32
5   libdispatch.dylib             	0x00000001839ed1c0 _dispatch_client_callout + 16
6   libdispatch.dylib             	0x00000001839fa860 _dispatch_barrier_sync_f_invoke + 84
7   libdispatch.dylib             	0x00000001839fde9c _dispatch_barrier_sync_f_slow + 400
8   CoreTelephony                 	0x000000018756f4d0 -[CTCallCenter description] + 128
9   introspection                 	0x000000010192b7b8 wrapper_managed_to_native_ObjCRuntime_Messaging_IntPtr_objc_msgSend_intptr_intptr (/<unknown>:1)
10  introspection                 	0x00000001012dbff8 Foundation_NSObject_get_Description (NSObject.g.cs:717)
11  introspection                 	0x00000001012d8e34 Foundation_NSObject_ToString (NSObject2.cs:703)

so calling `description` is broken and we need to exclude this from our
introspection tests for the type.
2016-08-16 17:26:06 -04:00
Chris Hamons 1d09e9040b [XM] Fix native dependency processing by mmp when linker is disabled (#613)
* [XM] Fix native dependency processing by mmp when linker is disabled

- https://bugzilla.xamarin.com/show_bug.cgi?id=43364
- Fixed via a hack for now. Fixed https://bugzilla.xamarin.com/show_bug.cgi?id=43419 to clean up later
- Added null check in ProcessDLLImports due to facades
2016-08-16 15:24:01 -05:00
Sebastien Pouliot 77d246790c [metalperformanceshaders] Update up to beta 5 (#605) 2016-08-16 12:00:49 -04:00
Sebastien Pouliot 9fe13aaa58 Bump for Xcode8 beta 6 (#610)
* Bump for Xcode8 beta 6

* Bump maccore (to bump maciostools) and update mlaunch download location to run tests on the simulator
2016-08-15 20:19:51 -04:00
Sebastien Pouliot c7fb13d67c [tests] Wrench has mono 4.6 and it requires an explict reference to System.Core to compile introspection tests (#608) 2016-08-15 15:48:52 -04:00
Chris Hamons 9f27f8b6bc [XM] Disable QLPreviewPanel in introspection ctor tests due to random failure (#611) 2016-08-15 14:44:30 -05:00
Sebastien Pouliot f802a51b82 [foundation] Update up to beta 5 (#603) 2016-08-15 15:36:45 -04:00
Sebastien Pouliot f2f4bc8ccf [tests] Add NSMicrophoneUsageDescription to monotouch-test. Fixes #42544 (#604)
New requirement for iOS10 on devices

https://bugzilla.xamarin.com/show_bug.cgi?id=42544
2016-08-13 13:04:08 -04:00
Sebastien Pouliot c9633e3515 [coregraphics] Update up to beta 5 (#599)
Apple removed CGColorConverter even if it was publicly exposed in iOS 9.3,
not that I recall any API that consumed it...

It was replaced by a new, very close, type named CGColorConversionInfo and
the existing code and tests were updated to the new API.

So for `CGColorConverter` we're

* iOS: Obsoleted + code removal
* tvOS: Obsoleted + code removal
* watchOS: the API can be removed as it was not exposed in a stable release
* macOS: it was not enabled (did not work)

* [tests] Adjust ApiCMAttachmentTest so it knows how to create the new CGColorConversionInfo type
2016-08-12 13:45:09 +02:00
Manuel de la Pena 65ffc88aa5 [AVFoundation] Update bindings for XCode8. Focus on enums and structs. (#591) 2016-08-11 08:22:59 -04:00
Sebastien Pouliot 9fb98d9297 [watchos][gamekit] Add missing API and adjust xtro data files for deprecations (#595)
reference (missing)
!missing-selector! +GKAchievement::reportAchievements:withCompletionHandler: not bound
2016-08-10 13:16:10 -04:00
Sebastien Pouliot b184973b96 [watchos][cloudkit] Complete support of CloudKit on watchOS (#578)
Also apply fixes based on xtro results. Most of them are likely because the iOS frameworks contains out-dated headers wrt watchOS.

references:

* Missing fields /API
!missing-field! CKShareThumbnailImageDataKey not bound
!missing-field! CKShareTitleKey not bound
!missing-field! CKShareTypeKey not bound
!missing-selector! CKContainer::acceptShareMetadata:completionHandler: not bound
!missing-selector! CKContainer::fetchShareMetadataWithURL:completionHandler: not bound

* tvOS: enabled
!missing-selector! CKNotificationInfo::setShouldSendContentAvailable: not bound
!missing-selector! CKNotificationInfo::shouldSendContentAvailable not bound

* watchOS: xtro fixes for additions/removal in the same release
!missing-type! CKFetchRecordChangesOperation not bound
!missing-type! CKDiscoverAllContactsOperation not bound
!missing-type! CKDiscoverUserInfosOperation not bound
!missing-type! CKDiscoveredUserInfo not bound
!missing-selector! CKContainer::discoverAllContactUserInfosWithCompletionHandler: not bound
!missing-selector! CKContainer::discoverUserInfoWithEmailAddress:completionHandler: not bound
!missing-selector! CKContainer::discoverUserInfoWithUserRecordID:completionHandler: not bound

* watchOS: missing [NoWatch] on some types
!unknown-native-enum! CKQuerySubscriptionOptions bound
!unknown-native-enum! CKSubscriptionOptions bound
!unknown-native-enum! CKSubscriptionType bound
!unknown-type! CKDatabaseSubscription bound
!unknown-type! CKNotificationInfo bound
!unknown-type! CKQuerySubscription bound
!unknown-type! CKRecordZoneSubscription bound
!unknown-type! CKSubscription bound
2016-08-10 08:57:28 -04:00
Chris Hamons 31f056244c Revert "Enable logging during mac introspection tests (#510)" (#586)
- This reverts commit 9e731e842c.
- We've hopefully nailed down the test failure.
2016-08-09 20:27:50 -04:00
Sebastien Pouliot 69c1bddf23 [watchos][healthkit] Add entries to xtro to cover the two remaining special cases (#580) 2016-08-09 15:39:36 -04:00
Vincent Dondain c932422e9e [healthkit] Update for iOS 10 beta 1 (#572) 2016-08-09 10:23:12 -04:00
Manuel de la Pena 97bcc9fd0a [CloudKit] Update bindings for Xcode 8. (#530) 2016-08-09 08:11:44 -04:00
Sebastien Pouliot ff77f85a4c Merge branch 'cycle8' into xcode8 2016-08-08 15:29:36 -04:00
Sebastien Pouliot 21891ea3bc [spritekit] Replace incorrect TV (it's TVOS) condition to fix SKNode (#569)
references:
!missing-protocol-conformance! SKNode should conform to UIFocusItem
!wrong-base-type! SKNode expected UIResponder actual NSObject
2016-08-08 11:51:25 -04:00
Sebastien Pouliot 3590034537 [foundation] Add more bindings (but not complete, WIP) including NSMeasurement that is now needed by some Intents.framework API (#556) 2016-08-07 10:27:34 -04:00
Sebastien Pouliot 921b254adc [watchos][scenekit] Enable SceneKit on watchOS (#563)
* Enable some SceneKit-related WatchKit API
* Enable some SceneKit-related SpriteKit API
* Enable some SceneKit-related Foundation API
* Fix generator to include `using SceneKit;` on watchOS
* Adjust xtro tests since watchOS headers include some stuff that's not available in reality
* Lots of [Watch (3,0)] attributes
2016-08-06 10:59:16 -04:00
Rolf Bjarne Kvinge 812051ee18 [xharness] Don't generate makefile targets for non-executable projects. (#567) 2016-08-06 10:58:03 -04:00
Chris Hamons a3c7029c6a [XM] Fix "random" crash in introspection tests (#565)
- Hopefully kill https://bugzilla.xamarin.com/show_bug.cgi?id=42267
2016-08-05 16:14:37 -05:00
Rolf Bjarne Kvinge 56fc26b26f [xharness] Split the mscorlib/System test run for watchOS into multiple executions. (#564)
* [tests] Implement filtering based on test name to make it possible to run a subset of tests manually.

* [xharness] Add support for passing environment variables to test apps.

* [xharness] Split the mscorlib/System test run for watchOS into multiple executions.

When running on a watch, the complete set of mscorlib and System tests use too
much memory, so they end up crashing the app.

So instead don't run all the tests in the same test run, but
instead split them up.

This splits the System tests in 5 different sets, based on the first
character of the test class name.

The mscorlib tests are split in 26 different sets, one for each
character (A-Z).
2016-08-05 22:28:13 +02:00
Rolf Bjarne Kvinge 960a164e4e [tests] Tweak watchOS test UI a bit. (#561) 2016-08-05 22:26:43 +02:00
Rolf Bjarne Kvinge d22c7adcda [tests] Split mscorlib into two test assemblies. Fixes #41746. (#562)
On watchOS we can't include all the tests for device in a single
assembly, because the native object code becomes too big.

So instead split the tests into two assemblies. Luckily this
is fairly easy for test projects, since they have few dependencies
between source files (there are some however, so source files
are grouped per directory so that files in the same directory do
not end up in different test projects). There is also some hard-coded
logic.

https://bugzilla.xamarin.com/show_bug.cgi?id=41746
2016-08-05 21:04:46 +02:00
Rolf Bjarne Kvinge 9f3d438169 [xharness] Attach a native debugger when running watchOS tests on device. (#560)
Attaching a native debugger prevents the watch from backgrounding
the app, and makes the test run able to complete without having
to babysit it.
2016-08-05 21:03:56 +02:00
Rolf Bjarne Kvinge 4f3af5eefb [xharness] Simplify BCL project generation by merging iOS and tvOS logic. (#558) 2016-08-05 19:45:59 +02:00
Alex Soto 58a0e6136a [Scenekit] Update SceneKit to Xcode8 Beta 4 (#552)
* Fixed reports of xtro tests
* Fixed some members that are @required members of an existing protocol (XAMCORE_4_0)
* Added some new typo fixes to Intrespection tests
* Fixed SCNNode.EnumerateChildNodes delegate signature
2016-08-05 08:23:02 -04:00
Sebastien Pouliot b146861389 [tests] Fix LinkSDK DllImportTest on newer OS (#554)
Latest iOS 10, tvOS 10 and watchOS 3 uses a newer libsqlite version.

It's not clear is macOS 10.12 also does (and that could affect the
test when using the simulators)
2016-08-04 20:00:52 -04:00
Sebastien Pouliot 937eb70686 Merge branch 'cycle8' into xcode8 2016-08-04 13:26:08 -04:00
Rolf Bjarne Kvinge 08882e2e9c [tests] Add explicit reference to System.Core. (#545) 2016-08-04 16:55:40 +02:00
Rolf Bjarne Kvinge ee239a9cb9 Merge pull request #539 from rolfbjarne/xm-fix-static-registrar
[XM] Fix the static registrar.
2016-08-04 15:49:21 +02:00
Rolf Bjarne Kvinge 916838c7e3 [tests] Split mscorlib into two test assemblies. Fixes #41746. (#544)
On watchOS we can't include all the tests for device in a single
assembly, because the native object code becomes too big.

So instead split the tests into two assemblies. Luckily this
is fairly easy for test projects, since they have few dependencies
between source files (there are some however, so source files
are grouped per directory so that files in the same directory do
not end up in different test projects). There is also some hard-coded
logic.

https://bugzilla.xamarin.com/show_bug.cgi?id=41746
2016-08-04 15:47:05 +02:00
Chris Hamons 52a8642d2c [XM] Teach mmp to set rpath we we copy frameworks into bundle Framework dir (#506)
- https://bugzilla.xamarin.com/show_bug.cgi?id=42846
2016-08-04 08:35:23 -05:00
Chris Hamons 6f4be16d3a [XM] Fix static registrar.
Rip out all 64-bit registration in 32-bit XM.
2016-08-04 11:54:59 +02:00
Vincent Dondain ddd1988f64 [spritekit] Update for iOS 10 beta 1 (#498)
* [spritekit] Update for iOS 10 beta 1

* [spritekit] Add missing MarshalDirective

* [runtime] Add missing simd function signatures

- Add matrix_float2x2 and matrix_float3x3 natives types.

* [introspection] Fix ApiSignatureTest

- We now avoid checking {?=[X]} encoded signatures.
- We now calculate the right size for matrix_float2x2, matrix_float3x3 and matrix_float4x4.
- Fix SKWarpGeometryGrid wrong bindings revealed by tests (IntPtr instead of Vector2).

* [monotouch-test] Add SKUniform and SKWarpGeometryGrid tests
2016-08-03 19:12:07 +02:00
Sebastien Pouliot eab578af88 [callkit] Update for beta 4 (#531) 2016-08-02 21:13:54 -04:00
Sebastien Pouliot c99bca8695 Merge pull request #518 from spouliot/beta4-bump
Bump Xcode to beta 4 to run tests against the newest toolchain and SDKs
2016-08-02 13:59:24 -04:00
Rolf Bjarne Kvinge 395a497281 [xharness] Fail properly if we fail to load simulators. (#520) 2016-08-02 18:24:34 +02:00
Rolf Bjarne Kvinge 2c892e2b02 [xharness] Get new mlaunch for beta 4. 2016-08-02 18:15:54 +02:00
Chris Hamons 798aca0767 [XM] Fix static registrar.
Rip out all 64-bit registration in 32-bit XM.
2016-08-02 17:44:10 +02:00
Chris Hamons 9e731e842c Enable logging during mac introspection tests (#510)
- Try to track down a random crash
- https://bugzilla.xamarin.com/show_bug.cgi?id=42267
2016-08-02 08:33:01 -05:00
Sebastien Pouliot 3f0d43debf [foundation] Adding new iOS 10 API (part 1) (#503)
- Split in two to ease review;

- Unit tests added for NSUrlSessionTaskMetrics and
  NSUrlSessionTaskTransactionMetrics as they don't respond to selectors
  like expected (but just like other NSUrlSession* types)
2016-08-02 08:03:35 -04:00
Sebastien Pouliot f9b69492d5 Merge branch 'cycle8' into xcode8 2016-08-01 14:37:32 -04:00
Rolf Bjarne Kvinge c30a2f52ce [xharness] Don't run into an infinite loop if failing to run sqlite3. (#515) 2016-08-01 16:36:14 +02:00
Rolf Bjarne Kvinge f2c1e0e15e [tests] Add explicit reference to System.Core. (#513) 2016-08-01 15:57:15 +02:00
Marek Safar 03febb985d [tests] Add explicit System.Core references 2016-07-30 10:06:46 +02:00
Marek Safar 92bb1cd05f [tests] Add explicit System.Core references 2016-07-30 00:12:10 +02:00
Chris Hamons 08ba6a7af7 [XM] Teach mmp to set rpath we we copy frameworks into bundle Framework dir (#506)
- https://bugzilla.xamarin.com/show_bug.cgi?id=42846
2016-07-28 07:49:21 -05:00
Sebastien Pouliot afe6c788a2 [tests][xtro] Update some data files (#496) 2016-07-26 15:58:52 -04:00
Sebastien Pouliot 8f657bbd38 [passkit] Update for beta 1-2 for iOS and watchOS (#487) 2016-07-26 15:57:26 -04:00
Sebastien Pouliot c37f450a09 Merge branch 'cycle8' into xcode8 2016-07-26 11:41:45 -04:00
Rolf Bjarne Kvinge 556f9991a2 [tests] Exclude the 'RequiresBSDSockets' category from watchOS tests. (#495) 2016-07-26 11:39:50 -04:00
Rolf Bjarne Kvinge abd5d1ba46 Use dlsym for user assemblies on iOS. (#492)
We tried disabling dlsym for all assemblies on iOS, but it turned
out to break a significant amount of customer code [1].

So re-enable it, but only for user assemblies (since we control
all assemblies we ship and can thus make sure those work with
dlsym disabled).

https://trello.com/c/guig1MF2/623-re-enable-dlsym-for-ios
2016-07-26 11:39:18 -04:00
Rolf Bjarne Kvinge 130d981b5b Use dlsym for user assemblies on iOS. (#488)
We tried disabling dlsym for all assemblies on iOS, but it turned
out to break a significant amount of customer code [1].

So re-enable it, but only for user assemblies (since we control
all assemblies we ship and can thus make sure those work with
dlsym disabled).

https://trello.com/c/guig1MF2/623-re-enable-dlsym-for-ios
2016-07-26 08:12:40 -04:00
Vincent Dondain edbc04b720 [homekit] Add iOS 10 beta 2 missing bindings (#481)
- Made an API available for tvOS.
- Annotated ios.pending with things already bound.
2016-07-25 15:03:11 -04:00
Rolf Bjarne Kvinge dec9ff608f [xharness] Don't try killing a process that has already exited. (#483) 2016-07-25 15:02:35 -04:00
Rolf Bjarne Kvinge 51937dc7e3 [xharness] Don't generate makefile targets for non-executable projects. (#482) 2016-07-25 15:01:34 -04:00
Rolf Bjarne Kvinge d1d0e9a501 [xharness] Simplify BCL project generation by merging iOS and tvOS logic. (#480) 2016-07-25 15:01:14 -04:00
Rolf Bjarne Kvinge b30c4967da [tests] Fix a few compiler warnings about unused code. (#479) 2016-07-25 15:00:43 -04:00
Sebastien Pouliot d8d1fff94a [tvos][photos] Decorate API with [TV (10,0)] (#478)
xtro results do not show any missing/extra API
2016-07-25 11:38:25 -04:00
Sebastien Pouliot cb38c14bf8 Merge branch 'cycle8' into xcode8 2016-07-25 08:28:26 -04:00
Rolf Bjarne Kvinge 8f685cba8f [mtouch tests] Improve Sdk tests to list all failing assemblies instead of failing on the first one. (#474) 2016-07-25 08:18:49 -04:00
Sebastien Pouliot 1190aac04c [tvos][externalaccessory] Enable framework on platform (#470)
* Enable ExternalAccessory for tvOS and teach the static registrar about the lack of simulator headers.
2016-07-24 10:44:19 -04:00
Sebastien Pouliot 7a5f89e7a8 [clockkit][watchos] Update for beta 1-3 (#459)
`getPlaceholderTemplateForComplication:withHandler:` was @required in
watchOS 2.x but is now deprecated and downgraded to @optional in
watchOS 3 (betas)

This is a breaking change but we have not released our final watchOS 2.x
bits yet so it make sense to backport this change (unless Apple reverts
it before 3.0 is released)
2016-07-22 17:13:49 -04:00
Rolf Bjarne Kvinge 90f56133f9 [monotouch-test] Tweak UrlSessionTest.DownloadDataAsync to not crash the process if exceptions occur. (#466) 2016-07-22 17:11:45 -04:00
Chris Hamons 5ddc619589 [XM] Update bindings and tests for Xcode8b3 (#467)
* [XM] AppKit Xcode8 Beta3 changes

* [XM] Update intents.cs with macOS attributes

* [XM] Fix bindings caught by introspection test

* [XM] Fix classic introspection tests by marking safariservices as 64-bit only

* [XM] Async upgrade

* [XM] Fix apitest on classic by noting IntentsLibrary is 64-bit only
2016-07-22 17:10:23 -04:00
Sebastien Pouliot 5a9d8240c2 [watchos][gamekit] Enable GameKit on watchOS (#452)
Apple does not (yet?) ship the headers for GameKit on the watch simulator (radar [1]). The static registrar was tweaked to skip this on the simulator.

[1] https://trello.com/c/Okdw58IO/51-27476259-gamekit-header-files-are-missing-for-watchsimulator
2016-07-22 13:35:59 -04:00
Chris Hamons 2190f8b33d [XM] - Fix protocol bindings that had BaseType but no Model (#460)
- https://trello.com/c/9JANewiM
- My analysis was incorrect, the binding was wrong and the test caught it.
- If you have [Model] you must have [BaseType], and if you don't want [Model] you must not use [BaseType]
2016-07-22 15:58:17 +02:00
Alex Soto 958861869c [UserNotifications] Fix xtro test results and bug in UNNotificationResponse (#455)
* ActionIdentifier from UNNotificationResponse class can be
  a NSString defined in UNNotificationActionIdentifier but can
  also be a custom defined identifier so we can't really strong type it
* Renamed enums to use the same name as defined in the header because
  we don't really know how this framework will evolve over time
  and there is a chance that the current naming can create confusion
  in the long run so we play safe here
2016-07-22 08:11:28 -04:00
Alex Soto c27c86e03d [CallKit] Fix xtro test issues (#454) 2016-07-22 08:09:48 -04:00
Alex Soto 329648c08c Merge pull request #453 from dalexsoto/intents
[Intents] Fix xtro tests feedback
2016-07-21 13:49:57 -05:00
Sebastien Pouliot 7637658e28 Merge branch 'cycle8' into xcode8 2016-07-21 11:40:41 -04:00
Sebastien Pouliot 72d0658344 [security][tvos] Remove SecSharedCredential API (#457)
Xcode8 SDK (for tvOS 10) marked those API with __TVOS_UNAVAILABLE making
them only available on iOS.

Since the API are not yet released in stable (C8) so we can removing
them  proactively. It will be easier to add them back later (if the
situation change) than removing/obsoleting them.
2016-07-21 11:37:28 -04:00
Sebastien Pouliot 413b5c2a88 [security][tvos] Remove SecSharedCredential API (#457)
Xcode8 SDK (for tvOS 10) marked those API with __TVOS_UNAVAILABLE making
them only available on iOS.

Since the API are not yet released in stable (C8) so we can removing
them  proactively. It will be easier to add them back later (if the
situation change) than removing/obsoleting them.
2016-07-21 11:30:19 -04:00
Alex Soto e207c6a6b9 [Intents] Fix xtro tests feedback
* Fixed macOS availability attributes where it made sense
* Added inconclusive members to mac.pending and opened radar://27463602
  https://trello.com/c/BPdUlTlg about it
* iOS xtro reported members that got deprecated and introduced on iOS 10
  so added that to pending and those members are not bound
2016-07-20 22:02:14 -05:00
Sebastien Pouliot 31aa2959cd [tests][monotouch-tests] Skip UrlSessionTest.CreateDataTaskAsync as all cases fails on watchOS 3 beta 3 (#449) 2016-07-20 13:44:51 -04:00
Sebastien Pouliot 5fd99350df [tests] Fix MoviePlayerControllerTest for it's classic only test (broke on iOS 10 beta 3) (#443) 2016-07-20 08:15:09 -04:00
Vincent Dondain c87be8b279 [mediaplayer] Update for iOS 10 beta 3 (#446) 2016-07-20 08:14:50 -04:00
Rolf Bjarne Kvinge 8700473020 [mtouch tests] Improve Sdk tests to list all failing assemblies instead of failing on the first one. (#444) 2016-07-20 12:12:54 +02:00
Sebastien Pouliot 308db4d1ea Merge branch 'cycle8' into xcode8 2016-07-19 14:27:59 -04:00
Rolf Bjarne Kvinge 40137dcfb6 [xharness] Don't use variables (isSimulator) before they've been initialized. (#433)
Fixes an issue where we would try to fetch crash logs from device when
running in the simulator.
2016-07-19 14:16:02 -04:00
Alex Soto 60826625cb [Callkit] Update CallKit bindings to Xcode 8 Beta 3 (#422)
* Apple removed macOS availability with this release
2016-07-19 08:04:15 -04:00
Sebastien Pouliot 980e71bc10 Bump Xcode requirement to 8.0 beta 3 (#418) 2016-07-18 23:16:44 -04:00
Sebastien Pouliot 52ffb2b251 Merge branch 'cycle8' into xcode8 2016-07-18 14:34:12 -04:00
Manuel de la Pena 53e2129230 [Fix] Ensure that symbolication contains the aotid subdirs that will contain the msym files. 2016-07-18 18:19:25 +02:00
Manuel de la Pena 30ae7cf5a3 [Fix] Ensure that symbolication contains the aotid subdirs that will contain the msym files. 2016-07-18 16:42:00 +02:00
Sebastien Pouliot 24b5dfbcb9 [tests] Disable PassLibraryTest.Default on watchOS as it hangs the process (#412)
Jul 15 15:44:26 castor monotouchtest[42732]: [default] [ERROR] error while getting ubiquityIdentityToken: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.bird.token was invalidated." UserInfo={NSDebugDescription=The connection to service named com.apple.bird.token was invalidated.}

^ the above is printed several times after this
2016-07-18 08:35:53 -04:00
Sebastien Pouliot f38d545d31 [tests] Ensure monotouch-test runs fine down to iOS 6.1 (#411)
* Mostly missing checks

* FontTest: Apple never fixed that and the way we link now, without
  dlsym, makes the test crash

dyld: lazy symbol binding failed: Symbol not found: _CTFontCreateWithFontDescriptorAndOptions
  Referenced from: /var/mobile/Applications/6025D222-F50E-46E0-8BF5-9C45D4C7DACB/monotouchtest.app/monotouchtest
  Expected in: /System/Library/Frameworks/CoreText.framework/CoreText
2016-07-15 18:10:30 -04:00
Vincent Dondain b62ecd5348 [xtro-sharpie] Use default mono in Makefile (#407) 2016-07-15 13:52:40 -04:00
Vincent Dondain 4ee02eb6b1 [xtro-sharpie] Use default mono in Makefile (#407) 2016-07-15 13:20:52 -04:00
Vincent Dondain 2dfe8fe400 [mediaplayer] Update for iOS 10 beta 1 - Part 2 (#406) 2016-07-15 13:19:25 -04:00
Sebastien Pouliot d2c1b63ec0 Fix monotouch-tests failures on older iOS versions (#401)
Tested with iOS 7.1 on an iPad 3

- Dynamic registrar needs to ignore new CBManager base class;
- CGImageMetadataTag.Value returns a mutable array on iOS10;
- MPMediaItem properties needed 9.2 / 10.0 check;
- MSMessage not available before Xcode 8;
- Metal not available before Xcode 6;
- MetalPerformanceShaders not available before Xcode 7;
2016-07-14 22:00:52 -04:00
Sebastien Pouliot 9998d35f37 [watchos][cloudkit] Fix introspection tests (#399)
I enabled CloudKit earlier, but that framework was not updated and the
tests did not run on watchOS.

Now the tests are enabled (and fails PR) so this is a minimal fix to
get PR green again. CloudKit still needs to be updated for the new SDK.

Note: headers often mention 2.0 and 2.2 for API but the framework was
not available before 3.0. Some information might not be trustworthy.
2016-07-14 16:17:41 -04:00
Alex Soto 059f5000ea Merge pull request #384 from dalexsoto/intents
[Intents] Add Intents framework from Xcode 8 beta2
2016-07-14 14:53:04 -05:00
Chris Hamons 8a6a464b4c Appkit for Xcode Beta 2 (#392) 2016-07-14 15:38:00 -04:00
Rolf Bjarne Kvinge 63811c85e5 [registrar] Use the correct parameters when generating category methods. Fixes #42489. (#385)
Category methods are exposed like extension methods, and the first parameter
specifies the class, which means we need to skip the first type when generating
the ObjC signature.

https://bugzilla.xamarin.com/show_bug.cgi?id=42489
2016-07-14 15:33:21 -04:00
Rolf Bjarne Kvinge ea9cfe533c [xharness] Don't use variables (isSimulator) before they've been initialized. (#397)
Fixes an issue where we would try to fetch crash logs from device when
running in the simulator.
2016-07-14 15:31:55 -04:00
Rolf Bjarne Kvinge 724308cb0d [registrar] Forward-declare ObjC classes. Fixes #42454. (#395)
There can be circular dependencies between Objective-C classes,
so make sure we don't fail compilation when that occurs by
forward declaring any Objective-C classes/protocols.

The test case in question does not contain a circular dependency,
but the same issue occurs due to types not being generated in the
correct order (a correct order could be constructed for the test
case, but there's no general solution since circular dependencies
can exist).

https://bugzilla.xamarin.com/show_bug.cgi?id=42454
2016-07-14 15:28:57 -04:00
Rolf Bjarne Kvinge a429d2981c [xharness] Add support for re-reading console output.
Fixes a confusing exception/error message when a test run times out.
2016-07-14 19:23:02 +02:00
Rolf Bjarne Kvinge 2be5478669 [xharness] Mark timed out runs as timed out. 2016-07-14 19:23:02 +02:00
Rolf Bjarne Kvinge ddfad1bc88 [registrar] Use the correct parameters when generating category methods. Fixes #42489. (#396)
Category methods are exposed like extension methods, and the first parameter
specifies the class, which means we need to skip the first type when generating
the ObjC signature.

https://bugzilla.xamarin.com/show_bug.cgi?id=42489
2016-07-14 18:42:30 +02:00
Rolf Bjarne Kvinge e6fc5a15d0 [runtime] Parse unions in objc encodings correctly. Fixes #42452. (#394)
Unions are defined as follows:

    (name=type...)

and we were not correctly parsing the 'name=' part.

https://bugzilla.xamarin.com/show_bug.cgi?id=42452
2016-07-14 18:03:02 +02:00
Vincent Dondain 23386a9217 [mediaplayer] Update for iOS 10 beta 1 - Part 1 (#386)
- Includes tests.
- Add availability flags.
- Turn new fields into properties.
- Verify bindings on iOS 9.3.
- Added protection in MPNowPlayingInfoCenter if native fields
  are not available (depending on the iOS version).
2016-07-14 08:45:30 -04:00
Alex Soto aef1775532 [Intents] Add Intents bindings from Xcode 8 b2 2016-07-14 04:02:12 -05:00
Sebastien Pouliot f085b17b36 [tests] Add missing version check on AUViewController tests. Fixes #42440 (#393)
Type was introduced in iOS 9, so it fails on earlier versions.

https://bugzilla.xamarin.com/show_bug.cgi?id=42440
2016-07-13 23:10:35 -04:00
Sebastien Pouliot b4ac7238b8 [tests] Add missing version check on AUViewController tests. Fixes #42440 (#393)
Type was introduced in iOS 9, so it fails on earlier versions.

https://bugzilla.xamarin.com/show_bug.cgi?id=42440
2016-07-13 23:04:18 -04:00
Sebastien Pouliot cf27c2e7a8 Merge branch 'cycle8' into xcode8 2016-07-13 16:43:00 -04:00
Sebastien Pouliot eeb1d10713 [metalkit] Add new API from both beta 1 and beta 2 (#383) 2016-07-12 23:10:55 -04:00
Vincent Dondain dd79e15f3b [monotouch-test] Fix permissions in Info.plist (#388) 2016-07-12 20:34:49 -04:00
Rolf Bjarne Kvinge a7a0bb4f05 [registrar] Forward-declare ObjC classes. Fixes #42454. (#387)
There can be circular dependencies between Objective-C classes,
so make sure we don't fail compilation when that occurs by
forward declaring any Objective-C classes/protocols.

The test case in question does not contain a circular dependency,
but the same issue occurs due to types not being generated in the
correct order (a correct order could be constructed for the test
case, but there's no general solution since circular dependencies
can exist).

https://bugzilla.xamarin.com/show_bug.cgi?id=42454
2016-07-12 20:34:18 -04:00
Rolf Bjarne Kvinge 249cf2f402 [runtime] Parse unions in objc encodings correctly. Fixes #42452. (#382)
Unions are defined as follows:

    (name=type...)

and we were not correctly parsing the 'name=' part.

https://bugzilla.xamarin.com/show_bug.cgi?id=42452
2016-07-12 20:19:06 -04:00
Chris Hamons 0756febb1c [XM] Revert mac test packages script changes, as we are not running mmp/msbuild tests on test bots (#374)
This reverts commit e780e28f5c and 35b26be50c
2016-07-12 22:56:17 +02:00
Sebastien Pouliot d6e00781eb [tests] Fix introspection tests running on an iOS 9.3 device (#380) 2016-07-12 09:46:41 -04:00
Sebastien Pouliot 7c6181dc66 [tests] Fix UIColor unit tests (in classic only) (#366)
Does not affect the Jenkins bots (which don't run classic tests) but
fails on wrench (who still runs them right now). There's a difference
in how equality is checked between classic and unified and that expose
a, not really important, change in iOS10.
2016-07-08 16:54:24 -04:00
Chris Hamons 35b26be50c [XM] Package mac-binding-project since so many mmp and msbuild tests use the native libs it builds (#365) 2016-07-08 15:09:03 -05:00
Chris Hamons cbd334ffc7 [XM] Teach ApiSelectorTest about NSCopying NSCoding additions in 10.12 2016-07-08 11:33:41 -05:00
Chris Hamons 55eb0c8537 Fix bindings to pass introspection tests on 10.12 Xcode 8b1 (#353) 2016-07-08 09:09:10 -05:00
Vincent Dondain 839258d337 [gamekit] Update for iOS 10 beta1 (#354) 2016-07-08 08:44:44 -04:00
Sebastien Pouliot afb3ea1e3f Bump Xcode version to beta 2 (#349)
Fix issues with monotouch-tests with beta2

* TLSMaximumSupportedProtocol returns Unknown, which also means default,
  instead of SslProtocol.Tls_1_2

* Setting NSZone.Name crash the app

* The MDLMesh tests are broken in a different way than beta1

* [callkit] Disable CTCallCenter default ctor as it breaks introspection

> [FAIL] Default constructor not allowed for CoreTelephony.CTCallCenter : SIGILL

The exception, that we catch, puts the process in an unstable state.

This cause weird results and crash later (wrong dispatch queue on main
thread) when testing MapKit.

Crashed Thread:        0  tid_a07  Dispatch queue: CTCallCenter

Exception Type:        EXC_BAD_ACCESS (SIGABRT)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000004
Exception Note:        EXC_CORPSE_NOTIFY

VM Regions Near 0x4:
-->
    __TEXT                 0000000000097000-00000000004d2000 [ 4332K] r-x/rwx SM=COW  /Users/USER/Library/Developer/CoreSimulator/Devices/9446B344-62A2-42A8-A8EE-9FE7AC6BA5C8/data/Containers/Bundle/Application/81183608-DADF-4226-B7FE-4B43759D679A/introspection.app/introspection

Application Specific Information:
BUG IN CLIENT OF LIBDISPATCH: dispatch_barrier_sync called on queue already owned by current thread
abort() called
CoreSimulator 278 - Device: iPhone 5 - Runtime: iOS 10.0 (14A5297c) - DeviceType: iPhone 5

Some beta2 adjustments (removals) to get green tests and be able to merge it so bindings of beta2 can start

* [tests] NEFlowMetaData conformance to NSSecureCoding and NSCopying is new in beta2 (and check fails on OSX 10.11)

* [uikit] Add [UIScrollView|UITableViewController].refreshControl to fix monotouch-test build

UIRefreshControlHosting was removed in beta2 but we still need the
refreshControl property on UIScrollView and UITableViewController
to build monotouch-test
2016-07-07 13:10:24 -04:00
Sebastien Pouliot cd35ba77ac [photos] Update for iOS 10 beta 1 (#348)
Also enable photos.framework on tvOS and macOS - but minimal (no tests failure) support for macOS 10.12. This does not include any macOS specific API
2016-07-06 23:24:31 -04:00
Sebastien Pouliot 8af1e47588 [tests] Change location to download mlaunch, old one is not available anymore (#352) 2016-07-06 19:40:27 -04:00
Sebastien Pouliot 88bccb268d [tests] Change location to download mlaunch, old one is not available anymore (#352) 2016-07-06 17:04:08 -04:00
Sebastien Pouliot d8c113db09 [glkit] Small update for iOS 10 beta 1 (#351)
Note: new API in beta1 are also only available on macOS 10.12 (not identified as such in the header files)
2016-07-06 11:19:21 -04:00
Vincent Dondain c8c27a01b2 [coretext] Update for iOS 10 beta1 (#346) 2016-07-05 16:49:59 -04:00
Chris Hamons e780e28f5c Package up tests/common/mac to start fixing test issues (#341) 2016-07-05 10:11:54 -04:00
Sebastien Pouliot 5388f5d02f [coregraphics] Added new CGColorSpace API from iOS 10 beta 1 (#337)
Also updated unit tests.
2016-07-04 21:57:30 -04:00
Sebastien Pouliot f773ee27fb [wkwebkit] Update for iOS 10 beta 1 (#345)
Also adjust introspection tests for the new NSSecureCoding
conformance of some existing types.
2016-07-04 20:46:57 -04:00
Alex Soto 046a3fad30 [UserNotifications] Add UserNotifications framework xcode 8 beta 1 2016-07-04 14:39:45 -05:00
Alex Soto 42b6cf57f1 [DictionaryContainer] Add support for CGRect/CGPoint/CGSize and CMTime
* Added support in DictionaryContainer for CGRect/CGPoint/CGSize and CMTime
* Added support for [StrongDictionary] using CGRect/CGPoint/CGSize and CMTime
* Added tests using DictionaryContainers for CGRect/CGPoint/CGSize and CMTime
2016-07-03 11:11:06 -05:00
Timothy Risi aaa5b7bd09 Xcode8 AppKit bindings (#243) 2016-07-01 17:29:40 -04:00
Vincent Dondain 5be3587db5 [homekit] Update for iOS 10 beta 1 (#324) 2016-06-30 08:31:40 -04:00
Rolf Bjarne Kvinge 81a8e7aee7 [Foundation] NSUbiquitousKeyValueStore is not available on watchOS. (#333)
* [Foundation] NSUbiquitousKeyValueStore is not available on watchOS.

Fixes an issue found by the introspection tests when running on a
watchOS device.

* [monotouch-test] Fix watchOS build with regards to NSUbiquitousKeyValueStore changes.
2016-06-30 03:47:13 -07:00
Rolf Bjarne Kvinge cf2d43e85c [xharness] Create a file if it doesn't exist when creating a writer for a log file. (#332) 2016-06-30 02:39:33 -07:00
Rolf Bjarne Kvinge 27ee956142 [link sdk] Update tests to work on watchOS. Fixes #41538. (#331)
* [link sdk] Ignore tests that uses our networking stack for watchOS. Partially fixes #41538.

https://bugzilla.xamarin.com/show_bug.cgi?id=41538

* [link sdk] Update LinkSdkRegressionTest.SpecialFolder to work on watchOS. Fixes #41538.

https://bugzilla.xamarin.com/show_bug.cgi?id=41538
2016-06-30 02:35:07 -07:00
Rolf Bjarne Kvinge fc74f195bf [tests] Set LSUIElement in the mac tests' Info.plist so that they don't show an icon in the dock. (#329) 2016-06-30 01:01:11 -07:00
Rolf Bjarne Kvinge 6c2208734d [link all] Ignore tests that uses our networking stack for watchOS. Fixes #41539. (#330)
https://bugzilla.xamarin.com/show_bug.cgi?id=41539
2016-06-30 01:00:03 -07:00
Sebastien Pouliot 8b5a06df3d [coregraphics] Re-enable CGColorConverterCreateSimple API and tests (#325)
This was added in iOS 9.3 SDK but only worked on the simulator as the
calls were not present on the device libraries.

This is fixed in iOS 10 beta 1.

https://trello.com/c/Rwko9Wef/37-24734681-cgcolorconvertercreatesimple-is-missing-for-device-builds
2016-06-29 20:03:06 -04:00
Rolf Bjarne Kvinge 74312ec77c [xharness] Collect and report crash reports for Xamarin.Mac tests. (#316) 2016-06-29 09:21:03 -07:00
Rolf Bjarne Kvinge 610ef84d37 [xharness] Fix result propagation. (#321) 2016-06-29 07:50:02 -07:00
Rolf Bjarne Kvinge 1bc24751d0 [monotouch-test] Fix watchOS build. (#317) 2016-06-29 06:28:30 -07:00
Rolf Bjarne Kvinge 1080164506 [jenkins] Fail if test run fails. (#245)
* [jenkins] Fail if test run fails.

* [xharness] Fix success check.
2016-06-29 03:23:26 -07:00
Rolf Bjarne Kvinge 0636832673 [xharness] Run watchOS tests on jenkins. (#313) 2016-06-29 01:48:53 -07:00
Rolf Bjarne Kvinge 7e773080a9 Merge remote-tracking branch 'origin/master' into xcode8 2016-06-29 10:23:03 +02:00