Files
OpenBB/openbb_platform/conftest.py
Danglewood 7041362aa1 [Feature] OpenBB V5: Initial openbb-core Refactor (#7482)
* initial refactor

* ruff does not dictate style

* unresolved imports in test action

* fix general linting

* resolve pandas imports for actions run

* httpx in test workflow

* pytest-asyncio in test workflow

* pandas.Index(...)

* max version for windows CI is 3.14

* remove temp refactor files that shouldn't have been committed:

* use ruff format instead of black

* formatting and typing

* tab space helper

* test fixtures..

* ty check
2026-04-28 17:11:43 -07:00

47 lines
1.2 KiB
Python

"""Root configuration for pytest."""
# flake8: noqa: S101
import os
from pathlib import Path
import pytest # noqa: F401
ROOT_DIR = Path(__file__).parent
def pytest_configure():
"""Set environment variables for testing."""
os.environ["OPENBB_AUTO_BUILD"] = "true"
def pytest_collection_modifyitems(config, items):
"""Modify test collection to ensure cleanup-dependent tests run first."""
# Find tests that should run early (checking clean state)
early_tests: list = []
other_tests: list = []
for item in items:
# Tests that check repository state should run first
if (
"repository_state" in item.name.lower()
or "extension_map" in item.name.lower()
or "test_logging_service" in item.name.lower()
or item.get_closest_marker("order")
):
early_tests.append(item)
else:
other_tests.append(item)
# Sort early tests by their order marker if present
early_tests.sort(
key=lambda x: (
getattr(x.get_closest_marker("order"), "args", [999])[0]
if x.get_closest_marker("order")
else 999
)
)
# Reorder: early tests first, then others
items[:] = early_tests + other_tests