diff --git a/awx/main/tests/functional/test_python_requirements.py b/awx/main/tests/functional/test_python_requirements.py index d363b91db1f4..33b3be59b90e 100644 --- a/awx/main/tests/functional/test_python_requirements.py +++ b/awx/main/tests/functional/test_python_requirements.py @@ -5,6 +5,33 @@ from django.conf import settings +def test_bootstrap_consistent(): + with open('Makefile', 'r') as f: + mk_data = f.read() + bootstrap_reqs = None + for line in mk_data.split('\n'): + if line.startswith('VENV_BOOTSTRAP'): + parts = line.split() + bootstrap_reqs = parts[parts.index('?=') + 1 :] + break + else: + raise RuntimeError('Cound not find bootstrap line') + + req_data = None + with open('requirements/requirements.txt', 'r') as f: + req_data = f.read() + + for req in bootstrap_reqs: + boot_req_name, _ = req.split('=', 1) + for line in req_data.split('\n'): + if '=' not in line: + continue + req_name, _ = line.split('=', 1) + if req_name == boot_req_name: + assert req == line + break + + @pytest.mark.skip(reason="This test needs some love") def test_env_matches_requirements_txt(): from pip.operations import freeze