The zer0-mistakes testing framework has been consolidated from 15+ individual test scripts into 3 main test suites for better maintainability, faster execution, and clearer CI/CD integration.
test_core.sh
)Purpose: Fundamental functionality validation
Runtime: ~2-3 minutes
Focus Areas:
# Run core tests only
./test/test_core.sh
# With verbose output
./test/test_core.sh --verbose
# Generate JSON report
./test/test_core.sh --format json
test_deployment.sh
)Purpose: Installation and deployment validation
Runtime: ~5-8 minutes
Focus Areas:
# Run deployment tests
./test/test_deployment.sh
# Skip Docker tests (if Docker unavailable)
./test/test_deployment.sh --skip-docker
# Skip remote installation tests
./test/test_deployment.sh --skip-remote
# Keep test environment for debugging
./test/test_deployment.sh --no-cleanup --verbose
test_quality.sh
)Purpose: Security, accessibility, and performance validation
Runtime: ~4-6 minutes
Focus Areas:
# Run quality tests
./test/test_quality.sh
# With detailed output
./test/test_quality.sh --verbose
test_runner.sh
)The consolidated test runner orchestrates all test suites with advanced features:
# Run all test suites
./test/test_runner.sh
# Run specific suites
./test/test_runner.sh --suites core
./test/test_runner.sh --suites core,deployment
./test/test_runner.sh --suites quality
# Run with advanced options
./test/test_runner.sh --suites all --verbose --format json --parallel
# CI/CD Integration
./test/test_runner.sh --suites all --environment ci --skip-docker --skip-remote
# Parallel execution (faster)
./test/test_runner.sh --suites all --parallel
# Fail-fast mode
./test/test_runner.sh --suites all --fail-fast
# Custom timeout
./test/test_runner.sh --suites all --timeout 600
test/
├── test_unit.sh # ❌ Replaced by test_core.sh
├── test_integration.sh # ❌ Replaced by test_core.sh
├── test_e2e.sh # ❌ Replaced by test_deployment.sh
├── test_installation_complete.sh # ❌ Replaced by test_deployment.sh
├── test_docker_deployment.sh # ❌ Replaced by test_deployment.sh
├── test_security.sh # ❌ Replaced by test_quality.sh
├── test_accessibility.sh # ❌ Replaced by test_quality.sh
├── test_compatibility.sh # ❌ Replaced by test_quality.sh
├── test_performance.sh # ❌ Replaced by test_quality.sh
└── ... (6+ more scripts)
test/
├── test_core.sh # ✅ Unit + Integration + Validation
├── test_deployment.sh # ✅ Installation + Docker + E2E
├── test_quality.sh # ✅ Security + Accessibility + Compatibility + Performance
├── test_runner.sh # ✅ Orchestrates all suites
└── results/ # ✅ Unified reporting
# Quick validation during development
./test/test_runner.sh --suites core
# Full validation before commit
./test/test_runner.sh --suites core,deployment
# Complete quality check
./test/test_runner.sh --suites all
# Fast feedback in PR checks
./test/test_runner.sh --suites core --environment ci
# Comprehensive testing on main branch
./test/test_runner.sh --suites all --environment ci --skip-remote
# Docker integration testing
./test/test_runner.sh --suites deployment --environment docker
# Security and accessibility audit
./test/test_runner.sh --suites quality --verbose
# Performance benchmarking
./test/test_quality.sh --verbose
# Cross-platform compatibility
./test/test_quality.sh
# Generate JSON reports for CI/CD
./test/test_runner.sh --format json
# Generate HTML reports for review
./test/test_runner.sh --format html
# All formats
./test/test_runner.sh --format json
./test/test_runner.sh --format xml
./test/test_runner.sh --format html
test/
├── results/ # Individual test results (JSON)
├── reports/ # Aggregated reports (JSON/XML/HTML)
└── coverage/ # Coverage reports (when enabled)
The test framework automatically detects and adapts to different environments:
local
: Developer workstation with full toolchainci
: Continuous Integration environment (GitHub Actions)docker
: Docker-based testing environment--skip-docker
: Skip Docker-related tests (when Docker unavailable)--skip-remote
: Skip remote installation tests (for offline/private environments)--timeout <seconds>
# .github/workflows/consolidated-testing.yml
- name: Run Core Tests
run: ./test/test_runner.sh --suites core --environment ci
- name: Run Deployment Tests
run: ./test/test_runner.sh --suites deployment --environment ci --skip-docker
- name: Run Quality Tests
run: ./test/test_runner.sh --suites quality --environment ci
# Before
- run: ./test/test_runner.sh --verbose --format json
# After
- run: ./test/test_runner.sh --suites all --verbose --format json --environment ci
| Test Scope | Legacy Framework | Consolidated Framework | Improvement | |————|——————|————————|————-| | Core Tests | ~8-10 minutes | ~2-3 minutes | 65% faster | | Deployment | ~12-15 minutes | ~5-8 minutes | 50% faster | | Quality | ~10-12 minutes | ~4-6 minutes | 55% faster | | Full Suite | ~25-30 minutes | ~8-12 minutes | 60% faster |
# Error: Unknown test suite: xyz
./test/test_runner.sh --suites xyz
# Solution: Use valid suite names
./test/test_runner.sh --suites core,deployment,quality
# Skip Docker tests if Docker unavailable
./test/test_runner.sh --suites deployment --skip-docker
# Or run Docker-specific tests separately
./test/test_deployment.sh --verbose
# Skip remote tests in restricted environments
./test/test_runner.sh --suites deployment --skip-remote
# Keep test environments for inspection
./test/test_deployment.sh --no-cleanup --verbose
# Check individual test results
ls -la test/results/
cat test/results/core_test_*.json
# Use parallel execution for faster runs
./test/test_runner.sh --suites all --parallel
# Increase timeout for slow environments
./test/test_runner.sh --suites all --timeout 900
The consolidated testing framework is designed for easy extension:
The consolidated testing framework is working correctly when:
Ready for production use! 🚀
Test Framework Version: 2.0 (Consolidated)
Last Updated: December 2024
Compatibility: Jekyll 4.0+, Ruby 2.7+, Docker (optional)