mirror of
https://github.com/ansible/awx.git
synced 2026-03-20 10:27:34 -02:30
Add test to ensure bootstrap reqs are good (#15733)
* Add test to ensure bootstrap reqs are good * Give full diff list in assert
This commit is contained in:
@@ -5,6 +5,37 @@ import pytest
|
|||||||
from django.conf import settings
|
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()
|
||||||
|
|
||||||
|
different_requirements = []
|
||||||
|
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:
|
||||||
|
if req != line:
|
||||||
|
different_requirements.append((req, line))
|
||||||
|
break
|
||||||
|
|
||||||
|
assert not different_requirements
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skip(reason="This test needs some love")
|
@pytest.mark.skip(reason="This test needs some love")
|
||||||
def test_env_matches_requirements_txt():
|
def test_env_matches_requirements_txt():
|
||||||
from pip.operations import freeze
|
from pip.operations import freeze
|
||||||
|
|||||||
Reference in New Issue
Block a user