Merge pull request #53 from systemoflevers/patch-1 #178
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Local Test Suite | |
| on: | |
| push: | |
| branches: [ main, develop, feature/* ] | |
| pull_request: | |
| branches: [ main ] | |
| workflow_dispatch: | |
| jobs: | |
| quick-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10' | |
| - name: Cache dependencies | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.cache/pip | |
| key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pip- | |
| - name: Install minimal dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install pytest pytest-asyncio psutil | |
| - name: Run core unit tests | |
| run: | | |
| echo "=== Running Core Unit Tests ===" | |
| python -m pytest tests/test_multiple_webrtc_connections.py -v -x --tb=short || true | |
| - name: Generate test summary | |
| if: always() | |
| run: | | |
| echo "=== Test Summary ===" | |
| cat > test_summary.py << 'EOF' | |
| import json | |
| import os | |
| from datetime import datetime | |
| results = { | |
| 'timestamp': datetime.now().isoformat(), | |
| 'status': 'completed', | |
| 'python_version': '3.10', | |
| 'tests_run': True | |
| } | |
| with open('quick_test_results.json', 'w') as f: | |
| json.dump(results, f, indent=2) | |
| print('Quick test run completed') | |
| EOF | |
| python3 test_summary.py | |
| - name: Upload test results | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: quick-test-results | |
| path: quick_test_results.json | |
| recording-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.10' | |
| - name: Test recording functionality | |
| run: | | |
| echo "=== Testing Recording Functionality ===" | |
| # Test if recording files can be created | |
| cat > recording_test.py << 'EOF' | |
| import os | |
| import time | |
| # Simulate recording file creation | |
| test_file = f'test_recording_{int(time.time())}.mkv' | |
| with open(test_file, 'wb') as f: | |
| f.write(b'TEST_DATA' * 100) | |
| if os.path.exists(test_file): | |
| print(f'✓ Recording test file created: {test_file}') | |
| print(f' Size: {os.path.getsize(test_file)} bytes') | |
| os.remove(test_file) | |
| else: | |
| print('✗ Failed to create recording test file') | |
| EOF | |
| python3 recording_test.py |