@@ -183,14 +183,14 @@ def config_name(self):
183183#
184184# ----------------------------------------------------------------------------------------------------------------------
185185class PythonBenchmarkSuite (VmBenchmarkSuite , AveragingBenchmarkMixin ):
186- def __init__ (self , name , harness_path ):
186+ def __init__ (self , name , bench_path , benchmarks ):
187187 self ._name = name
188- self ._harness_path = harness_path
188+ self ._harness_path = HARNESS_PATH
189189 self ._harness_path = join (_graalpython_suite .dir , self ._harness_path )
190190 if not self ._harness_path :
191191 mx .abort ("python harness path not specified!" )
192192
193- self ._bench_path , self ._benchmarks = BENCHMARKS [ self . _name ]
193+ self ._bench_path , self ._benchmarks = bench_path , benchmarks
194194 self ._bench_path = join (_graalpython_suite .dir , self ._bench_path )
195195
196196 def rules (self , output , benchmarks , bm_suite_args ):
@@ -292,8 +292,10 @@ def get_vm_registry(self):
292292 return python_vm_registry
293293
294294 @classmethod
295- def get_benchmark_suites (cls ):
296- return [cls (suite_name , HARNESS_PATH ) for suite_name in BENCHMARKS ]
295+ def get_benchmark_suites (cls , benchmarks ):
296+ assert isinstance (benchmarks , dict ), "benchmarks must be a dict: {suite: [path, benchmarks], ...}"
297+ return [cls (suite_name , suite_info [0 ], suite_info [1 ])
298+ for suite_name , suite_info in benchmarks .items ()]
297299
298300
299301# ----------------------------------------------------------------------------------------------------------------------
0 commit comments