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

Fix touchscreen tests on ARM64 via remote (bugfix) #1528

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Hook25
Copy link
Collaborator

@Hook25 Hook25 commented Oct 3, 2024

Description

When running the touchscreen tests via remote, the user is promted to rotate the rectangle on a window but the user-interact-verify job (silently) fails to start the window at all. When the stderr is un-silenced, the following error is printed in the console:

file:///snap/checkboxXX/[...]/touch_zoom_test.qml:74 Timer is not a type

Timer is a builtin type of QT and this happens for any other type (removing the timer just makes it fail on the next builtin type).

After much investigation, and thanks to the reported fact that the test starts fine if launched from the checkbox.shell or locally, I found that the problem is the missing envvar in this PR. This fixes the propagation of the envvar. I have whitelisted it instead of explicitly requiring it in the test because I believe that one doesn't have to understand exactly how QT works when writing a test, so they don't need to reason about which QT envvars are needed.

Resolved issues

Fixes: CHECKBOX-1511
Fixes: #1371

Documentation

N/A

Tests

I have built and ran the test via remote with the following launcher. The window now shows up even via remote when before it did not.

    #!/usr/bin/env checkbox-cli
    [launcher]
    launcher_version = 1
    stock_reports = text
    [test plan]
    unit = com.canonical.certification::touchscreen-cert-manual
    forced = yes
    [test selection]
    forced=yes
    exclude=com.canonical.certification::touchscreen/drag-n-drop
    match = com.canonical.certification::touchscreen/multitouch-rotate
    [manifest]
    com.canonical.certification::has_touchscreen=yes

To test it yourself use this checkbox24 snap, built from this branch (or build it yourself on arm64):

  1. Install the snap
  2. Install the frontend
  3. Run remote with the above launcher
  4. Press Return
  5. A window with a blue rectangle should show up on the DUT

Note: This is a core24 runtime snap. Remember CheckboxXX core only work on the XX version (so this doesn't work on jammy, only noble), if you want to test it on jammy I can build a core22 snap for you, just let me know

@Hook25 Hook25 changed the title Fix touchscreen tests on ARM64 via remote Fix touchscreen tests on ARM64 via remote (bugfix) Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Message "Timer is not a type" be got while executing QT related cases through control (remote) by using snap
1 participant