Dasharo / open-source-firmware-validation

OSFV infrastructure with automated tests and scripts for managing test results
Apache License 2.0
9 stars 2 forks source link

Set/Get UEFI Option fails on long option names #599

Open philipandag opened 3 days ago

philipandag commented 3 days ago

Device

MSI z690 dd45

RTE version

-

OSFV version

develop

Affected component(s) or functionality

None at this moment, found out when implementing keywords. Get/Set of Serial Redirection

Brief summary

setup menu Set UEFI Option fails when the option name is split into two lines

How reproducible

100%

How to reproduce

Run Get Uefi Option SerialRedirection

Expected behavior

Should find and return the value

Actual behavior

The keyword fails because the option name Enable Serial Port Console Redirection is so long it's split into two lines. The Option Name To UEFI Path returns the whole name of the option but when reading the menu construction the option is split into two lines which is a behaviour not handled in the keywords used to navigate the setup menu.

Link to screenshots or logs

The log shows that the option is not found, because it is split into two lines

test-reset.robot_log.zip

Additional context

No response

Solutions you've tried

No response

philipandag commented 1 day ago

According to the keyword Parse Serial Port Configuration in dasharo-system-features-menus.robotI think the fact that the second part of the split line is read there is also a bug.

"Second line from Enable Serial Port Console Redirection should not be there"

Parse Serial Port Configuration
    [Documentation]    Check if Serial Port Configuration menu can be parsed.
    Skip If    not ${DASHARO_SERIAL_PORT_MENU_SUPPORT}
    ${serial_menu}=    Parsing Dasharo Submenu Verification    Serial Port Configuration
    ${serial_entries}=    Get Length    ${serial_menu}
    Should Be Equal As Integers    ${serial_entries}    2
    Should Match Regexp    ${serial_menu}[0]    ^Enable COM0 Serial \\[.\\].*$
    Should Match Regexp    ${serial_menu}[1]    ^Enable COM1 Serial \\[.\\].*$
    # Second line from Enable Serial Port Console Redirection should not be there
    List Should Not Contain Value    ${serial_menu}    Console Redirection 
    Menu Construction Should Not Contain Control Text    ${serial_menu}