Commit Graph

28 Commits (5ad3d14ceb758de7928897a66b235247aee6e1ff)

Author SHA1 Message Date
Alex Willmer 5ad3d14ceb mitogen: Support PEP 451 ModuleSpec API, required for Python 3.12
importlib.machinery.ModuleSpec and find_spec() were introduced in Python 3.4
under PEP 451. They replace the find_module() API of PEP 302, which was
deprecated from Python 3.4. They were removed in Python 3.12 along with the
imp module.

This change adds support for the PEP 451 APIs. Mitogen should no longer import
imp on Python versions that support ModuleSpec. Tests have been added to cover
the new APIs.

CI jobs have been added to cover Python 3.x on macOS.

Refs #1033
Co-authored-by: Witold Baryluk <witold.baryluk@gmail.com>
3 months ago
Alex Willmer e2f4d9275c tests: Fix ansible_python_interpreter & discovered_interpreter_python tests on macOS
Should account for fiddling in mitogen.parent.Connection._first_stage() and
symlinks. I won't be surprised if it breaks again soon and often.
4 months ago
Alex Willmer c2ad52e54e tests: Fix tests using get_url across Python versions
Using https:// requires certificate store management and additional parameter
passing that changed across Ansible and Python versions. Using http:// allows
the same tests to be used across wider spans of Python version on the
controller, and Python verison on the targets.

Python 3.12 on a target + get_uri needs Ansible >= 8 (ansible-core >= 2.15).
Python 3.12 removed deprecated httplib.HTTPSConnection() arguments.
https://github.com/ansible/ansible/pull/80751
4 months ago
Alex Willmer db0ffae352 tests: Enable stricter error handling, fix resulting failures 2 years ago
Klaus Zerwes 2b4f04c554 Revert "Revert "fixed tests for ansible 2.12""
This reverts commit 478f286efb.
3 years ago
Klaus Zerwes 81f075340b use conditionals in list form 3 years ago
Klaus Zerwes 478f286efb Revert "fixed tests for ansible 2.12"
include is deprecated and will be removed in 2.16, so there is some time to fix this left
This reverts commit 2d3970552e.
3 years ago
Klaus Zerwes e509c1fb77
Update tests/ansible/integration/interpreter_discovery/ansible_2_8_tests.yml
Co-authored-by: Alex Willmer <alex@moreati.org.uk>
3 years ago
Klaus Zerwes 3d450f0f22 fix interpreter discovery tests for changed python interpreter behaviour from ansible 2.12 on 3 years ago
Klaus Zerwes 2d3970552e fixed tests for ansible 2.12 3 years ago
Alex Willmer e194a6367f ci: Fix version comparisons involving double digits
See https://gist.github.com/moreati/e7507c5b606b12ec0ddafcb7c8debbf1
3 years ago
Alex Willmer 3c58215a91 tests: Tag Ansible tests
This makes it easier to run subsets using ANSIBLE_RUN_TAGS=...
3 years ago
Alex Willmer cfa5888547 tests: Print variables on failure of assert tasks
Fixes #852
3 years ago
Steven Robertson 957e295ba9 google will always be up, just use that 4 years ago
Steven Robertson 40946277c3 actual link 4 years ago
Steven Robertson 1ce0091dbc github url changed, switch to taco pic because tacos are delicious 4 years ago
Steven Robertson cd3b88d9e3 ignore the source command for now; Mac 10.14 uses /bin/sh rather than /bin/sh pointing to /bin/bash and we can't edit it because of SIP 4 years ago
Steven Robertson 2fb6f880f3 remove aliasing sh to bash because I can't disable SIP which means /bin isn't writeable 4 years ago
Steven Robertson f90ec39ba6 add 'validate_certs: no' for get_url old versions of python 4 years ago
Steven Robertson cfb5ebbdd3 ansible < 2.5 didn't have version, but had version_compare 4 years ago
Steven Robertson 38939b2c1b can't run ansible 2.8.0+ tests on ansible < 2.8.0 4 years ago
Steven Robertson 633675ecfc ensure that /bin/sh is executable 4 years ago
Steven Robertson 4776074e42 set up symlink to bash for source test 4 years ago
Steven Robertson ea245bbff2 don't set global executable... 4 years ago
Steven Robertson c010feec59 to not have to manage various python installs, use simplified 'source' test 4 years ago
Steven Robertson 552ae9c6d3 need become: yes for package install 4 years ago
Steven Robertson c705645ade need to ensure we can install rh-python for testing 4 years ago
Steven Robertson 6d179da480 ported over tests from ansible validating python interpreter discovery 4 years ago