Closed Bug 1797617 Opened 3 years ago Closed 11 months ago

AccessibilityTest.kt has Blocked Non-SDK Interfaces New in SDK 31 (getVirtualDescendantId)

Categories

(GeckoView :: General, task, P2)

All
Android
task

Tracking

(firefox143 fixed)

RESOLVED FIXED
143 Branch
Tracking Status
firefox143 --- fixed

People

(Reporter: olivia, Assigned: olivia)

References

Details

(Whiteboard: [fxdroid] [geckoview][gv-grab-bag])

Attachments

(1 file)

AccessibilityTest.kt has new blocked Non-SDK Interfaces in SDK 31. Some started in SDK 28 - see bug 1527022.

Aggregating the different SDK test results here and possible related bugs. This bug would become especially relevant if updating mozemulator (device SDK 24). Some ideas from bug 1527022 were to use @SdkSuppress, specifically allowing this test to use blocked APIs, and finding alternates around the blocked APIs.

Test Results:

  • ./mach geckoview-junit org.mozilla.geckoview.test.AccessibilityTest
  • Used the current compile/target SDK 31 with different device API levels.

Emulated Pixel 4 XL API 27 - Expected

~~~~~~~
Ran 40 checks (40 tests)
Expected results: 39
Skipped: 1 tests
Unexpected results: 0

Emulated Pixel 4 XL API 28 - bug 1527022

~~~~~~~
Ran 40 checks (40 tests)
Expected results: 31
Skipped: 1 tests
Unexpected results: 8
  test: 8 (8 fail)

Unexpected Results
------------------
FAIL org.mozilla.geckoview.test.AccessibilityTest#testLocalIframeTree - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRange - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testTree - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#autoFill_navigation - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRemoteIframeTree - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#autoFill - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMutation - java.lang.NoSuchMethodException: getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testCollection - java.lang.NoSuchMethodException: getChildId [int]

Emulated Pixel 4 XL API 29 - could be part of bug 1535197 intermittent, bug 1625596

new testClipboard (unclear in logs, could be bug 1535197 intermittent - shows up as a blocked SDK issue in later devices)

suite 1
~~~~~~~
Ran 40 checks (40 tests)
Expected results: 30
Skipped: 1 tests
Unexpected results: 9
  test: 9 (9 fail)

Unexpected Results
------------------
FAIL org.mozilla.geckoview.test.AccessibilityTest#testLocalIframeTree - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRange - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testTree - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testClipboard - org.mozilla.geckoview.test.util.UiThreadUtils$TimeoutException: Timed out after 30000ms
FAIL org.mozilla.geckoview.test.AccessibilityTest#autoFill_navigation - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRemoteIframeTree - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#autoFill - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMutation - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testCollection - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]

Emulated Pixel 4 XL API 30

  • Results the same as Emulated Pixel 4 XL API 29

Emulated Pixel 4a API 31 - this bug

Non-SDK interfaces that are now blocked in Android 12 -> getVirtualDescendantId

.geckoview.tes: Accessing hidden method Landroid/view/accessibility/AccessibilityNodeInfo;->getVirtualDescendantId(J)I (max-target-r, reflection, denied)

suite 1
~~~~~~~
Ran 40 checks (40 tests)
Expected results: 9
Skipped: 1 tests
Unexpected results: 30
  test: 30 (30 fail)

Unexpected Results
------------------
FAIL org.mozilla.geckoview.test.AccessibilityTest#testCheckbox - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testLocalIframeTree - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testAccessibilityFocusBoundaries - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testLinksMovingByDefault - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveByWordAtEdges - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRange - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testTree - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveAtEndOfTextTrailingWhitespace - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testClipboard - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveByCharacter - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testAccessibilityFocusAboutMozilla - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testLinksMovingByLink - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testAccessibilityFocus - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testLocalAccessibilityFocusIframe - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#autoFill_navigation - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testHeadings - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveByCharacterAtEdges - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testExpandable - org.mozilla.geckoview.test.util.UiThreadUtils$TimeoutException: Timed out after 30000ms
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRemoteAccessibilityFocusIframe - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveCaretAccessibilityFocus - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testAriaComboBoxesMovingByControl - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testRemoteIframeTree - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#autoFill - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveByLine - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMoveByWord - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
FAIL org.mozilla.geckoview.test.AccessibilityTest#testMutation - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testAriaComboBoxesMovingByDefault - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testTextEntryNode - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
FAIL org.mozilla.geckoview.test.AccessibilityTest#testCollection - java.lang.NoSuchMethodException: android.view.accessibility.AccessibilityNodeInfo.getChildId [int]
FAIL org.mozilla.geckoview.test.AccessibilityTest#testSelectable - java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference

Pixel 4a API 33

  • Same results as Emulated Pixel 4a API 31
  • Also ran with a compile/target of SDK 33 with same results
See Also: → Android_13

Changing this test to an espresso test was also mentioned as a possible long-term solution in bug 1527022.

Severity: -- → N/A
Blocks: 1719762
See Also: → 1810398
Priority: -- → P3
See Also: → 1973794
Assignee: nobody → ohall
Blocks: 1973794
Priority: P3 → P2
Whiteboard: [fxdroid] [geckoview][gv-grab-bag]
Attachment #9503856 - Attachment description: WIP: Bug 1797617 - AccessibilityTest.kt has Blocked Non-SDK Interfaces → Bug 1797617 - AccessibilityTest.kt has Blocked Non-SDK Interfaces
Pushed by ohall@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/f18e4d5c9010 https://hg.mozilla.org/integration/autoland/rev/56f750134288 AccessibilityTest.kt has Blocked Non-SDK Interfaces r=eeejay,geckoview-reviewers,m_kato
Status: NEW → RESOLVED
Closed: 11 months ago
Resolution: --- → FIXED
Target Milestone: --- → 143 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: