fix: inttest runner crash and minio bucket-init proxy issue
- Remove --profiling-output arg from runner.yaml (plugin uses default path)
- Inline profiling hooks in root conftest.py with graceful fallback
- Replace mc-based bucket-init with Python urllib (no proxy interference)
- Add explicit ProxyHandler({}) to guarantee no proxy usage in bucket-init
This commit is contained in:
@@ -16,6 +16,7 @@ from typing import Any
|
||||
|
||||
import httpx
|
||||
import pytest
|
||||
import pytest_asyncio
|
||||
|
||||
from tests.integration.profiler import EndpointProfiler
|
||||
from tests.integration.seed_sandbox import (
|
||||
@@ -34,9 +35,6 @@ from tests.integration.seed_sandbox import (
|
||||
SEED_VARIANT_IDS,
|
||||
)
|
||||
|
||||
# Profiling plugin loaded via root conftest.py (pytest_plugins must be top-level)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# ProfiledAsyncClient — transparent timing wrapper
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -129,7 +127,7 @@ def trading_api_url() -> str:
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@pytest_asyncio.fixture
|
||||
async def query_client(
|
||||
query_api_url: str, profiler: EndpointProfiler,
|
||||
) -> ProfiledAsyncClient:
|
||||
@@ -138,7 +136,7 @@ async def query_client(
|
||||
yield ProfiledAsyncClient(client, profiler)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@pytest_asyncio.fixture
|
||||
async def registry_client(
|
||||
registry_api_url: str, profiler: EndpointProfiler,
|
||||
) -> ProfiledAsyncClient:
|
||||
@@ -147,7 +145,7 @@ async def registry_client(
|
||||
yield ProfiledAsyncClient(client, profiler)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@pytest_asyncio.fixture
|
||||
async def risk_client(
|
||||
risk_api_url: str, profiler: EndpointProfiler,
|
||||
) -> ProfiledAsyncClient:
|
||||
@@ -156,7 +154,7 @@ async def risk_client(
|
||||
yield ProfiledAsyncClient(client, profiler)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@pytest_asyncio.fixture
|
||||
async def trading_client(
|
||||
trading_api_url: str, profiler: EndpointProfiler,
|
||||
) -> ProfiledAsyncClient:
|
||||
|
||||
@@ -16,27 +16,13 @@ import pytest
|
||||
|
||||
from tests.integration.profiler import EndpointProfiler
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# CLI option — registered by root conftest.py to ensure availability
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
DEFAULT_PROFILING_OUTPUT = "/tmp/profiling-report.json"
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# CLI option
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def pytest_addoption(parser: pytest.Parser) -> None:
|
||||
"""Add ``--profiling-output`` CLI flag to pytest."""
|
||||
parser.addoption(
|
||||
"--profiling-output",
|
||||
action="store",
|
||||
default=DEFAULT_PROFILING_OUTPUT,
|
||||
help=(
|
||||
"Path for the JSON profiling report "
|
||||
f"(default: {DEFAULT_PROFILING_OUTPUT})"
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Session-scoped profiler instance (shared across all tests)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user