run.sh raw
1 #!/bin/bash
2 set -euo pipefail
3 SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
4 MOXIEROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
5
6 export STATUSFILE="/tmp/moxie-test-status-$$"
7 export TMPROOT="/tmp/moxie-tests-$$"
8 export MOXIEROOT
9 > "$STATUSFILE"
10 mkdir -p "$TMPROOT"
11
12 source "$SCRIPT_DIR/util.sh"
13
14 PHASE="${1:---quick}"
15 MOXIE="${MOXIE:-$SCRIPT_DIR/../moxie}"
16 export MOXIE
17
18 if [ ! -x "$MOXIE" ]; then
19 echo "FATAL: $MOXIE not found or not executable"
20 exit 1
21 fi
22
23 echo "=== Moxie Test Suite ==="
24 echo "binary: $MOXIE"
25 echo "version: $($MOXIE version 2>&1 | head -1)"
26 echo "mode: $PHASE"
27
28 case "$PHASE" in
29 --quick)
30 bash "$SCRIPT_DIR/regressions/run.sh"
31 bash "$SCRIPT_DIR/restrictions/run.sh"
32 bash "$SCRIPT_DIR/phase1_packages.sh"
33 ;;
34 --full)
35 bash "$SCRIPT_DIR/regressions/run.sh"
36 bash "$SCRIPT_DIR/restrictions/run.sh"
37 bash "$SCRIPT_DIR/phase1_packages.sh"
38 bash "$SCRIPT_DIR/phase2_selfhost.sh"
39 bash "$SCRIPT_DIR/phase3_ir_validate.sh"
40 bash "$SCRIPT_DIR/phase4_binary_smoke.sh"
41 bash "$SCRIPT_DIR/phase5_driver.sh"
42 ;;
43 --phase)
44 if [ -z "${2:-}" ]; then
45 echo "usage: run.sh --phase N"
46 exit 1
47 fi
48 case "$2" in
49 0) bash "$SCRIPT_DIR/regressions/run.sh"; bash "$SCRIPT_DIR/restrictions/run.sh" ;;
50 1) bash "$SCRIPT_DIR/phase1_packages.sh" ;;
51 2) bash "$SCRIPT_DIR/phase2_selfhost.sh" ;;
52 3) bash "$SCRIPT_DIR/phase3_ir_validate.sh" ;;
53 4) bash "$SCRIPT_DIR/phase4_binary_smoke.sh" ;;
54 5) bash "$SCRIPT_DIR/phase5_driver.sh" ;;
55 *) echo "phase $2 not found (0-5)" ; exit 1 ;;
56 esac
57 ;;
58 *)
59 echo "usage: run.sh [--quick|--full|--phase N]"
60 exit 1
61 ;;
62 esac
63
64 print_summary
65 failed="$?"
66 if [ "$failed" -gt 0 ]; then
67 exit 1
68 fi
69