[OE-core] [PATCH] oe-selftest: timestamp the test runs
Ross Burton
ross.burton at intel.com
Tue Jun 23 16:31:52 UTC 2015
The selftest can take a couple of hours to run, so add a custom result class to
timestamp the output to make it easy to spot any slow tests.
Signed-off-by: Ross Burton <ross.burton at intel.com>
---
scripts/oe-selftest | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/scripts/oe-selftest b/scripts/oe-selftest
index a04e9fc..fd58a66 100755
--- a/scripts/oe-selftest
+++ b/scripts/oe-selftest
@@ -176,7 +176,7 @@ def main():
suite = unittest.TestSuite()
loader = unittest.TestLoader()
loader.sortTestMethodsUsing = None
- runner = unittest.TextTestRunner(verbosity=2)
+ runner = unittest.TextTestRunner(verbosity=2, resultclass=StampedResult)
# we need to do this here, otherwise just loading the tests
# will take 2 minutes (bitbake -e calls)
oeSelfTest.testlayer_path = get_test_layer()
@@ -196,6 +196,17 @@ def main():
else:
return 1
+class StampedResult(unittest.TextTestResult):
+ """
+ Custom TestResult that prints the time when a test starts. As oe-selftest
+ can take a long time (ie a few hours) to run, timestamps help us understand
+ what tests are taking a long time to execute.
+ """
+ def startTest(self, test):
+ import time
+ self.stream.write(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + " - ")
+ super(StampedResult, self).startTest(test)
+
if __name__ == "__main__":
try:
ret = main()
--
2.1.4
More information about the Openembedded-core
mailing list