#!/usr/bin/env bash
# Guard local/remote keyboard and mouse routing before pushing input changes.
set -euo pipefail

ROOT=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)
cd "$ROOT"

INPUT_TESTS=(
  --test client_app_include_contract
  --test client_inputs_contract
  --test client_inputs_extra_contract
  --test client_keyboard_activation_contract
  --test client_keyboard_shift_contract
  --test client_keyboard_include_contract
  --test client_keyboard_include_extra_contract
  --test client_mouse_include_contract
  --test client_mouse_include_extra_contract
  --test server_gadget_include_contract
  --test server_main_binary_extra_contract
  --test server_runtime_smoke_contract
)

cargo fmt --all -- --check
cargo check -q --bin lesavka-client --bin lesavka-server
cargo test -q -p lesavka_testing "${INPUT_TESTS[@]}"
