Skip to content

Commit

Permalink
Add baseline settings for priority of composition
Browse files Browse the repository at this point in the history
Signed-off-by: Stefan Marr <[email protected]>
  • Loading branch information
smarr committed Nov 7, 2021
1 parent 0037596 commit b98c8da
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 0 deletions.
53 changes: 53 additions & 0 deletions rebench/tests/features/issue_169.conf
Original file line number Diff line number Diff line change
@@ -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
29 changes: 29 additions & 0 deletions rebench/tests/features/issue_169_config_composition_test.py
Original file line number Diff line number Diff line change
@@ -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)

0 comments on commit b98c8da

Please sign in to comment.