Index: client/bin/unit_test.py |
diff --git a/client/bin/unit_test.py b/client/bin/unit_test.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3a4a6182dcfb995c480c9de5c8d22fed9557efe0 |
--- /dev/null |
+++ b/client/bin/unit_test.py |
@@ -0,0 +1,47 @@ |
+# Copyright (c) 2010 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 logging, os |
+ |
+from autotest_lib.client.bin import test |
+from autotest_lib.client.common_lib import utils |
+ |
+class unit_test(test.test): |
+ """ |
+ Unit test should simply subclass this test which handles everything. |
+ """ |
+ version = 1 |
+ preserve_srcdir = True |
+ |
+ |
+ def setup(self): |
+ os.chdir(self.srcdir) |
+ utils.system('make clean') |
+ utils.system('make all') |
+ |
+ self.job.setup_dep(['gtest']) |
+ |
+ def run_once(self): |
+ dep ='gtest' |
+ dep_dir = os.path.join(self.autodir, 'deps', dep) |
+ self.job.install_pkg(dep, 'dep', dep_dir) |
+ |
+ # Run the unit test, gather the results and place the gcda files for |
+ # code coverage in the results directory. |
+ |
+ os.chdir(self.srcdir) |
+ result = utils.run('LD_LIBRARY_PATH=' + dep_dir + |
+ ' GCOV_PREFIX=' + self.resultsdir + |
+ ' GCOV_PREFIX_STRIP=9999 ./unit_test > ' + |
+ self.resultsdir + '/unit_test_result.txt') |
+ logging.debug(result.stderr) |
petkov
2010/04/09 21:13:31
Shouldn't you be processing the generated result f
Sean Parent
2010/04/10 02:46:07
If one of the unit tests fails then the command wi
|
+ logging.info('result: ' + self.resultsdir + '/unit_test_result.txt') |
petkov
2010/04/09 21:13:31
Now this is something you could write as a test_ke
Sean Parent
2010/04/10 02:46:07
Since this is client side - I didn't think it woul
|
+ |
+ def cleanup(self): |
+ # This is a hack - we should only need to copy back the .gcda file but |
+ # we don't know how to access the source on the server. So copy |
+ # everything back. |
+ |
+ os.chdir(self.srcdir) |
+ utils.run('cp * ' + self.resultsdir) |