Commit graph

5921 commits

Author SHA1 Message Date
Matt Clay
24324cbca8 Fix parametrize warning in unit tests.
(cherry picked from commit 1a28898a00)
2018-10-09 18:25:24 -07:00
Matt Clay
7ce940cb41 Add symlinks sanity test. (#46467)
* Add symlinks sanity test.
* Replace legacy test symlinks with actual content.
* Remove dir symlink from template_jinja2_latest.
* Update import test to use generated library dir.
* Fix copy test symlink setup.

(cherry picked from commit e2b6047514)
2018-10-09 18:25:24 -07:00
Matt Clay
4fb485a155 Improve ansible-test environment checking between tests. (#46459)
* Add unified diff output to environment validation.

This makes it easier to see where the environment changed.

* Compare Python interpreters by version to pip shebangs.

This helps expose cases where pip executables use a different
Python interpreter than is expected.

* Query `pip.__version__` instead of using `pip --version`.

This is a much faster way to query the pip version. It also more
closely matches how we invoke pip within ansible-test.

* Remove redundant environment scan between tests.

This reuses the environment scan from the end of the previous test
as the basis for comparison during the next test.

(cherry picked from commit 0dc7f38787)
2018-10-09 18:25:24 -07:00
Matt Clay
e295888117 Add file exists check in integration-aliases test.
(cherry picked from commit 33a8be9109)
2018-10-09 18:25:24 -07:00
Matt Clay
0183f2fc87 Use default-test-container version 1.3.0.
(cherry picked from commit 6d9be66418)
2018-10-09 18:25:24 -07:00
Matt Clay
37748d219c Fix ansible-test encoding issues for exceptions.
(cherry picked from commit 0d7a156319)
2018-10-09 18:25:24 -07:00
Matt Clay
8b5f2c3ae7 Fix ansible-test multi-group smoke test handling. (#46363)
* Fix ansible-test smoke tests across groups.
* Fix ansible-test list arg defaults.
* Fix ansible-test require and exclude delegation.
* Fix detection of Windows specific changes.
* Add minimal Windows testing for Python 3.7.

(cherry picked from commit e53390b3b1)
2018-10-09 18:25:24 -07:00
Matt Clay
970e6542b5 Rebalance shippable/posix/ CI groups.
(cherry picked from commit 33b34f5c82)
2018-10-09 18:25:24 -07:00
Matt Clay
6d287de9bc Reduce noise in docs-build test failures.
(cherry picked from commit 4085d01617)
2018-10-09 18:25:24 -07:00
Matt Clay
cc51d93f1b Fix ansible-test docker python version handling.
This removes the old name based version detection behavior and
uses versions defined in the docker completion file instead, as
the new containers do not follow the old naming scheme.

(cherry picked from commit 54937ba784)
2018-10-09 18:25:24 -07:00
Matt Clay
54d06d042e Fix integration test library search path.
This prevents tests from loading modules outside the source tree,
which could result in testing the wrong module if a system-wide
install is present, or custom modules exist.

(cherry picked from commit d603cd41fe)
2018-10-09 18:25:24 -07:00
Matt Clay
76d71f034e Bug fixes and cleanup for ansible-test. (#45991)
* Remove unused imports.
* Clean up ConfigParser usage in ansible-test.
* Fix bare except statements in ansible-test.
* Miscellaneous cleanup from PyCharm inspections.
* Enable pylint no-self-use for ansible-test.
* Remove obsolete pylint ignores for Python 3.7.
* Fix shellcheck issuers under newer shellcheck.
* Use newer path for ansible-test.
* Fix issues in code-smell tests.

(cherry picked from commit ac492476e5)
2018-10-09 18:25:24 -07:00
Matt Clay
b0b23d5a91 Add python.py coverage injector for ansible-test.
This can be used to run Python scripts from the repository with the
correct interpreter and allow collection of code coverage.

Useful for testing contrib inventory scripts.

(cherry picked from commit 45b5685037)
2018-10-09 18:25:24 -07:00
Matt Clay
f35f7e2e54 Improve error handling for docs-build test.
(cherry picked from commit 2148999048)
2018-10-09 18:25:24 -07:00
Matt Clay
4389e2175a Improve ansible-test match error handling.
(cherry picked from commit 2056c981ae)
2018-10-09 18:25:24 -07:00
Dag Wieers
0aa2aaa175 Fix incorrect use of subprocess.CalledProcessError (#45890)
(cherry picked from commit 24dd87bd0a)
2018-10-09 18:25:24 -07:00
Matt Clay
cfe86582f2 Support comments in ansible-test flat files.
(cherry picked from commit 5a3000af19)
2018-10-09 18:25:24 -07:00
Matt Clay
7842b99106 Make ansible-test available in the bin directory. (#45876)
(cherry picked from commit f3d1f9544b)
2018-10-09 18:25:24 -07:00
Matt Clay
434d9b2f2a Block network access for unit tests in docker.
(cherry picked from commit 99cac99cbc)
2018-10-09 18:25:24 -07:00
Matt Clay
5d19738af6 Minor fixes for unit test delegation.
(cherry picked from commit be199cfe90)
2018-10-09 18:25:24 -07:00
Matt Clay
86f37620e6 Run unit tests in parallel. (#45812)
(cherry picked from commit abe8e4c9e8)
2018-10-09 18:25:24 -07:00
Matt Clay
ecc706f122 Fix ansible-test unit test execution. (#45772)
* Fix ansible-test units requirements install.
* Run unit tests as unprivileged user under Docker.

(cherry picked from commit 379a7f4f5a)
2018-10-09 18:25:24 -07:00
Matt Clay
6d07cec588 Fix unit test parametrize order on Python 3.5.
(cherry picked from commit 53b230ca74)
2018-10-09 18:25:24 -07:00
Matt Clay
09e61f29e9 Fix unit tests which modify the source tree. (#45763)
* Fix CNOS unit test log usage.
* Use temp dir for Galaxy unit tests.
* Write to temp files in interfaces_file unit test.
* Fix log placement in netapp_e_ldap unit test.

(cherry picked from commit 0686450cae)
2018-10-09 18:25:24 -07:00
Nathaniel Case
e575f655c1 Clean up after cnos tests (#45564)
(cherry picked from commit 0b433b3ea9)
(cherry picked from commit 71b3951d09aed385be0771d01ba739348451e720)
2018-10-09 18:25:24 -07:00
René Moser
083d2a6ad7 [2.7] backport cs_instance fixes (#46274)
* cs_instance: doc: fix typo in examples (#46035)


(cherry picked from commit c09b785a66)

* cs_instance: fix host migration without volume (#46115)


(cherry picked from commit e7926cf9f4)

* add changelog fragment
2018-10-09 18:22:07 -07:00
Felix Fontein
85e227d338 Remove regression test for fix which is in another backport PR (#45769). 2018-10-09 18:20:13 -07:00
Felix Fontein
1d01543e34 docker_container: fix various idempotency problems and non-working options (#45905)
* Sorting args.

* Doing comparisons of options with container parameters in a more context-sensitive way.

This prevents unnecessary restarts, or missing restarts (f.ex. if parameters are removed from ``cmd``).

* Make blkio_weight work.

* Fix cap_drop idempotency problem.

* Making groups idempotent if it contains integers.

* Make cpuset_mems work.

* Make dns_opts work.

* Fixing log_opts: docker expects string values, returns error for integer.

* Adding tests from felixfontein/ansible-docker_container-test#2.

* Make uts work.

* Adding changelog entry.

* Forgot option security_opts.

* Fixing typo.

* Explain strict set(dict) comparison a bit more.

* Improving idempotency tests.

* Making dns_servers a list, since the ordering is relevant.

* Making dns_search_domains a list, since the ordering is relevant.

* Improving dns_search_domains/dns_servers.

* Fixing entrypoint test.

* Making sure options are only supported for correct docker-py versions.
2018-10-09 18:20:13 -07:00
Felix Fontein
18b575b593 integration tests for docker_container (#45747)
* First round of integration tests for docker_container.

* Added regression test for #45700.

* Work around dict order randomization.
2018-10-09 18:20:13 -07:00
Pieter Avonts
190cdd3a29 VMware: Rewrite get_resource_pool method for correct resource_pool selection (#39792)
* rewrite get_resource_pool method for correct resource_pool selection
* only keep name if path is given for cluster, esxi_hostname or resource_pool
* Revert "only keep name if path is given for cluster, esxi_hostname or resource_pool"
* This reverts commit 50293ec763c024b0eaceac5d775ccc0ad3ff8bd7.
* if the name argument contains a path, only use the last part for matching
* remove path from cluster argument in tests
* remove find_objs in favour of reusing find_obj with an extra folder argument
* fix find_obj ignoring first if name is not given

(cherry picked from commit 1a810f8f11)
2018-10-09 13:47:43 -07:00
Jordan Borean
10038a423b ps-lint: ignore rules that are not relevant to Ansible (#46376)
(cherry picked from commit ba638f40cf)
2018-10-09 13:40:36 -07:00
Sam Doran
19fe83d786 Use proper index value with insertbefore on a one line file (#46071)
Add tests and changelog

(cherry picked from commit b74279d14c)
2018-10-09 12:17:30 -07:00
Jordan Borean
2388126bdf win_chocolatey: remove test packages after tests are run (#46431)
(cherry picked from commit 1de88cbaa9)
2018-10-09 11:18:38 -07:00
Kévin Subileau
6a27a4251e win_nssm: wrong variable in tests
(cherry picked from commit 9b9c839461)
2018-10-09 11:13:37 -07:00
Kévin Subileau
7601f1c153 win_nssm: restore support of string as dict form for app_parameters and remove support of literal YAML dict
(cherry picked from commit 862855252b)
2018-10-09 11:13:37 -07:00
Kévin Subileau
2de895a07b win_nssm: restore comma as separator for service dependencies
Revert commit ddd4b4b

(cherry picked from commit ead882bb9b)
2018-10-09 11:13:37 -07:00
Kévin Subileau
4215feeb5e win_nssm: test parameters with spaces, quotes or backslashes
(cherry picked from commit 51843a7b3c)
2018-10-09 11:13:37 -07:00
Kévin Subileau
da801283ee win_nssm: add idempotence tests
(cherry picked from commit 46a5e4f3bf)
2018-10-09 11:13:37 -07:00
Kévin Subileau
df1aaab3df win_nssm: fix incorrect separator in doc for service dependencies
The dependencies parameter works with space as separator, but not with comma as shown in the documentation

(cherry picked from commit ddd4b4bea6)
2018-10-09 11:13:37 -07:00
Kévin Subileau
2409ae5f27 win_nssm: add more failing tests
These tests highlight several issues with this module:
 * Service not started when state=started
 * Errors with app_parameters (see #25265)
 * Exception when passing several dependencies separated by comma as specified in doc

(cherry picked from commit e50234bdb3)
2018-10-09 11:13:37 -07:00
Kévin Subileau
f81229c85c win_nssm: use Run-Command instead of Invoke-Expression to prevent interpretation issue
Fix #44079

(cherry picked from commit 20a0d90ebe)
2018-10-09 11:13:37 -07:00
Kévin Subileau
14cccb9488 win_nssm: add failing tests for issue #44079
(cherry picked from commit a5d1241fa1)
2018-10-09 11:13:37 -07:00
Sam Doran
8b0c46a51a Use bytes rather than native string for result (#46281)
This prevents a stack trace in Python 3 when the result is an empty file since
the file is open in binary mode and a native string in Python 3 is str,
not bytes.

(cherry picked from commit 8b1ae30e2e)
2018-10-09 11:08:11 -07:00
Matt Martz
8da4113ec0 [stable-2.7] Support nested JSON decoding in AnsibleJSONDecoder (#45924)
* Support nested JSON decoding in AnsibleJSONDecoder

* Add tests for vault portion of AnsibleJSONDecoder
(cherry picked from commit c0915e2)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-09 10:55:16 -07:00
René Moser
2c788b6748 vultr: fix for unreliable API behavior (#45712)
(cherry picked from commit 1ed3bd9168)
2018-10-09 10:51:21 -07:00
Daniel Speichert
bc08cf12ea [stable-2.7] Migrate from MySQLdb to PyMySQL (#40123)
* Migrate from MySQLdb to PyMySQL

* Deduplicate driver loading and failure message

* Explain requirements

* Apply requirements docs change to proxysql too

* Add changelog.
(cherry picked from commit d34cf93f1a)

Co-authored-by: Daniel Speichert <DSpeichert@users.noreply.github.com>
2018-10-09 10:26:21 -07:00
Jordan Borean
547be8c957 powershell: do not quote join_path result to reflect ShellBase join_path (#45944)
(cherry picked from commit 198423d6fb)
2018-10-09 10:25:42 -07:00
Felix Fontein
ff1aa50fdb Fixing HTTPError case of fetch_url for Python 3 compatibility. (#45628)
* Fixing HTTPError case of fetch_url for Python 3 compatibility.

* Adding unit test.

* PEP8.

* Changelog.
2018-10-09 10:20:57 -07:00
Anton Nikulin
d2c72040b5 [stable-2.7] Store Authorization header inside HttpApi connection plugin (#45598) (#45608)
* Store Authorization header inside HttpApi connection plugin (#45598)


(cherry picked from commit b7263eab1d)

* Add changelog entry
2018-10-09 10:12:21 -07:00
Jordan Borean
742e15d03b skip installing linux-image-extra in CI as it shouldn't be needed (#46101)
(cherry picked from commit 40379b76b1)
2018-09-27 12:59:13 -07:00