What
The root tests/conftest.py currently does too much. Refactor it to match the new structure.
Changes
Move to universal/conftest.py:
environment fixture and pytest_generate_tests parametrization logic
universal_data_sources fixture (construct_universal_test_data)
e2e_data_sources fixture
feature_server_endpoint fixture
feature_store_for_online_retrieval fixture
vectordb_environment fixture
fake_ingest_data, fake_document_data, fake_image_data
Delete from root:
pytest_collection_modifyitems marker filtering logic (the entire function)
--integration CLI option from pytest_addoption
- Related marker registration that only served filtering
Keep in root:
simple_dataset_1, simple_dataset_2 (used across tiers)
temp_dir, server_port (used across tiers)
- Marker registrations still needed for pytest
--strict-markers
--benchmark option and benchmark filtering (if still needed)
Validation
pytest tests/unit runs without collecting any universal or integration tests
pytest tests/universal still discovers and parametrizes the environment fixture correctly
- No fixture resolution errors across any tier
What
The root
tests/conftest.pycurrently does too much. Refactor it to match the new structure.Changes
Move to
universal/conftest.py:environmentfixture andpytest_generate_testsparametrization logicuniversal_data_sourcesfixture (construct_universal_test_data)e2e_data_sourcesfixturefeature_server_endpointfixturefeature_store_for_online_retrievalfixturevectordb_environmentfixturefake_ingest_data,fake_document_data,fake_image_dataDelete from root:
pytest_collection_modifyitemsmarker filtering logic (the entire function)--integrationCLI option frompytest_addoptionKeep in root:
simple_dataset_1,simple_dataset_2(used across tiers)temp_dir,server_port(used across tiers)--strict-markers--benchmarkoption and benchmark filtering (if still needed)Validation
pytest tests/unitruns without collecting any universal or integration testspytest tests/universalstill discovers and parametrizes theenvironmentfixture correctly