|
|
|
|
|
import pytest, sys, os |
|
import importlib |
|
|
|
sys.path.insert( |
|
0, os.path.abspath("../..") |
|
) |
|
import litellm |
|
|
|
|
|
@pytest.fixture(scope="function", autouse=True) |
|
def setup_and_teardown(): |
|
""" |
|
This fixture reloads litellm before every function. To speed up testing by removing callbacks being chained. |
|
""" |
|
curr_dir = os.getcwd() |
|
sys.path.insert( |
|
0, os.path.abspath("../..") |
|
) |
|
import litellm |
|
|
|
importlib.reload(litellm) |
|
print(litellm) |
|
|
|
yield |
|
|
|
|
|
def pytest_collection_modifyitems(config, items): |
|
|
|
custom_logger_tests = [ |
|
item for item in items if "custom_logger" in item.parent.name |
|
] |
|
other_tests = [item for item in items if "custom_logger" not in item.parent.name] |
|
|
|
|
|
custom_logger_tests.sort(key=lambda x: x.name) |
|
other_tests.sort(key=lambda x: x.name) |
|
|
|
|
|
items[:] = custom_logger_tests + other_tests |
|
|