|
|
@@ -31,6 +31,17 @@ echo "============================================================"
|
|
|
echo "S8 Regression Driver — baseline_before=${baseline_before}"
|
|
|
echo "============================================================"
|
|
|
|
|
|
+# 每个 child 结束后调用:清理 TEMP_SCHED_% 残留,防止跨 child 状态污染。
|
|
|
+# 不清除 demo rule 10/11/12、DEMO-S2/S3 数据、或真实业务 exception。
|
|
|
+# 不动 detection_state:避免与 Job scheduler 并发竞态破坏 active_exception_id 回填。
|
|
|
+# 各 child 自身负责 setup 阶段清自己的 detection_state。
|
|
|
+cleanup_between_children() {
|
|
|
+ local label="$1"
|
|
|
+ mysql_run "UPDATE ado_s8_watch_rule SET enabled=0, lock_token=NULL, locked_by=NULL, lock_until=NULL, updated_at=NOW() WHERE rule_code LIKE 'TEMP_SCHED_%' AND tenant_id=${TENANT_ID} AND factory_id=${FACTORY_ID} AND enabled=1;" 2>/dev/null || true
|
|
|
+ mysql_run "UPDATE ado_s8_exception SET is_deleted=1, updated_at=NOW() WHERE source_rule_code LIKE 'TEMP_SCHED_%' AND is_deleted=0;" 2>/dev/null || true
|
|
|
+ echo "[teardown] after ${label}: TEMP_SCHED_% disabled + active exceptions soft-deleted"
|
|
|
+}
|
|
|
+
|
|
|
run_child() {
|
|
|
local label="$1"
|
|
|
local script="$2"
|
|
|
@@ -68,6 +79,7 @@ run_child() {
|
|
|
fi
|
|
|
CHILD_RESULTS+=("${label}: ${status} (pass=${p} fail=${f} skip=${s} rc=${rc})")
|
|
|
echo "[${label}] result: ${status} pass=${p} fail=${f} skip=${s} rc=${rc}"
|
|
|
+ cleanup_between_children "${label}"
|
|
|
}
|
|
|
|
|
|
run_child "sched-exec" "${SCRIPT_DIR}/sched-exec-regression.sh"
|