fix: inttest runner crash and minio bucket-init proxy issue
ci/woodpecker/push/woodpecker Pipeline failed
Build and Push / lint-and-test (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.adapters.broker_adapter name:broker-adapter]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.aggregation.worker name:aggregation]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.extractor.worker name:extractor]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.ingestion.worker name:ingestion]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.lake_publisher.worker name:lake-publisher]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.parser.worker name:parser]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.recommendation.worker name:recommendation]) (push) Has been cancelled
Build and Push / build-services (map[cmd:python -m services.scheduler.app name:scheduler]) (push) Has been cancelled
Build and Push / build-services (map[cmd:uvicorn services.api.app:app --host 0.0.0.0 --port 8000 name:query-api]) (push) Has been cancelled
Build and Push / build-services (map[cmd:uvicorn services.risk.app:app --host 0.0.0.0 --port 8000 name:risk]) (push) Has been cancelled
Build and Push / build-services (map[cmd:uvicorn services.symbol_registry.app:app --host 0.0.0.0 --port 8000 name:symbol-registry]) (push) Has been cancelled
Build and Push / build-services (map[cmd:uvicorn services.trading.app:app --host 0.0.0.0 --port 8000 name:trading-engine]) (push) Has been cancelled
Build and Push / build-dashboard (push) Has been cancelled
Build and Push / build-superset (push) Has been cancelled
Build and Push / integration-test (push) Has been cancelled

- 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:
Celes Renata
2026-04-19 19:15:20 +00:00
parent ed6c0a2ade
commit b2b8aca7c6
5 changed files with 120 additions and 41 deletions
+5 -7
View File
@@ -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:
+4 -18
View File
@@ -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)
# ---------------------------------------------------------------------------