diff options
author | Vic (Chun-Ju) Yang <victoryang@chromium.org> | 2014-01-10 11:50:18 +0800 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2014-01-20 23:39:48 +0000 |
commit | 357c9ab98c5e6c676e7246a51a35a1849c8c51b3 (patch) | |
tree | 68739b47dcf963a9c4399b7faf0c3378adc1aebf | |
parent | 6d4f5491a3f8194ea016e662a1501c5830f5657f (diff) | |
download | chrome-ec-357c9ab98c5e6c676e7246a51a35a1849c8c51b3.tar.gz |
Clean up run_host_test script
This includes:
- Remove an unused function argument
- Style fix
- Handle EOF by pexpect instead of catching exception
BUG=None
Original-BUG=chrome-os-partner:19235
TEST=Run all tests
TEST=Make a test crash and check EOF is handled properly
BRANCH=None
Change-Id: I286c6b9db719ec3de36b9eb5cdba1b7187950c60
Original-Change-Id: I3636cdab6e68cacf97c4b245b14b2d57613a1674
Signed-off-by: Vic (Chun-Ju) Yang <victoryang@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/182049
Reviewed-on: https://chromium-review.googlesource.com/182658
Commit-Queue: Dave Parker <dparker@chromium.org>
Tested-by: Dave Parker <dparker@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/183182
Reviewed-by: Dave Parker <dparker@chromium.org>
-rwxr-xr-x | util/run_host_test | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/util/run_host_test b/util/run_host_test index c25374b95f..c130b822fb 100755 --- a/util/run_host_test +++ b/util/run_host_test @@ -15,8 +15,9 @@ TIMEOUT=10 RESULT_ID_TIMEOUT = 0 RESULT_ID_PASS = 1 RESULT_ID_FAIL = 2 +RESULT_ID_EOF = 3 -EXPECT_LIST = [pexpect.TIMEOUT, 'Pass!', 'Fail!'] +EXPECT_LIST = [pexpect.TIMEOUT, 'Pass!', 'Fail!', pexpect.EOF] class Tee(object): def __init__(self, target): @@ -30,15 +31,12 @@ class Tee(object): sys.stdout.flush() self._target.flush() -def RunOnce(test_name, log, timeout_secs): +def RunOnce(test_name, log): child = pexpect.spawn('build/host/{0}/{0}.exe'.format(test_name), - timeout=TIMEOUT) + timeout=TIMEOUT) child.logfile = log try: return child.expect(EXPECT_LIST) - except pexpect.EOF: - child.close() - return RESULT_ID_FAIL finally: if child.isalive(): child.kill(signal.SIGTERM) @@ -49,10 +47,9 @@ tee_log = Tee(log) test_name = sys.argv[1] start_time = time.time() -result_id = RunOnce(test_name, tee_log, start_time + TIMEOUT - time.time()) +result_id = RunOnce(test_name, tee_log) elapsed_time = time.time() - start_time -failed = False if result_id == RESULT_ID_TIMEOUT: sys.stderr.write('Test %s timed out after %d seconds!\n' % (test_name, TIMEOUT)) @@ -60,10 +57,15 @@ if result_id == RESULT_ID_TIMEOUT: elif result_id == RESULT_ID_PASS: sys.stderr.write('Test %s passed! (%.3f seconds)\n' % (test_name, elapsed_time)) + failed = False elif result_id == RESULT_ID_FAIL: sys.stderr.write('Test %s failed! (%.3f seconds)\n' % (test_name, elapsed_time)) failed = True +elif result_id == RESULT_ID_EOF: + sys.stderr.write('Test %s terminated unexpectedly! (%.3f seconds)\n' % + (test_name, elapsed_time)) + failed = True if failed: sys.stderr.write('\n====== Emulator output ======\n') |