Message ID | 20250328163037.24594-1-andrew.goodbody@linaro.org |
---|---|
State | New |
Headers | show |
Series | test/py: memtest: Fix test for non-trivial parameters | expand |
On 28/03/25 10:00 pm, Andrew Goodbody wrote: > When using non-trivial values for parameters for this test it > will cause a spurious failure as the test passes a decimal value > to the mtest command which will interpret it as hexadecimal and > result in failure as below. > > test/py/tests/test_memtest.py:66: in test_memtest_ddr > assert expected_response in response > E AssertionError: assert 'Tested 16 iteration(s) with 0 errors.' in 'Refusing to do empty test\r\nmtest - simple RAM read/write test\r\n\r\nUsage:\r\nmtest [start [end [pattern [iterations]]]]' > ----------------------------- Captured stdout call ----------------------------- > U-Boot> mtest 134217728 0x8001000 90 0x10 > Refusing to do empty test > mtest - simple RAM read/write test > Usage: > mtest [start [end [pattern [iterations]]]] > > The fix is to ensure that all the parameters to the mtest command are > passed as hexadecimal values. > > Fixes: 22efc1cf276c ("test/py: memtest: Add tests for mtest command") > Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org> > > --- > > test/py/tests/test_memtest.py | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/test/py/tests/test_memtest.py b/test/py/tests/test_memtest.py > index 0618d96f1be..f03e23db2e4 100644 > --- a/test/py/tests/test_memtest.py > +++ b/test/py/tests/test_memtest.py > @@ -29,12 +29,12 @@ def get_memtest_env(u_boot_console): > if not f: > pytest.skip("memtest is not enabled!") > else: > - start = f.get("start_addr", 0x0) > - size = f.get("size", 0x1000) > - pattern = f.get("pattern", 0x0) > + start = hex(f.get("start_addr", 0x0)) > + size = hex(f.get("size", 0x1000)) > + pattern = hex(f.get("pattern", 0x0)) > iteration = f.get("iteration", 2) > timeout = f.get("timeout", 50000) > - end = hex(int(start) + int(size)) > + end = hex(int(start, 16) + int(size, 16)) > return start, end, pattern, iteration, timeout > > @pytest.mark.buildconfigspec("cmd_memtest") Reviewed-by: Love Kumar <love.kumar@amd.com>
diff --git a/test/py/tests/test_memtest.py b/test/py/tests/test_memtest.py index 0618d96f1be..f03e23db2e4 100644 --- a/test/py/tests/test_memtest.py +++ b/test/py/tests/test_memtest.py @@ -29,12 +29,12 @@ def get_memtest_env(u_boot_console): if not f: pytest.skip("memtest is not enabled!") else: - start = f.get("start_addr", 0x0) - size = f.get("size", 0x1000) - pattern = f.get("pattern", 0x0) + start = hex(f.get("start_addr", 0x0)) + size = hex(f.get("size", 0x1000)) + pattern = hex(f.get("pattern", 0x0)) iteration = f.get("iteration", 2) timeout = f.get("timeout", 50000) - end = hex(int(start) + int(size)) + end = hex(int(start, 16) + int(size, 16)) return start, end, pattern, iteration, timeout @pytest.mark.buildconfigspec("cmd_memtest")
When using non-trivial values for parameters for this test it will cause a spurious failure as the test passes a decimal value to the mtest command which will interpret it as hexadecimal and result in failure as below. test/py/tests/test_memtest.py:66: in test_memtest_ddr assert expected_response in response E AssertionError: assert 'Tested 16 iteration(s) with 0 errors.' in 'Refusing to do empty test\r\nmtest - simple RAM read/write test\r\n\r\nUsage:\r\nmtest [start [end [pattern [iterations]]]]' ----------------------------- Captured stdout call ----------------------------- U-Boot> mtest 134217728 0x8001000 90 0x10 Refusing to do empty test mtest - simple RAM read/write test Usage: mtest [start [end [pattern [iterations]]]] The fix is to ensure that all the parameters to the mtest command are passed as hexadecimal values. Fixes: 22efc1cf276c ("test/py: memtest: Add tests for mtest command") Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org> --- test/py/tests/test_memtest.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)