mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
a65e34ce77
* Fix synchronize retries The synchronize module munges its task args on every invocation of run(). This was problematic because the munged data was not fit for use by a second pass of the synchronize module. Correct this by using a copy of the task args on every invocation of run() so that the original args are not affected. Local testing using this playbook seems to confirm that things work as expected: - hosts: all tasks: - delay: 2 register: task_result retries: 1 until: task_result.rc == 0 synchronize: dest: /tmp/out mode: pull src: /tmp/nonexistent/ fixes #18281 * Update synchroncization fixture assertions When we started operating on a copy of the task args the test assertions were no longer asserting things about the munged state but of the pristine state. Convert the copy of task args to a class member so that it can be compared against later in testing and update the assertions to check this munged copy. * Shuffle objects around for cleaner testing Attach the temporary args dict to the task rather than the action as this makes updating the existing tests cleaner. |
||
---|---|---|
.. | ||
compile | ||
integration | ||
results | ||
runner | ||
sanity | ||
units | ||
utils | ||
README.md |
Ansible Test System
Folders
units
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.