#!/usr/bin/env bash
set -euo pipefail
repo_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
test_bin="$(mktemp)"
trap 'rm -f "$test_bin"' EXIT
c++ -std=c++17 -Wall -Wextra -Werror -I "$repo_dir/boards/common/include" \
    -I "$repo_dir/boards/m5stack_stopwatch" -I "$repo_dir/firmware/tests/nvs_stub" \
    "$repo_dir/firmware/tests/wearable_preferences_test.cpp" \
    "$repo_dir/boards/m5stack_stopwatch/device_preferences_nvs.cpp" -o "$test_bin"
"$test_bin"
c++ -std=c++17 -Wall -Wextra -Werror -I "$repo_dir/boards/common/include" \
    "$repo_dir/firmware/tests/battery_status_test.cpp" -o "$test_bin"
"$test_bin"
c++ -std=c++17 -Wall -Wextra -Werror -I "$repo_dir/boards/common/include" \
    "$repo_dir/firmware/tests/wearable_shell_test.cpp" -o "$test_bin"
"$test_bin"
c++ -std=c++17 -Wall -Wextra -Werror -I "$repo_dir/boards/common/include" \
    "$repo_dir/firmware/tests/rtc_time_test.cpp" -o "$test_bin"
"$test_bin"
c++ -std=c++17 -Wall -Wextra -Werror -I "$repo_dir/boards/common/include" \
    "$repo_dir/firmware/tests/resource_size_test.cpp" -o "$test_bin"
"$test_bin"
c++ -std=c++17 -Wall -Wextra -Werror -I "$repo_dir/boards/common/include" \
    "$repo_dir/firmware/tests/wearable_renderer_test.cpp" -o "$test_bin"
"$test_bin"
python3 "$repo_dir/firmware/tests/cjk_subset_generator_test.py"
python3 "$repo_dir/firmware/tests/run_shell_input_test.py"
c++ -std=c++17 -Wall -Wextra -Werror -I "$repo_dir/boards/common/include" \
    "$repo_dir/firmware/tests/physical_input_test.cpp" -o "$test_bin"
"$test_bin"
