#!/bin/sh # m2SQLITE test runner - builds lib helper then each tests/*.mod with gm2. set -e CDIR=$(dirname "$0") ROOT=$(cd "$CDIR/.." && pwd) BIN="$ROOT/build/tests" OBJ="$ROOT/build/objs" GM2="${GM2:-gm2}" mkdir -p "$BIN" "$OBJ" if command -v pkg-config >/dev/null 2>&1 && pkg-config --libs sqlite3 >/dev/null 2>&1; then SQLITELIBS="$(pkg-config --libs sqlite3)" elif [ -f /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 ]; then SQLITELIBS="/usr/lib/x86_64-linux-gnu/libsqlite3.so.0" else SQLITELIBS="-lsqlite3" fi # shellcheck disable=SC2086 $GM2 -I"$ROOT/src" -I"$ROOT/lib" $GM2FLAGS -c "$ROOT/lib/SQLiteUtils.mod" -o "$OBJ/SQLiteUtils.o" pass=0; fail=0 for t in test_version test_open test_exec test_prepare test_func test_blob test_codes; do echo "== $t ==" # shellcheck disable=SC2086 $GM2 -I"$ROOT/src" -I"$ROOT/lib" $GM2FLAGS "$ROOT/tests/$t.mod" \ "$OBJ/SQLiteUtils.o" \ -o "$BIN/$t" $SQLITELIBS "$BIN/$t" pass=$((pass+1)) done echo "OK: $pass passed, $fail failed"