gas-stack/ops/sqlite_lint_test.sh
wispem-wantex bfb7073cf6
All checks were successful
CI / build-docker (push) Successful in 5s
CI / build-docker-bootstrap (push) Has been skipped
CI / release-test (push) Successful in 17s
lint: fix shell lint errors
2025-11-08 23:57:37 -08:00

48 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# ------------------
# This is a test script that checks that `sqlite_lint` subcommand works as expected.
# ------------------
set -e
set -x
PS4='+(${BASH_SOURCE}:${LINENO}): '
cd "$(dirname "${BASH_SOURCE[0]}")/.."
# Compile `gas`
gas="/tmp/gas"
go build -o $gas ./cmd
test_schema_dir="pkg/schema/lint/test_schemas"
# Check all failure cases
for test_schema in "$test_schema_dir"/failure-*; do
output=$($gas sqlite_lint "$test_schema") && {
echo "Expected test to fail"
exit 9
}
# Should print the name of the file being linted
if ! echo "$output" | grep -Fxq "Linting $test_schema"; then
echo "Expected 'Linting $test_schema' in output"
exit 10
fi
done
# Check success case
success_schema="$test_schema_dir/success.sql"
output=$($gas sqlite_lint $success_schema) || {
echo "Expected test to succeed"
exit 9
}
# Should print the name of the file being linted
if ! echo "$output" | grep -Fxq "Linting $success_schema"; then
echo "Expected 'Linting $success_schema' in output"
exit 10
fi
# Notify success in green
echo -e "\033[32mAll tests passed. Finished successfully.\033[0m"