diff --git a/tests/introspection/ApiCtorInitTest.cs b/tests/introspection/ApiCtorInitTest.cs index 187cc3d50b..c75d2d5473 100644 --- a/tests/introspection/ApiCtorInitTest.cs +++ b/tests/introspection/ApiCtorInitTest.cs @@ -132,6 +132,9 @@ namespace Introspection { return true; case "QTMovie": return TestRuntime.CheckSystemVersion (PlatformName.MacOSX, 10, 14, 4); // Broke in macOS 10.14.4. + case "MTLFunctionConstantValues": + // the type was added with Xcode 8, but the default ctor in Xcode 9. + return !TestRuntime.CheckXcodeVersion (9, 0); } return SkipDueToAttribute (type); diff --git a/tests/monotouch-test/Metal/MTLDeviceTests.cs b/tests/monotouch-test/Metal/MTLDeviceTests.cs index cd07ea9432..4b0efda09b 100644 --- a/tests/monotouch-test/Metal/MTLDeviceTests.cs +++ b/tests/monotouch-test/Metal/MTLDeviceTests.cs @@ -368,10 +368,12 @@ namespace MonoTouchFixtures.Metal { using (var func = library.CreateFunction ("grayscaleKernel")) { Assert.IsNotNull (func, "CreateFunction (string): nonnull"); } - using (var constants = new MTLFunctionConstantValues ()) { - using (var func = library.CreateFunction ("grayscaleKernel", constants, out var error)) { - Assert.IsNotNull (func, "CreateFunction (string, MTLFunctionConstantValues, NSError): nonnull"); - Assert.IsNull (error, "CreateFunction (string, MTLFunctionConstantValues, NSError): null error"); + if (TestRuntime.CheckXcodeVersion (9, 0)) { // MTLFunctionConstantValues didn't have a default ctor until Xcode 9. + using (var constants = new MTLFunctionConstantValues ()) { + using (var func = library.CreateFunction ("grayscaleKernel", constants, out var error)) { + Assert.IsNotNull (func, "CreateFunction (string, MTLFunctionConstantValues, NSError): nonnull"); + Assert.IsNull (error, "CreateFunction (string, MTLFunctionConstantValues, NSError): null error"); + } } } }