46 lines
1.0 KiB
Python
46 lines
1.0 KiB
Python
"""
|
|
Pytest configuration and shared fixtures.
|
|
"""
|
|
|
|
import os
|
|
import shutil
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def project_root():
|
|
"""Return the project root directory."""
|
|
return Path(__file__).parent.parent
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def test_data_dir(project_root):
|
|
"""Return the test data directory."""
|
|
return project_root / "test_case"
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def expected_results_dir(project_root):
|
|
"""Return the expected results directory."""
|
|
return project_root / "test_res"
|
|
|
|
|
|
@pytest.fixture
|
|
def temp_test_dir(tmp_path):
|
|
"""Create a temporary directory for test output."""
|
|
test_dir = tmp_path / "test_output"
|
|
test_dir.mkdir(exist_ok=True)
|
|
yield test_dir
|
|
# Cleanup after test (optional)
|
|
# shutil.rmtree(test_dir, ignore_errors=True)
|
|
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def reset_test_state():
|
|
"""Reset any global state before each test."""
|
|
# Add any necessary cleanup here
|
|
yield
|
|
# Post-test cleanup
|