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!"