aboutsummaryrefslogtreecommitdiffstats
path: root/.extras/test-logic.sh
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-07-13 10:26:01 +0200
committerDanilo M. <danix@danix.xyz>2026-07-13 10:26:01 +0200
commit368023455770538ad0f7568ee83cf4cef0a4eabc (patch)
treee2c5adabee31da3333666b176b33ffc106644906 /.extras/test-logic.sh
parentb8281632a92d3b85db0beab8f43022180000720d (diff)
downloadsbo-slackbuilds-368023455770538ad0f7568ee83cf4cef0a4eabc.tar.gz
sbo-slackbuilds-368023455770538ad0f7568ee83cf4cef0a4eabc.zip
test-build: current-vs-stable override engine
Diffstat (limited to '.extras/test-logic.sh')
-rw-r--r--.extras/test-logic.sh37
1 files changed, 37 insertions, 0 deletions
diff --git a/.extras/test-logic.sh b/.extras/test-logic.sh
index 027fdb9..e48586e 100644
--- a/.extras/test-logic.sh
+++ b/.extras/test-logic.sh
@@ -70,6 +70,43 @@ resolve_target "$T/cat/d"
resolve_target "$T/cat/e"
[[ ${#CYCLES[@]} -ge 1 ]] && ok "cycle caught" || bad "cycle missed"
+# --- overrides --------------------------------------------------------------
+VERSION_ID="current" # reset: left at 15.0 by the version-selection checks above
+OV=$(mktemp)
+cat > "$OV" <<'EOF'
+# comment ignored
+drop: dropme
+rename: oldname -> newname
+fetch: fetchme
+EOF
+TB_OVERRIDES="$OV"
+load_overrides
+
+[[ "${OV_DROP[dropme]:-}" == "1" ]] && ok "override drop parsed" || bad "drop not parsed"
+[[ "${OV_RENAME[oldname]:-}" == "newname" ]] && ok "override rename parsed" || bad "rename not parsed"
+[[ "${OV_FETCH[fetchme]:-}" == "1" ]] && ok "override fetch parsed" || bad "fetch not parsed"
+
+# rename maps a token
+[[ "$(apply_rename oldname)" == "newname" ]] && ok "apply_rename maps" || bad "apply_rename wrong: [$(apply_rename oldname)]"
+[[ "$(apply_rename untouched)" == "untouched" ]] && ok "apply_rename passthrough" || bad "apply_rename mangled untouched"
+
+# drop filters the order (build a fake order of dirs; dropme is removed)
+mk dropme ""
+mk keepme ""
+RESOLVED_ORDER=("$T/cat/dropme" "$T/cat/keepme")
+apply_overrides_to_order
+kept=""; for x in "${RESOLVED_ORDER[@]}"; do kept+="$(basename "$x") "; done
+kept="${kept% }"
+[[ "$kept" == "keepme" ]] && ok "drop removes from order" || bad "drop failed, order=[$kept]"
+rm -f "$OV"
+
+# overrides only apply on current; on 15.0 they are a no-op
+VERSION_ID="15.0"
+TB_OVERRIDES="$OV" # file gone; must not error, must clear maps
+load_overrides
+[[ ${#OV_DROP[@]} -eq 0 ]] && ok "overrides inert on 15.0" || bad "overrides applied on 15.0"
+VERSION_ID="current"
+
echo
echo "$pass passed, $fail failed"
[[ $fail -eq 0 ]] || exit 1