From b98c8da535ee73129fd7bab694d4aa71adf55ae2 Mon Sep 17 00:00:00 2001 From: Stefan Marr Date: Sun, 7 Nov 2021 23:13:31 +0000 Subject: [PATCH] Add baseline settings for priority of composition Signed-off-by: Stefan Marr --- rebench/tests/features/issue_169.conf | 53 +++++++++++++++++++ .../issue_169_config_composition_test.py | 29 ++++++++++ 2 files changed, 82 insertions(+) create mode 100644 rebench/tests/features/issue_169.conf create mode 100644 rebench/tests/features/issue_169_config_composition_test.py diff --git a/rebench/tests/features/issue_169.conf b/rebench/tests/features/issue_169.conf new file mode 100644 index 00000000..5acf1aa6 --- /dev/null +++ b/rebench/tests/features/issue_169.conf @@ -0,0 +1,53 @@ +benchmark_suites: + Suite1: + command: suite-1 %(benchmark)s %(iterations)s + iterations: 30 + gauge_adapter: Time + benchmarks: + - Bench1: + iterations: 40 + - Bench2 + + Suite2: + command: suite-2 %(benchmark)s %(iterations)s + invocations: 3 + gauge_adapter: Time + benchmarks: + - Bench3 + + Suite3: + command: suite-3 %(benchmark)s %(iterations)s + gauge_adapter: Time + benchmarks: + - Bench4 + +executors: + TestRunner1: + iterations: 10 + invocations: 1 + path: . + executable: exe-1 + + TestRunner2: + iterations: 10 + invocations: 1 + path: . + executable: exe-2 + +experiments: + + Exp1: + suites: + - Suite1 + executions: + - TestRunner1 + iterations: 20 + + Exp2: + executions: + - TestRunner2: + suites: + - Suite1 + - Suite2 + - Suite3 + invocations: 2 diff --git a/rebench/tests/features/issue_169_config_composition_test.py b/rebench/tests/features/issue_169_config_composition_test.py new file mode 100644 index 00000000..7e634f26 --- /dev/null +++ b/rebench/tests/features/issue_169_config_composition_test.py @@ -0,0 +1,29 @@ +from ..rebench_test_case import ReBenchTestCase +from ...configurator import Configurator, load_config +from ...persistence import DataStore + + +class Issue169ConfigCompositionTest(ReBenchTestCase): + + def setUp(self): + super(Issue169ConfigCompositionTest, self).setUp() + self._set_path(__file__) + self.cnf = Configurator(load_config(self._path + '/issue_169.conf'), + DataStore(self.ui), self.ui, None, 'all') + self.runs = list(self.cnf.get_runs()) + self.runs = sorted(self.runs, key=lambda e: e.cmdline()) + + def _assert(self, run, exe, bench, iterations, invocations): + self.assertEqual(run.benchmark.suite.executor.name, exe) + self.assertEqual(run.benchmark.name, bench) + self.assertEqual(run.iterations, iterations) + self.assertEqual(run.invocations, invocations) + + def test_confirm_setting_priority(self): + self._assert(self.runs[0], "TestRunner1", "Bench1", 40, 1) + self._assert(self.runs[1], "TestRunner1", "Bench2", 30, 1) + + self._assert(self.runs[2], "TestRunner2", "Bench1", 40, 1) + self._assert(self.runs[3], "TestRunner2", "Bench2", 30, 1) + self._assert(self.runs[4], "TestRunner2", "Bench3", 10, 3) + self._assert(self.runs[5], "TestRunner2", "Bench4", 10, 1)