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