Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[appkit] Fix introspection tests for NSAccessibility on macOS 10.9 #10016

Merged
merged 1 commit into from
Nov 2, 2020

Conversation

spouliot
Copy link
Contributor

This reverts parts of #9993
and add a special case to the test looking for duplicate attributes
between members and the type.

Why ? Introspection fails because bgen inline the NSAccessibility
protocol (added in 10.10) into types that existed earlier. That's
normally not a problem since the type-level attribute is there.
However because of the 10.9 (type) vs 10.10 (protocol) issue that was
moved into the manual bindings (so bgen does not know it)

Even if built inside COREBUILD the issue exists since the protocol
interface does not really exists at that point (by default), so it's
the type (10.9) availability that is looked up.

In retrospect we should have created a new type, like Swift did (a
few years later), named NSAccessibilityProtocol for 10.10.

Fix #10009

This reverts parts of #9993
and add a special case to the test looking for duplicate attributes
between members and the type.

Why ? Introspection fails because `bgen` inline the `NSAccessibility`
protocol (added in 10.10) into types that existed earlier. That's
normally not a problem since the type-level attribute is there.
However because of the 10.9 (type) vs 10.10 (protocol) issue that was
moved into the manual bindings (so `bgen` does not know it)

Even if built inside `COREBUILD` the issue exists since the protocol
interface does not really exists at that point (by default), so it's
the type (10.9) availability that is looked up.

In retrospect we should have created a new type, like Swift did (a
few years later), named `NSAccessibilityProtocol` for 10.10.

Fix #10009
@spouliot spouliot added run-internal-tests If tests should be executed on the internal Jenkins instance. test-only-issue The issue only affects tests not-notes-worthy Ignore for release notes labels Oct 30, 2020
@spouliot spouliot added this to the xcode12.2 milestone Oct 30, 2020
@monojenkins
Copy link
Collaborator

Build success
Build succeeded
API Diff (from stable)
API Diff (from PR only) (no change)
ℹ️ Generator Diff (please review changes)
Test run succeeded

@spouliot
Copy link
Contributor Author

Still running - but results on 10.9 are green.

@xamarin-release-manager
Copy link
Collaborator

Build was (probably) aborted

🔥 Jenkins job (on internal Jenkins) failed in stage(s) 'Running XM tests on '10.16', Running XM tests on '10.16'' 🔥

Build succeeded
✅ Packages:

API Diff (from stable)
API Diff (from PR only) (no change)
ℹ️ Generator Diff (please review changes)
🔥 Xamarin.Mac tests on 10.16 failed: script returned exit code 48 🔥
🔥 Test run failed 🔥

Test results

61 tests failed, 95 tests passed.

Failed tests

  • [xUnit] Mono Mac OS X BCL tests group 4/Mac Full/Debug: Failed (Test run failed.)
  • monotouch-test/iOS Unified 64-bits - simulator/Debug: TimedOut
  • monotouch-test/iOS Unified 64-bits - simulator/Debug (LinkSdk): TimedOut
  • monotouch-test/iOS Unified 64-bits - simulator/Debug (static registrar): TimedOut
  • monotouch-test/iOS Unified 64-bits - simulator/Release (all optimizations): TimedOut
  • monotouch-test/iOS Unified 64-bits - simulator/Debug (all optimizations): TimedOut
  • monotouch-test/watchOS 32-bits - simulator/Debug: Failed
  • framework-test/watchOS 32-bits - simulator/Debug: Failed
  • interdependent-binding-projects/watchOS 32-bits - simulator/Debug: Failed
  • fsharp/watchOS 32-bits - simulator/Debug: Failed
  • introspection/watchOS 32-bits - simulator/Debug: Failed
  • dont link/watchOS 32-bits - simulator/Debug: Failed
  • dont link/watchOS 32-bits - simulator/Release: Failed
  • link all/watchOS 32-bits - simulator/Debug: Failed
  • link all/watchOS 32-bits - simulator/Release: Failed
  • link sdk/watchOS 32-bits - simulator/Debug: Failed
  • link sdk/watchOS 32-bits - simulator/Release: Failed
  • mono-native-compat/watchOS 32-bits - simulator/Debug: Failed
  • mono-native-unified/watchOS 32-bits - simulator/Debug: Failed
  • mscorlib Part 1/watchOS 32-bits - simulator/Debug: Failed
  • mscorlib Part 2/watchOS 32-bits - simulator/Debug: Failed
  • mscorlib Part 3/watchOS 32-bits - simulator/Debug: Failed
  • [xUnit] Mono SystemCoreXunit Part 1/watchOS 32-bits - simulator/Debug: Failed
  • [xUnit] Mono SystemCoreXunit Part 2/watchOS 32-bits - simulator/Debug: Failed
  • [xUnit] Mono SystemXunit/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemCoreTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemNumericsTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemRuntimeSerializationTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemTransactionsTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemXmlTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemXmlLinqTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemComponentModelDataAnnotationsTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemJsonTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemServiceModelWebTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemIOCompressionTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemIOCompressionFileSystemTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono MonoCSharpTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemSecurityTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono MonoDataSqliteTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono MonoRuntimeTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemDataTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemDataDataSetExtensionsTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemNetHttpTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemServiceModelTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono CorlibTests/watchOS 32-bits - simulator/Debug: Failed
  • [NUnit] Mono SystemWebServicesTests/watchOS 32-bits - simulator/Debug: Failed
  • [xUnit] Mono SystemDataXunit/watchOS 32-bits - simulator/Debug: Failed
  • [xUnit] Mono SystemJsonXunit/watchOS 32-bits - simulator/Debug: Failed
  • [xUnit] Mono SystemSecurityXunit/watchOS 32-bits - simulator/Debug: Failed
  • [xUnit] Mono SystemLinqXunit/watchOS 32-bits - simulator/Debug: Failed
  • [xUnit] Mono SystemXmlXunit/watchOS 32-bits - simulator/Debug: Failed
  • [xUnit] Mono SystemRuntimeCompilerServicesUnsafeXunit/watchOS 32-bits - simulator/Debug: Failed
  • [xUnit] Mono SystemNumericsXunit/watchOS 32-bits - simulator/Debug: Failed
  • [xUnit] Mono MicrosoftCSharpXunit/watchOS 32-bits - simulator/Debug: Failed
  • [xUnit] Mono SystemNetHttpUnitTestsXunit/watchOS 32-bits - simulator/Debug: Failed
  • monotouch-test/watchOS 32-bits - simulator/Debug (LinkSdk): Failed
  • monotouch-test/watchOS 32-bits - simulator/Debug (static registrar): Failed
  • monotouch-test/watchOS 32-bits - simulator/Release (all optimizations): Failed
  • monotouch-test/watchOS 32-bits - simulator/Debug (all optimizations): Failed
  • MTouch tests/NUnit: Failed (Execution failed with exit code 5)

@spouliot
Copy link
Contributor Author

spouliot commented Nov 2, 2020

Failures are unrelated to PR (it fix the macOS 10.9 failure as expected) and due to #9949

@spouliot spouliot merged commit 1f0b89c into xcode12.2 Nov 2, 2020
@spouliot spouliot deleted the xcode12.2-nsaccessibility-10.9 branch November 2, 2020 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
not-notes-worthy Ignore for release notes run-internal-tests If tests should be executed on the internal Jenkins instance. test-only-issue The issue only affects tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants