action #133451
closedBackend dies when passing non-US-keyboard letters to the 'type_string' function size:M
Description
Motivation¶
The backend process dies after passing russian language characters to the 'type_string' function, see #133319
Acceptance criteria¶
- AC1: os-autoinst provides explicit feedback about language support, either proper unicode support or clear error message
Suggestions¶
- Read how https://github.com/os-autoinst/os-autoinst/tree/master/consoles/VNC.pm currently works
- Read qemu docs about emulated keyboards because that is what is important for what we need to pass to the test systems
- Of course don't add support for individual characters. Try to provide a generic support (or "more generic"). If not possible then at least provide a clear error message what encodings or what keyboard keys are supported
- If no better solution is found fall back to plain old try/catch and "unknown letter" error message
- Check pending PRs for extending support for other keyboard layouts
Updated by okurz about 1 year ago
- Copied from action #133319: Backend dies when passing russian letters to the 'type_string' function added
Updated by okurz about 1 year ago
- Subject changed from Backend dies when passing russian letters to the 'type_string' function to Backend dies when passing non-US-keyboard letters to the 'type_string' function size:M
Updated by livdywan about 1 year ago
- Status changed from Workable to In Progress
- Assignee set to livdywan
I'll be doing some reading first. Let's see what seems feasible.
Updated by openqa_review about 1 year ago
- Due date set to 2023-08-11
Setting due date based on mean cycle time of SUSE QE Tools
Updated by tinita about 1 year ago
I played a bit to get familiar with how this is currently working.
So far I wasn't even manually able to send a german umlaut, e.g. "ä".
In the function consoles::VNC::map_and_send_key
I added push @events, (195, 164);
because that's the bytes for ä ("\303\244"
), and that's also what xev
is telling me.
I added -k de
to the qemu-system-x86_64
arguments in backend::qemu::start_qemu
.
Things like systemctl
showed up as szstemctl
as expected, but I wasn't able to find out which keycode to send for ä.
Updated by okurz about 1 year ago
- Copied to action #133613: Support for passing non-US-keyboard letters to the 'type_string' function size:M added
Updated by livdywan about 1 year ago
I opened a PR to clarify the error message. We concluded it's best to be clear on what's supported in practice.
Updated by tinita about 1 year ago
https://github.com/os-autoinst/os-autoinst/pull/2351 Ensure correct encoding handling
Updated by livdywan about 1 year ago
- Status changed from In Progress to Feedback
Both PRs got merged, let's see that this has no surprising consequences once deployed
Updated by livdywan about 1 year ago
- Status changed from Feedback to Resolved
livdywan wrote:
Both PRs got merged, let's see that this has no surprising consequences once deployed
I think we're good here