ansible/test
James Cammarata 43d1ea0cfc Track notified handlers by object rather than simply their name
Due to the fact that roles may be instantiated with different sets of
params (multiple inclusions of the same role or via role dependencies),
simply tracking notified handlers by name does not work. This patch
changes the way we track handler notifications by using the handler
object itself instead of just the name, allowing for multiple internal
instances. Normally this would be bad, but we also modify the way we
search for handlers by first looking at the notifying tasks dependency
chain (ensuring that roles find their own handlers first) and then at
the main list of handlers, using the first match it finds.

This patch also modifies the way we setup the internal list of handlers,
which should allow us to correctly identify if a notified handler exists
more easily.

Fixes #15084
2016-06-14 22:34:51 -05:00
..
code-smell Update grep for six to not falsely trigger when six is only a substring of a different library 2016-05-26 16:16:21 -07:00
integration use userdir module as example instead of alias (#15540) 2016-06-06 18:54:26 -07:00
units Track notified handlers by object rather than simply their name 2016-06-14 22:34:51 -05:00
utils Detect use of Travis tests on Shippable. 2016-06-06 16:48:17 -07:00
README.md Update README.md 2015-11-03 14:11:22 -05:00

Ansible Test System

Folders

unit

Unit tests that test small pieces of code not suited for the integration test layer, usually very API based, and should leverage mock interfaces rather than producing side effects.

Playbook engine code is better suited for integration tests.

Requirements: sudo pip install paramiko PyYAML jinja2 httplib2 passlib nose mock

integration

Integration test layer, constructed using playbooks.

Some tests may require cloud credentials, others will not, and destructive tests are separated from non-destructive so a subset can be run on development machines.

learn more

hop into a subdirectory and see the associated README.md for more info.