You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/units/executor
Steve Kuznetsov 0bc35354ce Change `v2_playbook_on_start` logic to positively detect legacy plugins
In order to support legacy plugins, the following two method signatures
are allowed for `CallbackBase.v2_playbook_on_start`:

def v2_playbook_on_start(self):
def v2_playbook_on_start(self, playbook):

Previously, the logic to handle this divergence checked to see if the
callback plugin being called supported an argument named `playbook`
in its `v2_playbook_on_start` method. This was fragile in a few ways:
 - if a plugin author did not use the literal `playbook` to name their
   method argument, their plugin would not be called correctly
 - if a plugin author wrapped their `v2_playbook_on_start` method and
   by doing so changed the argspec to no longer expose an argument
   with that literal name, their plugin would not be called correctly

In order to continue to support both types of callback for backwards
compatibility while making the call more robust for plugin authors,
the logic can be reversed in order to have a positive check for the old
method signature instead of a positive check for the new one.

Signed-off-by: Steve Kuznetsov <skuznets@redhat.com>
8 years ago
..
__init__.py Making the switch to v2 10 years ago
test_play_iterator.py Cache tasks by uuid in PlayIterator for O(1) lookups 8 years ago
test_playbook_executor.py test name TestPlayIterator->TestPlaybookExecutor 8 years ago
test_task_executor.py Avoid copying task parents in TaskExecutor 8 years ago
test_task_queue_manager_callbacks.py Change `v2_playbook_on_start` logic to positively detect legacy plugins 8 years ago
test_task_result.py add jimi-c's unit test for squashed skip results, tweaked is_skipped() logic to pass 9 years ago