From: Ross Burton Date: Mon, 22 Jun 2015 16:20:42 +0000 (+0100) Subject: oe-selftest: timestamp the test runs X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~29968 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cce89c44948ee66ad0abb491be57e270038270e4;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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 --- diff --git a/scripts/oe-selftest b/scripts/oe-selftest index a04e9fc96cc..fd58a66123e 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()