@@ -615,7 +615,8 @@ def with_branch_and_commit_dict(self, d):
615615
616616 def rules (self , output , benchmarks , bm_suite_args ):
617617 bench_name = self .get_bench_name (benchmarks )
618- arg = self .get_arg (bench_name )
618+ arg = self .get_arg (self .runArgs (bm_suite_args ), bench_name )
619+
619620 return [
620621 # warmup curves
621622 StdOutRule (
@@ -714,9 +715,9 @@ def postprocess_run_args(self, run_args):
714715 vm_options .append (arg )
715716 i += 1
716717
717- if not (remaining and remaining [ 0 ] == "-i" ):
718+ if not (remaining and "-i" in remaining ):
718719 iterations = DEFAULT_ITERATIONS + self .getExtraIterationCount (DEFAULT_ITERATIONS )
719- remaining = ["-i" , str (iterations )] + remaining
720+ remaining = ["-i" , str (iterations )] + ( remaining if remaining else [])
720721
721722 return vm_options , remaining
722723
@@ -738,8 +739,8 @@ def __init__(self, name, bench_path, benchmarks, python_path=None):
738739 def get_bench_name (self , benchmarks ):
739740 return os .path .basename (os .path .splitext (benchmarks [0 ])[0 ])
740741
741- def get_arg (self , bench_name ):
742- return " " .join (self ._benchmarks [bench_name ])
742+ def get_arg (self , bmSuiteArgs , bench_name ):
743+ return " " .join (self ._benchmarks [bench_name ] + bmSuiteArgs )
743744
744745 def createVmCommandLineArgs (self , benchmarks , bmSuiteArgs ):
745746 if not benchmarks or len (benchmarks ) != 1 :
@@ -831,8 +832,8 @@ def get_vm_registry(self):
831832 def get_bench_name (self , benchmarks ):
832833 return benchmarks [0 ]
833834
834- def get_arg (self , bench_name ):
835- return " " .join (self ._benchmarks [bench_name ][1 :])
835+ def get_arg (self , bmSuiteArgs , bench_name ):
836+ return " " .join (self ._benchmarks [bench_name ][1 :] + bmSuiteArgs )
836837
837838 def createCommandLineArgs (self , benchmarks , bmSuiteArgs ):
838839 vmArgs = self .vmArgs (bmSuiteArgs )
@@ -864,7 +865,8 @@ def get_benchmark_suites(cls, benchmarks):
864865class PythonVmWarmupBenchmarkSuite (PythonBenchmarkSuite ):
865866 def rules (self , output , benchmarks , bm_suite_args ):
866867 bench_name = self .get_bench_name (benchmarks )
867- arg = self .get_arg (bench_name )
868+ arg = self .get_arg (bm_suite_args , bench_name )
869+
868870 return [
869871 # startup (difference between start of VM to end of first iteration)
870872 StdOutRule (
@@ -942,8 +944,8 @@ def createCommandLineArgs(self, benchmarks, bmSuiteArgs):
942944 bench_args = self ._benchmarks [bench_name ]
943945 return vmArgs + jmh_entry + runArgs + [bench_name ] + bench_args
944946
945- def get_arg (self , bench_name ):
946- return " " .join (self ._benchmarks [bench_name ][1 :])
947+ def get_arg (self , bmSuiteArgs , bench_name ):
948+ return " " .join (self ._benchmarks [bench_name ][1 :] + bmSuiteArgs )
947949
948950 @classmethod
949951 def get_benchmark_suites (cls , benchmarks ):
0 commit comments