From 9b72a3c17e443c3f4b05e0d3017884dc33cd7d9f Mon Sep 17 00:00:00 2001 From: Daniel Mitterdorfer Date: Thu, 5 Nov 2020 11:26:46 +0100 Subject: [PATCH] loosen legacy scheduler check --- esrally/driver/scheduler.py | 2 +- tests/driver/scheduler_test.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/esrally/driver/scheduler.py b/esrally/driver/scheduler.py index 9944d43a3..d88f77007 100644 --- a/esrally/driver/scheduler.py +++ b/esrally/driver/scheduler.py @@ -114,7 +114,7 @@ def is_legacy_scheduler(scheduler_class): target throughput. """ constructor_params = inspect.signature(scheduler_class.__init__).parameters - return len(constructor_params) == 2 and "params" in constructor_params + return len(constructor_params) >= 2 and "params" in constructor_params def is_simple_scheduler(scheduler_class): diff --git a/tests/driver/scheduler_test.py b/tests/driver/scheduler_test.py index d79914fbb..bca1a8f76 100644 --- a/tests/driver/scheduler_test.py +++ b/tests/driver/scheduler_test.py @@ -126,8 +126,14 @@ class LegacyScheduler: def __init__(self, params): pass + class LegacySchedulerWithAdditionalArgs: + # pylint: disable=unused-variable + def __init__(self, params, my_default_param=True): + pass + def test_detects_legacy_scheduler(self): self.assertTrue(scheduler.is_legacy_scheduler(SchedulerCategorizationTests.LegacyScheduler)) + self.assertTrue(scheduler.is_legacy_scheduler(SchedulerCategorizationTests.LegacySchedulerWithAdditionalArgs)) def test_a_regular_scheduler_is_not_a_legacy_scheduler(self): self.assertFalse(scheduler.is_legacy_scheduler(scheduler.DeterministicScheduler))