diff options
author | Vic Yang <victoryang@chromium.org> | 2012-06-15 13:59:07 +0800 |
---|---|---|
committer | Gerrit <chrome-bot@google.com> | 2012-06-15 23:54:45 -0700 |
commit | b8be40607ef74fa8a91690219437c7519570050b (patch) | |
tree | 87c3f171e16172da51971d4d6a7a25d60c050f0d /test | |
parent | 8c55761613bd5f0b2bcac6c769256842218d96c1 (diff) | |
download | chrome-ec-b8be40607ef74fa8a91690219437c7519570050b.tar.gz |
Add a test of checking timer value when system jump
This test checks the sanity of timer value when jumping between images.
BUG=chrome-os-partner:9188
TEST=Test passed
Change-Id: If264e28e4ceec6ddb8325f3496825a40e7a038d8
Reviewed-on: https://gerrit.chromium.org/gerrit/25371
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Commit-Ready: Vic Yang <victoryang@chromium.org>
Tested-by: Vic Yang <victoryang@chromium.org>
Diffstat (limited to 'test')
-rw-r--r-- | test/build.mk | 2 | ||||
-rw-r--r-- | test/timer_jump.py | 28 | ||||
-rw-r--r-- | test/timer_jump.tasklist | 19 |
3 files changed, 48 insertions, 1 deletions
diff --git a/test/build.mk b/test/build.mk index 5cbbfbcd21..5966f41579 100644 --- a/test/build.mk +++ b/test/build.mk @@ -6,7 +6,7 @@ # on-board test binaries build # -test-list=hello pingpong timer_calib timer_dos mutex +test-list=hello pingpong timer_calib timer_dos timer_jump mutex #disable: powerdemo pingpong-y=pingpong.o diff --git a/test/timer_jump.py b/test/timer_jump.py new file mode 100644 index 0000000000..2f2302e327 --- /dev/null +++ b/test/timer_jump.py @@ -0,0 +1,28 @@ +# Copyright (c) 2012 The Chromium OS Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. +# +# Timer test: check time sanity when jumping between images +# + +import time + +DELAY = 5 +ERROR_MARGIN = 0.5 + +def test(helper): + helper.wait_output("Console is enabled") + helper.ec_command("sysjump ro") + helper.wait_output("Console is enabled") + helper.ec_command("gettime") + ec_start_time = helper.wait_output("Time: 0x[0-9a-f]* = (?P<t>[\d\.]+) s", + use_re=True)["t"] + time.sleep(DELAY) + helper.ec_command("sysjump a") + helper.wait_output("Console is enabled") + helper.ec_command("gettime") + ec_end_time = helper.wait_output("Time: 0x[0-9a-f]* = (?P<t>[\d\.]+) s", + use_re=True)["t"] + + time_diff = float(ec_end_time) - float(ec_start_time) + return time_diff >= DELAY and time_diff <= DELAY + ERROR_MARGIN diff --git a/test/timer_jump.tasklist b/test/timer_jump.tasklist new file mode 100644 index 0000000000..652e8fb6bd --- /dev/null +++ b/test/timer_jump.tasklist @@ -0,0 +1,19 @@ +/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +/** + * List of enabled tasks in the priority order + * + * The first one has the lowest priority. + * + * For each task, use the macro TASK(n, r, d) where : + * 'n' in the name of the task + * 'r' in the main routine of the task + * 'd' in an opaque parameter passed to the routine at startup + */ +#define CONFIG_TASK_LIST \ + TASK(WATCHDOG, watchdog_task, NULL) \ + TASK(CONSOLE, console_task, NULL) \ + TASK(HOSTCMD, host_command_task, NULL) |