aboutsummaryrefslogtreecommitdiffstats
path: root/.extras/test-logic.sh
diff options
context:
space:
mode:
Diffstat (limited to '.extras/test-logic.sh')
-rw-r--r--.extras/test-logic.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/.extras/test-logic.sh b/.extras/test-logic.sh
index 6d54334..0616c99 100644
--- a/.extras/test-logic.sh
+++ b/.extras/test-logic.sh
@@ -104,6 +104,16 @@ load_overrides
[[ "$(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 satisfies an external (no-dir) dep during resolution: not UNMET, absent
+# from the order. mk k requires a dropme that has no dir in the tree.
+OV_DROP=([extdrop]=1)
+mk k "extdrop"
+resolve_target "$T/cat/k"
+[[ ${#UNMET[@]} -eq 0 ]] && ok "drop satisfies external dep (not unmet)" || bad "dropped external dep still unmet"
+seen=""; for x in "${RESOLVED_ORDER[@]}"; do seen+="$(basename "$x") "; done
+[[ "$seen" != *extdrop* ]] && ok "dropped dep absent from order" || bad "dropped dep in order: [$seen]"
+load_overrides # restore OV_DROP[dropme] for the order-filter test below
+
# drop filters the order (build a fake order of dirs; dropme is removed)
mk dropme ""
mk keepme ""