- Added coverage version 7.10.1 with multiple wheel distributions. - Added iniconfig version 2.1.0 with its wheel distribution. - Added pluggy version 1.6.0 with its wheel distribution. - Added pygments version 2.19.2 with its wheel distribution. - Added pytest version 8.4.1 with its wheel distribution and dependencies. - Added pytest-cov version 6.2.1 with its wheel distribution and dependencies. - Added pytest-mock version 3.14.1 with its wheel distribution and dependencies. - Updated dev-dependencies to include coverage, pytest, pytest-cov, and pytest-mock. - Updated requires-dist to specify minimum versions for coverage, pytest, pytest-cov, and pytest-mock.
52 lines
1.2 KiB
Python
Executable File
52 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""
|
|
Quick test runner for TheChart application.
|
|
This script provides a simple way to run the test suite.
|
|
"""
|
|
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
|
|
|
|
def main():
|
|
"""Run the test suite."""
|
|
print("🧪 Running TheChart Test Suite")
|
|
print("=" * 50)
|
|
|
|
# Change to project directory
|
|
os.chdir(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
# Run tests with coverage
|
|
cmd = [
|
|
"uv",
|
|
"run",
|
|
"pytest",
|
|
"tests/",
|
|
"--cov=src",
|
|
"--cov-report=term-missing",
|
|
"--cov-report=html:htmlcov",
|
|
"-v",
|
|
]
|
|
|
|
try:
|
|
result = subprocess.run(cmd, check=False)
|
|
if result.returncode == 0:
|
|
print("\n✅ All tests passed!")
|
|
else:
|
|
print(f"\n❌ Some tests failed (exit code: {result.returncode})")
|
|
|
|
print("\n📊 Coverage report generated in htmlcov/index.html")
|
|
return result.returncode
|
|
|
|
except KeyboardInterrupt:
|
|
print("\n⚠️ Tests interrupted by user")
|
|
return 1
|
|
except Exception as e:
|
|
print(f"\n💥 Error running tests: {e}")
|
|
return 1
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|