Skip to content

Fix M1_UART_2_IPMI_SOL, M2_OOB_1_Redfish_Reference_Checker, and M1_UART_1_Redfish_Serial_Console_Capability test failures#49

Merged
amrathesh merged 3 commits into
ARM-software:mainfrom
amrathesh:bug-fixes
Mar 6, 2026
Merged

Fix M1_UART_2_IPMI_SOL, M2_OOB_1_Redfish_Reference_Checker, and M1_UART_1_Redfish_Serial_Console_Capability test failures#49
amrathesh merged 3 commits into
ARM-software:mainfrom
amrathesh:bug-fixes

Conversation

@amrathesh

Copy link
Copy Markdown
Member

This PR fixes three test failures discovered during SBMR-ACS compliance testing against a Supermicro BMC.

Commits

1. fix(M1_UART_2_IPMI_SOL): escape regex brackets for Robot Framework
Robot Framework processes \[ and \] as escape sequences before passing the pattern to Python's re module, causing an "unbalanced parenthesis" error. Fixed by doubling the backslashes so the regex reaches re.search intact.

2. fix(M2_OOB_1_Redfish_Reference_Checker): add missing Python dependencies
The Redfish Reference Checker's html_scraper module requires beautifulsoup4 and lxml. Added both to requirements.txt.

3. fix(M1_UART_1_Redfish_Serial_Console_Capability): handle HostSerialConsole schema
The original test assumed all SerialConsole responses contain a ConnectTypesSupported array (Manager schema). ComputerSystem schema v1.13.0+ uses the HostSerialConsole type with named sub-objects (IPMI, SSH, Telnet, WebSocket) instead. Fixed by:

  • Querying Systems endpoint first, falling back to Managers
  • Detecting the schema type and validating accordingly
  • Using a set intersection against known connection types for easy extensibility

Testing

All three tests pass against the Supermicro BMC (OpenBMC-based, Redfish ComputerSystem v1.13.0+).

Robot Framework processes single-backslash escape sequences (e.g. \[, \])
before passing the pattern to Python's re module, resulting in an
'unbalanced parenthesis' error at runtime.

Double the backslashes in the regex pattern so that Robot Framework
passes literal backslash-bracket sequences to re.search:
  Before: \[(tty[^\]]+)\]
  After:  \\[(tty[^\\]]+)\\]

This fixes the 'Verify BSA Compliant UART From Boot Log' keyword in
the M1_UART_2_IPMI_SOL test case.
The Redfish Reference Checker (html_scraper) requires beautifulsoup4
and lxml to parse HTML responses from the BMC.  Without these packages
the test fails at import time with a ModuleNotFoundError.

Add beautifulsoup4 and lxml to requirements.txt so they are installed
during environment setup.
…nsole schema

ComputerSystem v1.13.0+ uses HostSerialConsole type with named sub-objects
(IPMI, SSH, Telnet, WebSocket) instead of Manager schema's ConnectTypesSupported
array. Test now checks Systems first, falls back to Managers, and validates
using set intersection against known connection types.
@amrathesh amrathesh marked this pull request as ready for review March 5, 2026 12:57
@amrathesh amrathesh requested a review from gtossk2 March 5, 2026 12:57

@gtossk2 gtossk2 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@amrathesh amrathesh merged commit 70d0a58 into ARM-software:main Mar 6, 2026
1 check passed
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.

2 participants