|
new file 100644
|
|
|
from collections import namedtuple
|
|
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
|
|
def python_info(host):
|
|
|
"""
|
|
|
Helper fixture used to define what the expected Python details
|
|
|
are (paths, package names etc) based on Debian release.
|
|
|
|
|
|
Currently supports:
|
|
|
|
|
|
- Debian 11 (Bullseye)
|
|
|
- Debian 12 (Bookworm)
|
|
|
|
|
|
Resulting information can be accessed through returned named tuple
|
|
|
with the following properties:
|
|
|
|
|
|
- python_version (version of installed Python interpreter)
|
|
|
"""
|
|
|
|
|
|
PythonInfo = namedtuple('PythonInfo', 'python_version')
|
|
|
|
|
|
ansible_facts = host.ansible("setup")["ansible_facts"]
|
|
|
ansible_distribution_release = ansible_facts['ansible_distribution_release']
|
|
|
|
|
|
if ansible_distribution_release == 'bullseye':
|
|
|
info = PythonInfo(python_version="3.9.2")
|
|
|
elif ansible_distribution_release == 'bookworm':
|
|
|
info = PythonInfo(python_version="3.11.2")
|
|
|
else:
|
|
|
raise Exception('The php_info pytest fixture does not support Debian release: %s' % ansible_distribution_release)
|
|
|
|
|
|
return info
|