Skip to content

Commit 21a4aa1

Browse files
committed
[benchmark] Move check-added to run_smoke_bench
1 parent eef71d4 commit 21a4aa1

File tree

2 files changed

+36
-63
lines changed

2 files changed

+36
-63
lines changed

benchmark/scripts/check_added_bench.py

Lines changed: 0 additions & 62 deletions
This file was deleted.

benchmark/scripts/run_smoke_bench.py

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,18 @@ def main():
6363
argparser.add_argument(
6464
'newbuilddir', nargs=1, type=str,
6565
help='new benchmark build directory')
66+
argparser.add_argument(
67+
'-check-added', action='store_const',
68+
help="Run BenchmarkDoctor's check on newly added benchmarks",
69+
const=lambda args: check_added(args), dest='func')
70+
argparser.set_defaults(func=test_opt_levels)
6671
args = argparser.parse_args()
6772
VERBOSE = args.verbose
6873

74+
return args.func(args)
75+
76+
77+
def test_opt_levels(args):
6978
for opt_level in args.opt_levels or ['O', 'Osize', 'Onone']:
7079
log('Testing optimization level -' + opt_level)
7180
test_opt_level(opt_level, args.oldbuilddir[0], args.newbuilddir[0],
@@ -178,7 +187,33 @@ def get_results(bench_dir, opt_level, num_samples, to_test):
178187
sys.stderr.flush()
179188
return sys.exit(e.returncode)
180189
else:
181-
return output
190+
return output
191+
192+
193+
class DriverArgs(object):
194+
def __init__(self, tests):
195+
self.benchmarks = None
196+
self.filters = None
197+
self.tests = os.path.join(tests, 'bin')
198+
self.optimization = 'O'
199+
200+
201+
def check_added(args):
202+
from imp import load_source
203+
# import Benchmark_Driver # doesn't work because it misses '.py' extension
204+
Benchmark_Driver = load_source(
205+
'Benchmark_Driver', os.path.join(os.path.dirname(
206+
os.path.abspath(__file__)), 'Benchmark_Driver'))
207+
# from Benchmark_Driver import BenchmarkDriver, BenchmarkDoctor
208+
BenchmarkDriver = Benchmark_Driver.BenchmarkDriver
209+
BenchmarkDoctor = Benchmark_Driver.BenchmarkDoctor
210+
211+
old = BenchmarkDriver(DriverArgs(args.oldbuilddir[0]))
212+
new = BenchmarkDriver(DriverArgs(args.newbuilddir[0]))
213+
added = set(new.tests).difference(set(old.tests))
214+
new.tests = list(added)
215+
doctor = BenchmarkDoctor(args, driver=new)
216+
doctor.check()
182217

183218

184219
if __name__ == '__main__':

0 commit comments

Comments
 (0)