phase4_binary_smoke.sh raw
1 #!/bin/bash
2 set -euo pipefail
3 SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
4 ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
5 export MOXIEROOT="$ROOT"
6 source "$SCRIPT_DIR/util.sh"
7
8 echo ""
9 echo "=== Phase 4: Binary smoke tests ==="
10
11 td="$(tempdir "smoke")"; rm -rf "$td"; mkdir -p "$td"
12
13 # 4a: compile and run hello.mx
14 name="smoke:hello"
15 t0=$(date +%s%N)
16 if compile_and_run "$SCRIPT_DIR/data/hello.mx" "$td" "hello"; then
17 t1=$(date +%s%N)
18 out=$(cat "$td/run.log" 2>/dev/null)
19 if echo "$out" | grep -q "hello"; then
20 log_pass "$name" "ok"
21 else
22 log_fail "$name" "wrong output: $out"
23 fi
24 else
25 log_fail "$name" "$(tail -3 "$td/build.log" 2>/dev/null)"
26 fi
27
28 rm -rf "$td"
29