joeylib2/scripts/check-input.sh

23 lines
877 B
Bash
Executable file

#!/usr/bin/env bash
# check-input.sh - Host-cc harness for the typed-character queue
# (jlInputGetChar / jlInputCharPush in src/core/input.c). Compiles the
# core input module with a mocked jlpInputPoll (tests/host/inputHost.c)
# and exercises FIFO order, the character filter, drop-newest overflow,
# reset, and the jlInputPoll refill path.
set -euo pipefail
repo=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
cc=${CC:-cc}
work=$(mktemp -d -t joeylib-input.XXXXXX)
trap 'rm -rf "$work"' EXIT
cd "$repo"
# The BLANK platform block registers JL_HAS_INPUT_POLL and
# JL_HAS_JOYSTICK_RESET (blank.c normally supplies them); inputHost.c
# provides the mocks here instead, so no extra -D flags are needed.
"$cc" -DJOEYLIB_PLATFORM_BLANK \
-Iinclude -Iinclude/joey -Isrc/core -Wall \
src/core/input.c tests/host/inputHost.c \
-o "$work/inputHost"
"$work/inputHost"