tests: тест-скрипты v2 — полный сьют PASS=8 FAIL=0
- lib.sh: утилиты (json_field, wait_invoke, print_summary) - run_all.sh: запуск всех скриптов + финальная сводка - pre_cleanup.sh: очистка тест-namespace-ов перед прогоном - test_auth.sh: 14/14 PASS — авторизация, namespace детерминизм - test_functions_crud.sh: 29/29 PASS — CRUD, валидация, >1MB - test_ttl.sh: 10/10 PASS — TTL=15m/1h/2d, невалидные - test_isolation.sh: 11/11 PASS — изоляция пользователей - test_update.sh: 10/10 PASS — PUT /code v1→v2→v3 (livetest) - test_invoke.sh: 9/9 PASS — NodeJS/Python invoke (livetest) - test_stress.sh: 3/3 PASS — 8 пользователей параллельно (livetest) - test_linters.sh: 31/31 PASS — синтаксис 5 языков
This commit is contained in:
Executable
+38
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env bash
|
||||
# pre_cleanup.sh — удаляет ВСЕ тест-namespace-ы fission от прошлых прогонов.
|
||||
# Паттерны: fission-<hex16> для namespace-ов созданных тест-субами вида
|
||||
# crud-*/ttl-*/invoke-*/update-*/isolation-*/stress-*/alice-*/bob-*/
|
||||
# linter-*@test.local
|
||||
# Вызывается из run_all.sh с KUBECTL_DIRECT=1.
|
||||
set -uo pipefail
|
||||
|
||||
if [ "${KUBECTL_DIRECT:-0}" != "1" ]; then
|
||||
echo "pre_cleanup.sh: нужен KUBECTL_DIRECT=1 (должен запускаться на VM)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CLEANUP="${BASH_SOURCE%/*}/cleanup_test_namespaces.sh"
|
||||
if [ ! -x "$CLEANUP" ]; then
|
||||
echo "pre_cleanup.sh: cleanup_test_namespaces.sh не найден" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Список тест-субов создаёт namespace с именем fission-<hex16>.
|
||||
# Получить все fission-namespace-ы кроме системного fission:
|
||||
NS_LIST=$(kubectl get ns -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}' 2>/dev/null | \
|
||||
grep -E '^fission-[0-9a-f]{16}$' || true)
|
||||
|
||||
if [ -z "$NS_LIST" ]; then
|
||||
echo "pre_cleanup.sh: тест-namespace-ы не найдены, пропускаем."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
COUNT=$(echo "$NS_LIST" | wc -l)
|
||||
echo "pre_cleanup.sh: найдено $COUNT тест-namespace-ов, удаляем..."
|
||||
|
||||
# cleanup_test_namespaces.sh принимает email-субы, а не namespace-ы.
|
||||
# Но мы можем вызвать kubectl delete напрямую для namespace-ов.
|
||||
echo "$NS_LIST" | xargs -r kubectl delete namespace --ignore-not-found 2>&1 | \
|
||||
grep -v "^$" || true
|
||||
|
||||
echo "pre_cleanup.sh: очистка завершена."
|
||||
Reference in New Issue
Block a user