51 lines
1.1 KiB
Python
Executable File
51 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
"""
|
|
Test runner script for kumacli
|
|
|
|
Usage:
|
|
python run_tests.py # Run all tests
|
|
python run_tests.py --cov # Run tests with coverage
|
|
python run_tests.py tests/test_info.py # Run specific test file
|
|
"""
|
|
|
|
import sys
|
|
import subprocess
|
|
|
|
|
|
def run_tests(args=None):
|
|
"""Run pytest with optional arguments"""
|
|
# Use python3 explicitly for compatibility
|
|
cmd = ["python3", "-m", "pytest"]
|
|
|
|
if args:
|
|
cmd.extend(args)
|
|
else:
|
|
cmd.extend(["tests/", "-v", "--tb=short"])
|
|
|
|
try:
|
|
result = subprocess.run(cmd, check=True)
|
|
return result.returncode
|
|
except subprocess.CalledProcessError as e:
|
|
print(f"Tests failed with exit code: {e.returncode}")
|
|
return e.returncode
|
|
except FileNotFoundError:
|
|
print("pytest not found. Install with: pip install pytest")
|
|
return 1
|
|
|
|
|
|
def main():
|
|
"""Main entry point"""
|
|
if len(sys.argv) > 1:
|
|
# Pass through command line arguments
|
|
args = sys.argv[1:]
|
|
else:
|
|
args = None
|
|
|
|
exit_code = run_tests(args)
|
|
sys.exit(exit_code)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|