On Thu, May 31, 2018 at 8:38 AM, Neil Williams neil.williams@linaro.org wrote:
[...]
It's just possible that the interrupt_char could be causing this problem, you've got a newline set - that could end up being carried over into the shell and U-Boot has a nasty habit of repeating the last command if a newline is entered with no other content.
It's not only just possible, that was it! :) Simple fix[1] makes it happy again, and no boot_character_delay needed. I'll submit a patch shortly.
Breaking into uboot with '\n' was creating an extra prompt, which was surely causing problems with the pexpect matching in LAVA, making it think that it received a prompt already, when it was actually a previous prompt.
Optional suggestion: LAVA could be a bit more robust and handle this case by itself by "flushing" pexpect after breaking into uboot, and before sending any commands. Simply waiting for a prompt with a short timeout should catch this case, and catch the "stray" prompt, or just timeout and continue if it's not present.
Anyways, thanks for making the suggestion,
Kevin
[1] diff --git a/lava_scheduler_app/tests/device-types/meson-gx-common.jinja2 b/lava_scheduler_app/tests/device-types/meson-gx-common.jinja2 index c666bea2fdc2..6b3857c614fe 100644 --- a/lava_scheduler_app/tests/device-types/meson-gx-common.jinja2 +++ b/lava_scheduler_app/tests/device-types/meson-gx-common.jinja2 @@ -5,7 +5,7 @@ {% set console_device = console_device|default('ttyAML0') %} {% set baud_rate = baud_rate|default(115200) %} {% set interrupt_prompt = interrupt_prompt|default('stop autoboot') %} -{% set interrupt_char = interrupt_char|default('\n') %} +{% set interrupt_char = interrupt_char|default('') %}
{% set bootm_kernel_addr = '0x1080000' %} {% set bootm_dtb_addr = '0x1000000' %}