summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rwxr-xr-xtest/run-tests.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/run-tests.sh b/test/run-tests.sh
index 1c75cd7..5830224 100755
--- a/test/run-tests.sh
+++ b/test/run-tests.sh
@@ -329,5 +329,23 @@ else
bad "pruning kept the wrong ones" "newest backup was deleted"
fi
+# 25. The wrong-host message has to name the way out, or the laptop is simply stuck.
+out=$("$BIN/publish-apk" /dev/null thing.apk --host definitely-not-this-host 2>&1); rc=$?
+if [ $rc -eq 2 ] && printf '%s' "$out" | grep -q "PUBLISH_SSH"; then
+ ok "wrong-host error explains how to publish remotely"
+else
+ bad "ssh hint" "rc=$rc out=$out"
+fi
+
+# 26. PUBLISH_SSH must not become a way to write locally on the wrong host -- the whole point
+# is that it sends the file to the real one.
+out=$(PUBLISH_SSH="nobody@invalid.invalid" "$BIN/publish-apk" "$realapk" thing.apk \
+ --host definitely-not-this-host --dir "$tmproot/should-not-be-touched" 2>&1); rc=$?
+if [ $rc -ne 0 ] && [ ! -e "$tmproot/should-not-be-touched/thing.apk" ]; then
+ ok "remote publish never falls back to writing locally"
+else
+ bad "remote fallback" "rc=$rc; local file created?"
+fi
+
printf '\n=== summary: %d passed, %d failed ===\n' "$pass" "$fail"
[ "$fail" -eq 0 ]