--- - name: run handlers hosts: A gather_facts: False roles: - { role: test_handlers_meta, tags: ['scenario1'] } - name: verify final handler was run hosts: A gather_facts: False tasks: - name: verify handler2 ran assert: that: - "not hostvars[inventory_hostname]['handler1_called']" - "'handler2_called' in hostvars[inventory_hostname]" tags: ['scenario1'] - name: verify listening handlers hosts: A gather_facts: False tasks: - name: notify some handlers command: echo foo notify: - notify_listen post_tasks: - name: assert all defined handlers ran without error assert: that: - "notify_listen_ran_1 is defined" - "notify_listen_ran_2 is defined" handlers: - name: first listening handler has a name set_fact: notify_listen_ran_1: True listen: notify_listen # second listening handler does not - set_fact: notify_listen_ran_2: True listen: notify_listen - name: test handlers hosts: testgroup gather_facts: False roles: - { role: test_handlers }