main
1#!/usr/bin/env bash
2# test-all-packages.sh - Test all custom packages
3#
4# Usage: ./test-all-packages.sh
5
6set -euo pipefail
7
8set -e
9
10# Get script directory
11SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
12
13# List of all packages to test
14PACKAGES=(
15 # Go packages
16 "ape"
17 "batzconverter"
18 "govanityurl"
19 "manifest-tool"
20 "ram"
21 "arr"
22 "download-kiwix-zim"
23 "gh-restart-failed"
24
25 # Shell script packages
26 "scripts"
27 "vrsync"
28 "vde-thinkpad"
29
30 # System packages
31 "systemd-email"
32 "battery-monitor"
33
34 # Other packages
35 "homepage"
36 "bookmark-plus"
37)
38
39PASSED=0
40FAILED=0
41FAILED_PACKAGES=()
42
43echo "=========================================="
44echo "Testing ${#PACKAGES[@]} packages"
45echo "=========================================="
46echo ""
47
48for PKG in "${PACKAGES[@]}"; do
49 echo "[$((PASSED + FAILED + 1))/${#PACKAGES[@]}] Testing: $PKG"
50 if "$SCRIPT_DIR/test-package.sh" "$PKG" > "/tmp/test-$PKG.log" 2>&1; then
51 echo " ✓ PASSED"
52 PASSED=$((PASSED + 1))
53 else
54 echo " ✗ FAILED (see /tmp/test-$PKG.log)"
55 FAILED=$((FAILED + 1))
56 FAILED_PACKAGES+=("$PKG")
57 fi
58 echo ""
59done
60
61echo "=========================================="
62echo "Test Summary"
63echo "=========================================="
64echo "Passed: $PASSED"
65echo "Failed: $FAILED"
66
67if [ $FAILED -gt 0 ]; then
68 echo ""
69 echo "Failed packages:"
70 for PKG in "${FAILED_PACKAGES[@]}"; do
71 echo " - $PKG (log: /tmp/test-$PKG.log)"
72 done
73 exit 1
74fi
75
76echo ""
77echo "All packages passed!"