fix(test): 测试脚本有失败就 exit 1,256 个失败不再回绕成通过;非 registry 镜像不推送的断言改按带 --config 的 push 行匹配
This commit is contained in:
6 files changed
+18
-9
No files matched your search
@@ -138,6 +138,12 @@ jobs:
|
|||||||
tar -xJf shellcheck.tar.xz
|
tar -xJf shellcheck.tar.xz
|
||||||
./shellcheck-v0.11.0/shellcheck -S warning $(git ls-files '*.sh')
|
./shellcheck-v0.11.0/shellcheck -S warning $(git ls-files '*.sh')
|
||||||
|
|
||||||
|
# An exit status is 8 bits, so `exit "$fails"` reads 256 failures as a pass. The suites
|
||||||
|
# exit 1 on any failure; this keeps the next one from carrying its count out.
|
||||||
|
- name: No script exits with its failure count
|
||||||
|
run: |
|
||||||
|
if git grep -nE 'exit +"?\$\{?[a-z_]*fail[a-z_]*\}?"?[[:space:]]*$' -- '*.sh'; then exit 1; fi
|
||||||
|
|
||||||
- run: sh deploy/bootstrap_test.sh
|
- run: sh deploy/bootstrap_test.sh
|
||||||
- run: sh deploy/uninstall_test.sh
|
- run: sh deploy/uninstall_test.sh
|
||||||
- run: bash deploy/e2e_release_test.sh
|
- run: bash deploy/e2e_release_test.sh
|
||||||
|
|||||||
@@ -1414,9 +1414,13 @@ expect "and pushed to exactly that endpoint, with the platform login" "DOCKER --
|
|||||||
|
|
||||||
out="$(run_push registry.felis.svc:50000/felis/felis:demo)"
|
out="$(run_push registry.felis.svc:50000/felis/felis:demo)"
|
||||||
expect "a ref outside the registry is refused with a warning" "WARN: not mirroring" "$out"
|
expect "a ref outside the registry is refused with a warning" "WARN: not mirroring" "$out"
|
||||||
case "$out" in
|
# The push runs with the platform login, `docker --config <dir> push`, so any docker line
|
||||||
*"DOCKER push"*) echo "FAIL: a non-registry ref must not be pushed"; fails=$((fails + 1)) ;;
|
# with a push in it counts.
|
||||||
esac
|
if printf '%s\n' "$out" | grep -q '^DOCKER .*push '; then
|
||||||
|
echo "FAIL a ref outside the registry was pushed: $out"; fails=$((fails + 1))
|
||||||
|
else
|
||||||
|
echo "PASS a ref outside the registry is not pushed"
|
||||||
|
fi
|
||||||
|
|
||||||
out="$(run_push registry.felis.svc:5000/felis/felis:demo 1)"
|
out="$(run_push registry.felis.svc:5000/felis/felis:demo 1)"
|
||||||
expect "a failed push fails the install loudly" "DIE: could not mirror" "$out"
|
expect "a failed push fails the install loudly" "DIE: could not mirror" "$out"
|
||||||
@@ -4605,5 +4609,5 @@ if [ "$fails" -eq 0 ]; then
|
|||||||
echo "ALL PASS"
|
echo "ALL PASS"
|
||||||
else
|
else
|
||||||
echo "$fails FAILED"
|
echo "$fails FAILED"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
exit "$fails"
|
|
||||||
+1
-1
@@ -240,5 +240,5 @@ if [ "$fails" -eq 0 ]; then
|
|||||||
echo "ALL PASS (${phase})"
|
echo "ALL PASS (${phase})"
|
||||||
else
|
else
|
||||||
echo "${fails} FAILED (${phase})"
|
echo "${fails} FAILED (${phase})"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
exit "$fails"
|
|
||||||
@@ -109,4 +109,4 @@ case "${1:-}" in
|
|||||||
exit 2
|
exit 2
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
exit "$fails"
|
[ "$fails" -eq 0 ] || exit 1
|
||||||
@@ -184,5 +184,4 @@ same " and says so" "::error::gh release view answered without a tag" "$out"
|
|||||||
same " and writes no outputs" "" "$(cat "$root/out")"
|
same " and writes no outputs" "" "$(cat "$root/out")"
|
||||||
|
|
||||||
echo
|
echo
|
||||||
if [ "$fails" -eq 0 ]; then echo "ALL PASS"; else echo "${fails} FAILED"; fi
|
if [ "$fails" -eq 0 ]; then echo "ALL PASS"; else echo "${fails} FAILED"; exit 1; fi
|
||||||
exit "$fails"
|
|
||||||
@@ -387,5 +387,5 @@ if [ "$fails" -eq 0 ]; then
|
|||||||
echo "ALL PASS"
|
echo "ALL PASS"
|
||||||
else
|
else
|
||||||
echo "$fails FAILED"
|
echo "$fails FAILED"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
exit "$fails"
|
|
||||||
Reference in new issue
Block a user