X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=test%2Fpy%2Ftests%2Ftest_sleep.py;h=b69edf26ef0761ff434792e147e46aaba7aa6677;hb=499fde5c23921add3cf95fecfe0b03d717d5a33b;hp=64f1ddf9a09f4e59952b333ed83f863326348647;hpb=1c8b4d5f4f6a8bad12b2b690a04f96731410bb73;p=oweals%2Fu-boot.git diff --git a/test/py/tests/test_sleep.py b/test/py/tests/test_sleep.py index 64f1ddf9a0..b69edf26ef 100644 --- a/test/py/tests/test_sleep.py +++ b/test/py/tests/test_sleep.py @@ -1,24 +1,35 @@ -# Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. -# # SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. import pytest import time +""" +Note: This test doesn't rely on boardenv_* configuration values but they can +change test behavior. + +# Setup env__sleep_accurate to False if time is not accurate on your platform +env__sleep_accurate = False + +""" + def test_sleep(u_boot_console): - '''Test the sleep command, and validate that it sleeps for approximately - the correct amount of time.''' + """Test the sleep command, and validate that it sleeps for approximately + the correct amount of time.""" - # Do this before we time anything, to make sure U-Boot is already running. - # Otherwise, the system boot time is included in the time measurement. - u_boot_console.ensure_spawned() + 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') # 3s isn't too long, but is enough to cross a few second boundaries. sleep_time = 3 tstart = time.time() u_boot_console.run_command('sleep %d' % sleep_time) tend = time.time() elapsed = tend - tstart - delta_to_expected = abs(elapsed - sleep_time) - # 0.25s margin is hopefully enough to account for any system overhead. - assert delta_to_expected < 0.25 + assert elapsed >= (sleep_time - 0.01) + if not u_boot_console.config.gdbserver: + # 0.25s margin is hopefully enough to account for any system overhead. + assert elapsed < (sleep_time + 0.25)