Hi Daniel, Tom,
On 8/15/25 6:12 PM, Tom Rini wrote:
On Fri, Aug 15, 2025 at 09:06:35AM -0700, Daniel Schultz wrote:
Some commands include the U-Boot prompt (=>) in their output,
which can interfere with tools like labgrid that rely on prompt
detection to determine when a command has completed. This may cause
such tools to misinterpret partial output.
To avoid this issue, it's better to update the command output itself
rather than modifying the actual U-Boot prompt. Changing the prompt
is not acceptable in many cases, as some boards have used the default
prompt (=>) for years, and altering it - especially just for testing -
could lead to inconsistencies or unintended side effects.
Instead, replace instances of the prompt that appear within command
output (not the real prompt) with an alternative like -> to ensure
correct parsing by tools that rely on prompt recognition.
Signed-off-by: Daniel Schultz <d.schu...@phytec.de>
---
cmd/i2c.c | 2 +-
cmd/mtdparts.c | 12 ++++++------
common/hash.c | 6 +++---
3 files changed, 10 insertions(+), 10 deletions(-)
This is two cases, and I'm not sure I like the proposal here, sorry. For
cmd/mtdparts.c, it's debug statements. We can change them, but are they
also enabled by default in anything? The other cases, we're changing
output along the lines of:
- printf ("CRC32 for %08lx ... %08lx ==> ", addr, addr + count - 1);
+ printf("CRC32 for %08lx ... %08lx --> ", addr, addr + count - 1);
In each case, and I'm surprised there's not testing that globs on that
today. I see the wget case that uses "==>" and we do have a test that
checks it, today. Is your testing framework not able to handle "=>" in
the middle of a line? Thanks.
In the case of labgrid, I assume this should be possible.
c.f. https://labgrid.readthedocs.io/en/latest/configuration.html#ubootdriver
Arguments:
prompt (regex, default=””): U-Boot prompt to match
I assume you just want to be using
UBootDriver:
prompt: '^=> '
instead of simply using '=> ' ?
While SYS_PROMPT defaults to => for anything but the Zynq architecture,
it can be set from defconfigs as well and look what we have here:
configs/brcp150_defconfig
63:CONFIG_SYS_PROMPT="-> "
configs/brcp170_defconfig
62:CONFIG_SYS_PROMPT="-> "
configs/brcp1_1r_defconfig
62:CONFIG_SYS_PROMPT="-> "
configs/brcp1_1r_switch_defconfig
62:CONFIG_SYS_PROMPT="-> "
configs/brcp1_2r_defconfig
62:CONFIG_SYS_PROMPT="-> "
configs/brsmarc2_defconfig
62:CONFIG_SYS_PROMPT="-> "
So now we would be breaking those users instead. I'm not sure it's a
good idea for U-Boot to do this, we'll never find a way to have the
prompt never repeated in log messages for all supported platforms. You
can always fix those in your own fork if you want though. But I fear
this will be the beginning of an endless loop of revert commits because
it broke one's CI.
Cheers,
Quentin