[PATCH] test/py: sleep: Add a test for the time command

Execute "time <sleep cmd>", and validate that it gives the approximately the correct amount of command execution time.
Signed-off-by: Love Kumar love.kumar@amd.com --- test/py/tests/test_sleep.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
diff --git a/test/py/tests/test_sleep.py b/test/py/tests/test_sleep.py index 392af29db224..388f544d07df 100644 --- a/test/py/tests/test_sleep.py +++ b/test/py/tests/test_sleep.py @@ -41,3 +41,23 @@ def test_sleep(u_boot_console): if not u_boot_console.config.gdbserver: # margin is hopefully enough to account for any system overhead. assert elapsed < (sleep_time + sleep_margin) + +def test_time(u_boot_console): + """Test the time command, and validate that it gives approximately the + correct amount of command execution time.""" + + sleep_skip = u_boot_console.config.env.get("env__sleep_accurate", True) + if not sleep_skip: + pytest.skip("sleep is not accurate") + + if u_boot_console.config.buildconfig.get("config_cmd_misc", "n") != "y": + pytest.skip("sleep command not supported") + + sleep_time = u_boot_console.config.env.get("env__sleep_time", 10) + sleep_margin = u_boot_console.config.env.get("env__sleep_margin", 0.25) + output = u_boot_console.run_command("time sleep %d" % sleep_time) + execute_time = float(output.split()[1]) + assert sleep_time >= (execute_time - 0.01) + if not u_boot_console.config.gdbserver: + # margin is hopefully enough to account for any system overhead. + assert sleep_time < (execute_time + sleep_margin)

On Tue, Sep 26, 2023 at 05:08:35PM +0530, Love Kumar wrote:
Execute "time <sleep cmd>", and validate that it gives the approximately the correct amount of command execution time.
Signed-off-by: Love Kumar love.kumar@amd.com
test/py/tests/test_sleep.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
diff --git a/test/py/tests/test_sleep.py b/test/py/tests/test_sleep.py index 392af29db224..388f544d07df 100644 --- a/test/py/tests/test_sleep.py +++ b/test/py/tests/test_sleep.py @@ -41,3 +41,23 @@ def test_sleep(u_boot_console): if not u_boot_console.config.gdbserver: # margin is hopefully enough to account for any system overhead. assert elapsed < (sleep_time + sleep_margin)
+def test_time(u_boot_console):
- """Test the time command, and validate that it gives approximately the
- correct amount of command execution time."""
- sleep_skip = u_boot_console.config.env.get("env__sleep_accurate", True)
- if not sleep_skip:
pytest.skip("sleep is not accurate")
- if u_boot_console.config.buildconfig.get("config_cmd_misc", "n") != "y":
We should use @pytest.mark.buildconfigspec('cmd_misc') on the function def itself.
participants (2)
-
Love Kumar
-
Tom Rini