File indexing completed on 2024-04-28 15:34:48

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