File indexing completed on 2024-05-19 04:03:52
0001 #!/usr/bin/python 0002 # 0003 # Helper script to run unit tests repeatedly. 0004 # 0005 # SPDX-FileCopyrightText: 2005-2013 Mirko Boehm <mirko@kde.org> 0006 # 0007 # SPDX-License-Identifier: LGPL-2.0-or-later 0008 0009 import re 0010 import os 0011 import sys 0012 import time 0013 import platform 0014 0015 def RunTests( Number ): 0016 # use Linux as the default: 0017 SuccessCount = 0 0018 Platform = platform.platform() 0019 # Command = "./ThreadWeaverJobTests EmitStartedOnFirstElementTest" 0020 # Command = "./ThreadWeaverJobTests CollectionDependenciesTest" 0021 # Command = "./ThreadWeaverJobTests JobSignalsDeliveryTest" 0022 # Command = "./ThreadWeaverJobTests" 0023 Command = "make test" 0024 # if re.search( "Darwin", Platform ): 0025 # Command = "DYLD_LIBRARY_PATH=../Weaver:../Experimental ./JobTests.app/Contents/MacOs/JobTests >/dev/null" 0026 for count in range( Number ): 0027 retValue = os.system ( Command) 0028 resultString = " (FAILED)" 0029 if retValue == 0: 0030 resultString = " (succeeded)" 0031 SuccessCount = SuccessCount + 1 0032 else: 0033 sys.exit(1) 0034 print "Test run #" + str(count + 1) + resultString 0035 return SuccessCount 0036 0037 Number = 10 0038 0039 try: 0040 Number = int ( sys.argv[1] ) 0041 except: 0042 print "No number given, using default of ", Number 0043 0044 FailedCount = 0 0045 SuccessCount = 0 0046 0047 t1 = time.time() 0048 SuccessCount = RunTests ( Number ) 0049 t2 = time.time() 0050 0051 0052 elapsed = ((t2 - t1) / 60.0, t2 - t1, (t2 - t1) * 1000.0) 0053 0054 print "RunTests: " + str(Number) + " test runs (" + str(SuccessCount) + " successful, " + str(Number - SuccessCount) + " failed)" 0055 print "RunTests: %0.3fms (%0.3fs)" % ( elapsed[2], elapsed[1] ) 0056 print "Averages: %0.3fms per test run (%0.3fs)" % ( elapsed[2] / Number, elapsed[1] / Number ) 0057 0058 0059