Mir

Shell does not get autopilot keyboard input if maliit isn't running

Bug #1238645 reported by Michał Sawicz
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mir
Expired
Undecided
Unassigned
unity8 (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

Make sure screen is on (can stop powerd after unlocking unity8 just to make sure), stop unity8 and run:
$ autopilot run unity8.shell.tests.test_lock_screen.TestLockscreen.test_can_unlock_passphrase_screen

1 PASSED

Now stop maliit and run the test again:
$ initctl stop maliit-server
$ autopilot run unity8.shell.tests.test_lock_screen.TestLockscreen.test_can_unlock_passphrase_screen

1 FAILED

Autopilot seems to be unable to deliver input unless maliit is running.

Exporting
MIR_SERVER_INPUT_REPORT=log
MIR_SERVER_LEGACY_INPUT_REPORT=log

Doesn't seem to result in anything.

Related branches

Revision history for this message
Michał Sawicz (saviq) wrote :

Apparently it's because autopilot *uses* maliit to type on mobile devices.

Let's discuss whether it should maybe fall back to uinput - in the mean time I'll make sure maliit is started on unity8 tests.

Changed in autopilot:
status: New → Incomplete
Changed in mir:
status: New → Incomplete
Revision history for this message
Michał Sawicz (saviq) wrote :
Michał Sawicz (saviq)
Changed in unity8:
status: New → In Progress
assignee: nobody → Christopher Lee (veebers)
Changed in mir:
status: Incomplete → Invalid
Revision history for this message
Thomi Richards (thomir-deactivatedaccount) wrote :

> Apparently it's because autopilot *uses* maliit to type on mobile devices.

Nope - the UInput backend is higher priority, so the OSK backend won't get used unless uinput is unavailable, for some reason. Of course, the tests you're running might specifically request the OSK backend, but that's not really anything to do with autopilot itself.

> Let's discuss whether it should maybe fall back to uinput - in the mean time I'll make sure maliit is started on unity8 tests.

The backend should raise an exception if it cannot be initialised. In that case, autopilot will fall back to some other backend, unless the OSK driver was specifically requested. If that's not the case, then the bug task against autopilot is valid, and should be fixed. Will leave this to Chris to determine, since he's in this code anyway.

Revision history for this message
Christopher Lee (veebers) wrote :

As Thomi has clarified; this really isn't an autopilot issue but a problem when running the unity8 autopilot tests.

I'm marking this as invalid for Autopilot. I'm including functionality in the unity8 autopilot test suite to work better with maliit-server and starting/stopping unity8 etc.

Changed in autopilot:
status: Incomplete → Invalid
no longer affects: autopilot
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

I guess this also is the reason why unity8.shell.tests.test_lock_screen.TestLockscreen.test_passphrase_screen_wrong_password hangs?

If one runs phablet-test-run -n unity8, it seems to hang eternally at a password screen, and also that ^ test individually does not complete even with a failure (unlike test_can_unlock_passphrase_screen which properly fails). That makes testing unity8 hard since the tests need to be executed one at a time which is slow compared to whole suite run.

Revision history for this message
Michał Sawicz (saviq) wrote :

It should bail out after a few dozen seconds... will check...

Revision history for this message
Michał Sawicz (saviq) wrote :

Reopening as this is still an issue that we haven't tracked down - just worked around it.

Changed in unity8:
status: In Progress → Incomplete
assignee: Christopher Lee (veebers) → nobody
Changed in mir:
status: Invalid → Incomplete
tags: added: doesnt-need-test
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Unity 8 because there has been no activity for 60 days.]

Changed in unity8:
status: Incomplete → Expired
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Mir because there has been no activity for 60 days.]

Changed in mir:
status: Incomplete → Expired
Michał Sawicz (saviq)
affects: unity8 → unity8 (Ubuntu)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.