| 123456789101112131415161718192021222324252627 |
- #!/usr/bin/env bash
- set -euo pipefail
- command -v jq >/dev/null || { echo "jq required"; exit 127; }
- TOOL="$1"
- OP="$2"
- EXPECTED="$3"
- FILE="tool_calls.jsonl"
- COUNT=$(jq -s "[.[] | select(.tool == \"$TOOL\")] | length" "$FILE" 2>/dev/null || echo 0)
- case "$OP" in
- eq) TEST=$(( COUNT == EXPECTED )) ;;
- gt) TEST=$(( COUNT > EXPECTED )) ;;
- gte) TEST=$(( COUNT >= EXPECTED )) ;;
- lt) TEST=$(( COUNT < EXPECTED )) ;;
- lte) TEST=$(( COUNT <= EXPECTED )) ;;
- *) echo "Unknown operator: $OP (expected: eq, gt, gte, lt, lte)"; exit 2 ;;
- esac
- if [ "$TEST" -eq 1 ]; then
- echo "PASS: $TOOL called $COUNT time(s) ($OP $EXPECTED)"
- exit 0
- else
- echo "FAIL: $TOOL called $COUNT time(s) (expected $OP $EXPECTED)"
- exit 1
- fi
|