30 lines
715 B
Bash
30 lines
715 B
Bash
#!/usr/bin/env bash
|
|
# agentloop gate -- one command, and the exit code IS the verdict.
|
|
#
|
|
# 0 every leg passed
|
|
# 1 a graded fault (a leg reported one)
|
|
# 2 could not grade (no python3, the package will not import, ...)
|
|
#
|
|
# Resolves its own directory, so the copy in a clone grades that clone.
|
|
#
|
|
# The last line is `exit "$rc"`, not a constant: a gate whose exit code is a
|
|
# literal cannot fail, and a gate that cannot fail is not evidence.
|
|
set -u
|
|
|
|
here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
py=""
|
|
if command -v python3 >/dev/null 2>&1; then
|
|
py="python3"
|
|
fi
|
|
|
|
if [ -z "$py" ]; then
|
|
echo "COULD NOT GRADE: no python3 on PATH"
|
|
rc=2
|
|
else
|
|
"$py" "$here/check.py"
|
|
rc=$?
|
|
fi
|
|
|
|
exit "$rc"
|