summaryrefslogtreecommitdiffstats
path: root/testrunner
diff options
context:
space:
mode:
authorBrett Chabot <brettchabot@google.com>2009-06-29 17:40:45 -0700
committerBrett Chabot <brettchabot@google.com>2009-06-29 17:44:52 -0700
commitbf7863ec271cad3a8636bf7569963e7b3debaa51 (patch)
treebd616cbeda1ddac9a61f176be3ca9e7626de2525 /testrunner
parente0bf8162f078d0d9e6170110cd8ab40a8fe8ab1a (diff)
downloadandroid_development-bf7863ec271cad3a8636bf7569963e7b3debaa51.tar.gz
android_development-bf7863ec271cad3a8636bf7569963e7b3debaa51.tar.bz2
android_development-bf7863ec271cad3a8636bf7569963e7b3debaa51.zip
runtest: Remove run_command -> android_build dependency.
This is desired because run_command is used by puppetmaster which should have no dependency on android build system.
Diffstat (limited to 'testrunner')
-rwxr-xr-xtestrunner/run_command.py7
-rw-r--r--testrunner/test_defs/native_test.py27
2 files changed, 26 insertions, 8 deletions
diff --git a/testrunner/run_command.py b/testrunner/run_command.py
index 8cf385b87..7d1f547ea 100755
--- a/testrunner/run_command.py
+++ b/testrunner/run_command.py
@@ -23,7 +23,6 @@ import threading
import time
# local imports
-import android_build
import errors
import logger
@@ -129,16 +128,14 @@ def RunHostCommand(binary, valgrind=False):
output are always discarded.
Args:
- binary: basename of the file to be run. It is expected to be under
- out/host/<os>-<arch>/bin.
+ binary: full path of the file to be run.
valgrind: If True the command will be run under valgrind.
Returns:
The command exit code (int)
"""
- full_path = os.path.join(android_build.GetHostBin(), binary)
if not valgrind:
- subproc = subprocess.Popen(full_path, stdout=subprocess.PIPE,
+ subproc = subprocess.Popen(binary, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
subproc.wait()
if subproc.returncode != 0: # In case of error print the output
diff --git a/testrunner/test_defs/native_test.py b/testrunner/test_defs/native_test.py
index e27f3e6d0..1541cc1ec 100644
--- a/testrunner/test_defs/native_test.py
+++ b/testrunner/test_defs/native_test.py
@@ -18,6 +18,7 @@
"""TestSuite for running native Android tests."""
# python imports
+import re
import os
# local imports
@@ -93,9 +94,9 @@ class NativeTestSuite(AbstractTestSuite):
full_path = os.path.join(os.sep, "system", "bin", f)
# Single quotes are needed to prevent the shell splitting it.
- output = self._adb.SendShellCommand("'%s 2>&1;echo -n exit code:$?'" %
- full_path,
- int(self._options.timeout))
+ output = adb.SendShellCommand("'%s 2>&1;echo -n exit code:$?'" %
+ full_path,
+ int(options.timeout))
success = output.endswith("exit code:0")
logger.Log("%s... %s" % (f, success and "ok" or "failed"))
# Print the captured output when the test failed.
@@ -150,3 +151,23 @@ class NativeTestSuite(AbstractTestSuite):
if os.path.exists(full_path):
binaries.append(binary)
return binaries
+
+ def _RunHostCommand(self, binary, valgrind=False):
+ """Run a command on the host (opt using valgrind).
+
+ Runs the host binary and returns the exit code.
+ If successfull, the output (stdout and stderr) are discarded,
+ but printed in case of error.
+ The command can be run under valgrind in which case all the
+ output are always discarded.
+
+ Args:
+ binary: basename of the file to be run. It is expected to be under
+ out/host/<os>-<arch>/bin.
+ valgrind: If True the command will be run under valgrind.
+
+ Returns:
+ The command exit code (int)
+ """
+ full_path = os.path.join(android_build.GetHostBin(), binary)
+ return run_command.RunHostCommand(full_path, valgrind=valgrind)