test-optional-tip.sh
#!/bin/bash ## The tip line in STACK is optional: export always writes it, but a hand-made ## STACK without one must replay fine. Verify then does everything except the ## tip comparison and says so; import simply skips its advisory comparison. set -euo pipefail cd "$(dirname "$0")" source ./lib.sh work=$(mktemp -d) trap 'rm -rf "$work"' EXIT make_corpus "$work/corpus" source "$work/corpus/FACTS" "$PATCHETTE" export --subject="$work/corpus/dev" --patches="$work/patches" "$base" topic/fancy >/dev/null sed -i '/^tip /d' "$work/patches/topic¦fancy/STACK" "$PATCHETTE" verify --subject="$work/corpus/dev" --patches="$work/patches" >"$work/verify.out" EXPECT success "verify passes on a tipless STACK, noting it couldn't cross-check" -- \ grep -q "records no tip to cross-check" "$work/verify.out" git clone -q "$work/corpus/upstream" "$work/fresh" "$PATCHETTE" import --subject="$work/fresh" --patches="$work/patches" >"$work/import.out" EXPECT equal "import reproduces the branch from a tipless STACK" -- \ "$(git -C "$work/fresh" rev-parse refs/heads/topic/fancy)" "$tip_topic_fancy" EXPECT equal "import stays silent about tips it cannot compare" -- \ "$(grep -c 'note' "$work/import.out")" "0" exit "$RESULT"
tests/test-optional-tip.sh · 1.2 KiB · f7d299ab19