Files
ArchiveBox/archivebox/plugins/run_all_tests.sh
2025-12-24 20:10:38 -08:00

91 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# Run all plugin tests
#
# Usage: ./run_all_tests.sh
set -e
echo "=========================================="
echo "Running All Plugin Tests"
echo "=========================================="
echo ""
# Color codes
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Track results
TOTAL_TESTS=0
PASSED_TESTS=0
FAILED_TESTS=0
run_test_suite() {
local test_file=$1
local test_name=$(basename $(dirname $test_file))
echo -e "${YELLOW}[RUNNING]${NC} $test_name tests..."
if node --test "$test_file" 2>&1; then
echo -e "${GREEN}[PASSED]${NC} $test_name tests"
PASSED_TESTS=$((PASSED_TESTS + 1))
else
echo -e "${RED}[FAILED]${NC} $test_name tests"
FAILED_TESTS=$((FAILED_TESTS + 1))
fi
TOTAL_TESTS=$((TOTAL_TESTS + 1))
echo ""
}
# Find and run all test files
echo "Finding test files..."
echo ""
# Chrome extensions utils tests
if [ -f "chrome_extensions/tests/test_chrome_extension_utils.js" ]; then
run_test_suite "chrome_extensions/tests/test_chrome_extension_utils.js"
fi
# Captcha2 tests
if [ -f "captcha2/tests/test_captcha2_install.js" ]; then
run_test_suite "captcha2/tests/test_captcha2_install.js"
fi
if [ -f "captcha2/tests/test_captcha2_config.js" ]; then
run_test_suite "captcha2/tests/test_captcha2_config.js"
fi
# I Still Don't Care About Cookies tests
if [ -f "istilldontcareaboutcookies/tests/test_istilldontcareaboutcookies.js" ]; then
run_test_suite "istilldontcareaboutcookies/tests/test_istilldontcareaboutcookies.js"
fi
# uBlock tests
if [ -f "ublock/tests/test_ublock.js" ]; then
run_test_suite "ublock/tests/test_ublock.js"
fi
# SingleFile tests
if [ -f "singlefile/tests/test_singlefile.js" ]; then
run_test_suite "singlefile/tests/test_singlefile.js"
fi
# Print summary
echo "=========================================="
echo "Test Summary"
echo "=========================================="
echo -e "Total test suites: $TOTAL_TESTS"
echo -e "${GREEN}Passed:${NC} $PASSED_TESTS"
echo -e "${RED}Failed:${NC} $FAILED_TESTS"
echo ""
if [ $FAILED_TESTS -eq 0 ]; then
echo -e "${GREEN}✓ All tests passed!${NC}"
exit 0
else
echo -e "${RED}✗ Some tests failed${NC}"
exit 1
fi