fix(tests): move llama stack client init back to fixture

This commit is contained in:
Ashwin Bharambe 2025-08-07 15:24:26 -07:00
parent 5f1ddd35e4
commit 1b076910ac
2 changed files with 7 additions and 19 deletions

View file

@ -9,15 +9,12 @@ import os
import platform import platform
import textwrap import textwrap
import time import time
import warnings
import pytest import pytest
from dotenv import load_dotenv from dotenv import load_dotenv
from llama_stack.log import get_logger from llama_stack.log import get_logger
from .fixtures.common import instantiate_llama_stack_client
logger = get_logger(__name__, category="tests") logger = get_logger(__name__, category="tests")
@ -34,20 +31,6 @@ def pytest_sessionstart(session):
# stop macOS from complaining about duplicate OpenMP libraries # stop macOS from complaining about duplicate OpenMP libraries
os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE" os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
# pull client instantiation to session start so all the complex logs during initialization
# don't clobber the test one-liner outputs
print("instantiating llama_stack_client")
start_time = time.time()
with warnings.catch_warnings():
warnings.filterwarnings("ignore", category=DeprecationWarning)
try:
session._llama_stack_client = instantiate_llama_stack_client(session)
except Exception as e:
logger.error(f"Error instantiating llama_stack_client: {e}")
session._llama_stack_client = None
print(f"llama_stack_client instantiated in {time.time() - start_time:.3f}s")
def pytest_runtest_teardown(item): def pytest_runtest_teardown(item):
# Check if the test actually ran and passed or failed, but was not skipped or an expected failure (xfail) # Check if the test actually ran and passed or failed, but was not skipped or an expected failure (xfail)

View file

@ -178,8 +178,13 @@ def skip_if_no_model(request):
@pytest.fixture(scope="session") @pytest.fixture(scope="session")
def llama_stack_client(request): def llama_stack_client(request):
client = request.session._llama_stack_client # ideally, we could do this in session start given all the complex logs during initialization
assert client is not None, "llama_stack_client not found in session cache" # don't clobber the test one-liner outputs. however, this also means all tests in a sub-directory
# would be forced to use llama_stack_client, which is not what we want.
print("\ninstantiating llama_stack_client")
start_time = time.time()
client = instantiate_llama_stack_client(request.session)
print(f"llama_stack_client instantiated in {time.time() - start_time:.3f}s")
return client return client