aboutsummaryrefslogtreecommitdiffstats
path: root/test-logic.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test-logic.sh')
-rwxr-xr-xtest-logic.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/test-logic.sh b/test-logic.sh
index 13d97f8..7575ea7 100755
--- a/test-logic.sh
+++ b/test-logic.sh
@@ -104,6 +104,25 @@ else
bad "cascade dead: b=${blocked[b]:-0} a=${blocked[a]:-0}"
fi
+# --- package cache ----------------------------------------------------------
+PKG_CACHE=$(mktemp -d)
+mkc() { mkdir -p "$PKG_CACHE/$1/$2"; : > "$PKG_CACHE/$1/$2/$3"; }
+
+# exact version match -> cached
+mkc net libfoo "libfoo-1.1-x86_64-1_danix.txz"
+[[ "$(cache_decision net libfoo 1.1)" == "cached" ]] && ok "cache hit on version match" || bad "cache_decision should be cached, got [$(cache_decision net libfoo 1.1)]"
+
+# different version cached -> bump:old:new
+[[ "$(cache_decision net libfoo 1.2)" == "bump:1.1:1.2" ]] && ok "cache bump reported" || bad "cache_decision bump wrong, got [$(cache_decision net libfoo 1.2)]"
+
+# nothing cached -> new
+[[ "$(cache_decision net libbar 1.0)" == "new" ]] && ok "cache new for absent prog" || bad "cache_decision should be new, got [$(cache_decision net libbar 1.0)]"
+
+# empty PKG_CACHE disables -> new
+PKG_CACHE_SAVE="$PKG_CACHE"; PKG_CACHE=""
+[[ "$(cache_decision net libfoo 1.1)" == "new" ]] && ok "empty PKG_CACHE disables (new)" || bad "disabled cache should be new, got [$(cache_decision net libfoo 1.1)]"
+PKG_CACHE="$PKG_CACHE_SAVE"
+
# --- result -----------------------------------------------------------------
echo
echo "$pass passed, $fail failed"