run_tests.sh
1 #!/bin/bash 2 # Run tests with coverage 3 4 # Exit on error 5 set -e 6 7 # Set environment variables 8 export PYTHONPATH=$PWD 9 10 # Check if virtual environment exists 11 if [ ! -d "venv" ]; then 12 echo "Error: Virtual environment not found. Please run setup.py first." 13 exit 1 14 fi 15 16 # Activate virtual environment 17 if [ -f "venv/bin/activate" ]; then 18 source venv/bin/activate 19 else 20 source venv/Scripts/activate 21 fi 22 23 # Install test dependencies 24 pip install -r requirements/dev.txt 25 26 # Run tests with coverage 27 echo "Running tests with coverage..." 28 python -m pytest \ 29 --cov=sussro_services \ 30 --cov-report=term-missing \ 31 --cov-report=html:coverage_report \ 32 --cov-report=xml:coverage.xml \ 33 --junitxml=test-results.xml \ 34 -v \ 35 tests/ 36 37 # Check if all tests passed 38 if [ $? -eq 0 ]; then 39 echo "\nš All tests passed!" 40 echo "š Coverage report available at: file://$PWD/coverage_report/index.html" 41 else 42 echo "\nā Some tests failed. Please check the output above." 43 exit 1 44 fi