summaryrefslogtreecommitdiff
path: root/util/run_host_test
diff options
context:
space:
mode:
authorVic Yang <victoryang@chromium.org>2013-05-02 00:37:07 +0800
committerChromeBot <chrome-bot@google.com>2013-05-07 09:09:50 -0700
commit0a45fa17086d4556b7cb4ea0a9f53894197bc897 (patch)
treef2363f2a2320000404125bb36225e1420929d45d /util/run_host_test
parentb02c7b461740c457c6904a5d9d9f445afaa849cb (diff)
downloadchrome-ec-0a45fa17086d4556b7cb4ea0a9f53894197bc897.tar.gz
Pthread-based emulator for unit testingstabilize-4100.38.B
This is the first version of pthread-based RTOS emulator. With this, we will be able to test high-level modules entirely on the host machine. BUG=chrome-os-partner:19325 TEST='make runtests' and see tests passing. BRANCH=None Change-Id: I1f5fcd76aa84bdb46c7d35c5e60ae5d92fd3a319 Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49954 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'util/run_host_test')
-rwxr-xr-xutil/run_host_test26
1 files changed, 26 insertions, 0 deletions
diff --git a/util/run_host_test b/util/run_host_test
new file mode 100755
index 0000000000..bf8d8efd97
--- /dev/null
+++ b/util/run_host_test
@@ -0,0 +1,26 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2013 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.
+
+import pexpect
+import sys
+
+TIMEOUT=10
+
+test_name = sys.argv[1]
+child = pexpect.spawn('build/host/{0}/{0}.exe'.format(test_name),
+ timeout=TIMEOUT)
+child.logfile = sys.stdout
+result_id = child.expect([pexpect.TIMEOUT, 'Pass!', 'Fail!'])
+if result_id == 0:
+ sys.stderr.write('Test %s timed out after %d seconds!\n' %
+ (test_name, TIMEOUT))
+ sys.exit(1)
+elif result_id == 1:
+ sys.stderr.write('Test %s passed!\n' % test_name)
+ sys.exit(0)
+elif result_id == 2:
+ sys.stderr.write('Test %s failed!\n' % test_name)
+ sys.exit(1)