fix: survival test — false alarm at 5.2, empty CLEANUP entries, teardown guard

This commit is contained in:
Naeel
2026-03-21 19:22:50 +03:00
parent a25725fdb7
commit e6be6026fe
+16 -8
View File
@@ -257,6 +257,7 @@ deploy_ns_has() {
# cleanup NAME — удалить сервис (teardown) # cleanup NAME — удалить сервис (teardown)
cleanup() { cleanup() {
local name="$1" local name="$1"
[[ -z "$name" ]] && return 0 # пустое имя — пропускаем
api_code DELETE "$API/services/$name" > /dev/null 2>&1 || true api_code DELETE "$API/services/$name" > /dev/null 2>&1 || true
sleep 2 sleep 2
} }
@@ -267,6 +268,7 @@ teardown() {
if [[ ${#CLEANUP_NAMES[@]} -gt 0 ]]; then if [[ ${#CLEANUP_NAMES[@]} -gt 0 ]]; then
echo -e "\n${CYAN}[TEARDOWN]${RESET} удаляю тестовые сервисы..." echo -e "\n${CYAN}[TEARDOWN]${RESET} удаляю тестовые сервисы..."
for name in "${CLEANUP_NAMES[@]}"; do for name in "${CLEANUP_NAMES[@]}"; do
[[ -z "$name" ]] && continue # пропускаем пустые элементы
cleanup "$name" cleanup "$name"
echo -e " ${CYAN}[TEARDOWN]${RESET} удалён: $name" echo -e " ${CYAN}[TEARDOWN]${RESET} удалён: $name"
done done
@@ -306,12 +308,14 @@ info "5.1 CREATE + UPLOAD 6 функций параллельно (3 Python / 3
(set +e; create_node_deploy "$FB6" 256 '{"GRP_VAR":"nd3"}') & (set +e; create_node_deploy "$FB6" 256 '{"GRP_VAR":"nd3"}') &
wait wait
info "5.2 Проверяем что все 6 CRD созданы..." info "5.2 Проверяем что все 6 CRD созданы (GET → 200)..."
# Небольшая пауза — контроллер устанавливает phase асинхронно после create
sleep 5
all_created=true all_created=true
for name in "${FB_ALL[@]}"; do for name in "${FB_ALL[@]}"; do
ph=$(svc_phase "$name") http_check=$(api_code GET "$API/services/$name")
if [[ -z "$ph" ]]; then if [[ "$http_check" != "200" ]]; then
fail "CRD $name не существует (create/upload провалился)" fail "CRD $name не существует → HTTP $http_check (create/upload провалился)"
all_created=false all_created=false
fi fi
done done
@@ -416,11 +420,15 @@ for name in "${FB_ALL[@]}"; do
[[ "$code" == "404" ]] || { fail "$name: GET после DELETE → $code (ожидали 404)"; del_ok=false; } [[ "$code" == "404" ]] || { fail "$name: GET после DELETE → $code (ожидали 404)"; del_ok=false; }
done done
$del_ok && pass "все 6 функций удалены, GET → 404" $del_ok && pass "все 6 функций удалены, GET → 404"
# Убираем из cleanup (уже удалены) # Убираем из cleanup (уже удалены) — фильтруем пустые и fb-имена
CLEANUP_NAMES=( "${CLEANUP_NAMES[@]}" ) new_cleanup=()
for name in "${FB_ALL[@]}"; do for e in "${CLEANUP_NAMES[@]}"; do
CLEANUP_NAMES=( "${CLEANUP_NAMES[@]/$name}" ) skip=false
for fn in "${FB_ALL[@]}"; do [[ "$e" == "$fn" ]] && skip=true; done
[[ -z "$e" ]] && skip=true
$skip || new_cleanup+=("$e")
done done
CLEANUP_NAMES=( "${new_cleanup[@]}" )
# Ждём очистки k8s # Ждём очистки k8s
sleep 15 sleep 15