OpenClaw: Add --coverage flag to proxy-utest.sh for per-function coverage reporting
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
460412c4b5
commit
e1a581c6e9
|
|
@ -107,7 +107,7 @@ Only after the user confirms the routing do you proceed to Step 2.
|
||||||
1. Implement the code change.
|
1. Implement the code change.
|
||||||
2. Run the proxy unit tests to verify:
|
2. Run the proxy unit tests to verify:
|
||||||
```
|
```
|
||||||
bash scripts/proxy-utest.sh
|
bash scripts/proxy-utest.sh --coverage
|
||||||
```
|
```
|
||||||
3. Run the proxy E2E test (starts proxy + SRS origin, publishes RTMP, verifies playback):
|
3. Run the proxy E2E test (starts proxy + SRS origin, publishes RTMP, verifies playback):
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,30 @@
|
||||||
# Run unit tests for the proxy server (cmd/ and internal/ packages).
|
# Run unit tests for the proxy server (cmd/ and internal/ packages).
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
cat <<'EOF'
|
||||||
|
Run unit tests for the proxy server (cmd/ and internal/ packages).
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
proxy-utest.sh # run tests
|
||||||
|
proxy-utest.sh --coverage # run tests and print per-function coverage
|
||||||
|
proxy-utest.sh -c # short form of --coverage
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
COVERAGE=0
|
||||||
|
for arg in "$@"; do
|
||||||
|
case "$arg" in
|
||||||
|
-c|--coverage) COVERAGE=1 ;;
|
||||||
|
-h|--help) usage; exit 0 ;;
|
||||||
|
*)
|
||||||
|
echo "Error: unknown argument: $arg" >&2
|
||||||
|
usage >&2
|
||||||
|
exit 2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd -P "$(dirname "$0")" && pwd)"
|
SCRIPT_DIR="$(cd -P "$(dirname "$0")" && pwd)"
|
||||||
# Navigate: scripts/ -> srs-develop/ -> skills/ -> .openclaw/ -> srs
|
# Navigate: scripts/ -> srs-develop/ -> skills/ -> .openclaw/ -> srs
|
||||||
WORKSPACE="$(cd -P "$SCRIPT_DIR/../../../.." && pwd)"
|
WORKSPACE="$(cd -P "$SCRIPT_DIR/../../../.." && pwd)"
|
||||||
|
|
@ -12,6 +36,18 @@ if [[ ! -f "$WORKSPACE/go.mod" ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd "$WORKSPACE"
|
cd "$WORKSPACE"
|
||||||
echo "Running proxy unit tests in: $WORKSPACE"
|
|
||||||
|
|
||||||
go test ./cmd/... ./internal/... -v
|
PACKAGES=(./cmd/... ./internal/...)
|
||||||
|
|
||||||
|
if [[ $COVERAGE -eq 1 ]]; then
|
||||||
|
COVER_FILE="$(mktemp -t proxy-utest-coverage.XXXXXX.out)"
|
||||||
|
trap 'rm -f "$COVER_FILE"' EXIT
|
||||||
|
echo "Running proxy unit tests with coverage in: $WORKSPACE"
|
||||||
|
go test "${PACKAGES[@]}" -v -coverprofile="$COVER_FILE" -coverpkg=./cmd/...,./internal/...
|
||||||
|
echo
|
||||||
|
echo "=== Coverage (per function) ==="
|
||||||
|
go tool cover -func="$COVER_FILE"
|
||||||
|
else
|
||||||
|
echo "Running proxy unit tests in: $WORKSPACE"
|
||||||
|
go test "${PACKAGES[@]}" -v
|
||||||
|
fi
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user