[oe-commits] Ross Burton : oe-selftest: timestamp the test runs

git at git.openembedded.org git at git.openembedded.org
Fri Jun 26 13:09:00 UTC 2015


Module: openembedded-core.git
Branch: master-next
Commit: cce89c44948ee66ad0abb491be57e270038270e4
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=cce89c44948ee66ad0abb491be57e270038270e4

Author: Ross Burton <ross.burton at intel.com>
Date:   Mon Jun 22 17:20:42 2015 +0100

oe-selftest: timestamp the test runs

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()



More information about the Openembedded-commits mailing list