aboutsummaryrefslogtreecommitdiff
path: root/scripts/run_suite.sh
blob: 38598ade6426c906b2b52ec1856dacc8d611954d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env bash
set -euo pipefail

cd "$(cd "$(dirname "$0")/.." && pwd)"

if [ -z "${NO_COLOR:-}" ]; then
	bold=$'\033[1m'; red=$'\033[31m'; green=$'\033[32m'; reset=$'\033[0m'
else
	bold=; red=; green=; reset=
fi

printf '%s━━ building compiler ━━%s\n' "$bold" "$reset"
if ! build=$({ [ -d build-linux ] || meson setup build-linux; } 2>&1 && meson compile -C build-linux 2>&1); then
	printf '%s\n' "$build"
	printf '  %s✘ build failed%s\n' "$red" "$reset"
	exit 1
fi
printf '  %s✔ compiler built%s\n\n' "$green" "$reset"

printf '%s━━ unit tests ━━%s\n' "$bold" "$reset"
if units=$(./build-linux/tests 2>/dev/null); then
	printf '  %s✔%s %s\n\n' "$green" "$reset" "$(printf '%s' "$units" | tail -1)"
else
	printf '%s\n' "$units"
	./build-linux/tests || true
	printf '  %s✘ unit tests failed%s\n' "$red" "$reset"
	exit 1
fi

exec bash ./scripts/test_examples.sh