Skip to content

Commit

Permalink
Invoke next() on wrapped legacy scheduler
Browse files Browse the repository at this point in the history
  • Loading branch information
danielmitterdorfer committed Nov 5, 2020
1 parent 9b72a3c commit c8c70b2
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 1 deletion.
2 changes: 1 addition & 1 deletion esrally/driver/scheduler.py
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ def __init__(self, task, legacy_scheduler_class):
self.legacy_scheduler = legacy_scheduler_class(task.params)

def next(self, current):
return self.legacy_scheduler(current)
return self.legacy_scheduler.next(current)


class Unthrottled(Scheduler):
Expand Down
29 changes: 29 additions & 0 deletions tests/driver/scheduler_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,3 +144,32 @@ def test_is_simple_scheduler(self):

def test_is_not_simple_scheduler(self):
self.assertFalse(scheduler.is_simple_scheduler(scheduler.UnitAwareScheduler))


class LegacyWrappingSchedulerTests(TestCase):
class SimpleLegacyScheduler:
# pylint: disable=unused-variable
def __init__(self, params):
pass

def next(self, current):
return current

def setUp(self):
scheduler.register_scheduler("simple", LegacyWrappingSchedulerTests.SimpleLegacyScheduler)

def tearDown(self):
scheduler.remove_scheduler("simple")

def test_legacy_scheduler(self):
task = track.Task(name="raw-request",
operation=track.Operation(
name="raw",
operation_type=track.OperationType.RawRequest.name),
clients=1,
schedule="simple")

s = scheduler.scheduler_for(task)

self.assertEqual(0, s.next(0))
self.assertEqual(0, s.next(0))

0 comments on commit c8c70b2

Please sign in to comment.