@@ -62,12 +62,13 @@ class LeaksRunnerResult(perf_test_driver.Result):
6262
6363
6464class LeaksRunnerBenchmarkDriver (perf_test_driver .BenchmarkDriver ):
65- def __init__ (self , binary , xfail_list , num_samples , num_iters ):
65+ def __init__ (self , binary , xfail_list , num_samples , num_iters , verbose ):
6666 perf_test_driver .BenchmarkDriver .__init__ (
6767 self , binary , xfail_list , enable_parallel = True
6868 )
6969 self .num_samples = num_samples
7070 self .num_iters = num_iters
71+ self .verbose = verbose
7172
7273 def print_data_header (self , max_test_len ):
7374 fmt = "{:<%d}{:<10}{:}" % (max_test_len + 5 )
@@ -120,6 +121,13 @@ class LeaksRunnerBenchmarkDriver(perf_test_driver.BenchmarkDriver):
120121 ]
121122 d ["objc_count" ] = len (d ["objc_objects" ])
122123
124+ # If we are asked to emit verbose output, do so now.
125+ if self .verbose :
126+ tmp = (data ["path" ], data ["test_name" ], d )
127+ sys .stderr .write (
128+ "VERBOSE (%s,%s): %s" % tmp )
129+ sys .stderr .flush ()
130+
123131 total_count = d ["objc_count" ] + d ["swift_count" ]
124132 return total_count
125133 except Exception :
@@ -156,13 +164,17 @@ def parse_args():
156164 )
157165 parser .add_argument ("-num-samples" , type = int , default = 2 )
158166 parser .add_argument ("-num-iters" , type = int , default = 2 )
167+ parser .add_argument ("-v" , "--verbose" , action = "store_true" ,
168+ help = "Upon failure, dump out raw result" ,
169+ dest = "verbose" )
159170 return parser .parse_args ()
160171
161172
162173if __name__ == "__main__" :
163174 args = parse_args ()
164175 driver = LeaksRunnerBenchmarkDriver (
165- SWIFT_BIN_DIR , XFAIL_LIST , args .num_samples , args .num_iters
176+ SWIFT_BIN_DIR , XFAIL_LIST , args .num_samples , args .num_iters ,
177+ args .verbose
166178 )
167179 if driver .run (args .filter ):
168180 sys .exit (0 )
0 commit comments