aboutsummaryrefslogtreecommitdiffstats
path: root/tests/mkhint_test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mkhint_test.sh')
-rwxr-xr-xtests/mkhint_test.sh25
1 files changed, 21 insertions, 4 deletions
diff --git a/tests/mkhint_test.sh b/tests/mkhint_test.sh
index a7d1537..4843afd 100755
--- a/tests/mkhint_test.sh
+++ b/tests/mkhint_test.sh
@@ -1611,7 +1611,7 @@ echo ""
echo "T-BM6: manifest_url_for substitutes {VERSION}, unlisted pkg → non-zero"
cat > "$MOCK_BASE/bundle-manifests" << 'EOF'
# comment
-neovim https://example.com/neovim/v{VERSION}/deps.txt
+neovim url https://example.com/neovim/v{VERSION}/deps.txt
EOF
BM_SRC='source <(sed -n "/# ── bundled-dep manifest handling/,/# ── end bundled-dep/p" '"$SCRIPT"')'
r=$(bash -c "BUNDLE_MANIFEST_FILE='$MOCK_BASE/bundle-manifests'; $BM_SRC; load_bundle_manifests; manifest_url_for neovim 0.13.0")
@@ -1756,7 +1756,7 @@ r=$(bash -c "$BM_SRC; match_dep_url 'https://github.com/JuliaStrings/utf8proc/ar
echo ""
echo "T-BM10: --new listed pkg → manifest report, hint not rewritten by manifest"
cat > "$MOCK_BASE/bundle-manifests" << 'EOF'
-bmnvim https://example.com/bmnvim/v{VERSION}/deps.txt
+bmnvim url https://example.com/bmnvim/v{VERSION}/deps.txt
EOF
cat > "$MOCK_BASE/manifest_fixture" << 'EOF'
NVIM_URL https://github.com/neovim/neovim/archive/v0.13.0.tar.gz
@@ -1782,6 +1782,23 @@ echo "$out" | grep -qi 'manifest' \
|| { echo " PASS: no manifest code for non-listed"; (( PASS++ )); }
rm -f "$MOCK_BASE/manifest_fixture" "$MOCK_BASE/bundle-manifests"
+# ── T-BM-MODE: existing url-mode reconcile still works after 3-field migration ─
+echo ""
+echo "T-BM-MODE: url-mode reconcile still runs after 3-field manifest migration"
+cat > "$MOCK_BASE/bundle-manifests" << 'EOF'
+bmnvim url https://raw.githubusercontent.com/neovim/neovim/{VERSION}/deps.txt
+EOF
+cat > "$MOCK_BASE/manifest_fixture" << 'EOF'
+UTF8PROC_URL https://github.com/juliastrings/utf8proc/archive/v2.9.0.tar.gz
+UTF8PROC_SHA256 a
+EOF
+rm -f "$MOCK_HINT/bmnvim.hint"
+out=$(run_mkhint -n bmnvim 2>&1)
+echo "$out" | grep -q 'bmnvim: bundled-dep manifest check' \
+ && { echo " PASS: url-mode reconcile ran"; (( PASS++ )); } \
+ || { echo " FAIL: url-mode reconcile did not run. out=$out"; (( FAIL++ )) || true; ERRORS+=("T-BM-MODE"); }
+rm -f "$MOCK_BASE/manifest_fixture" "$MOCK_BASE/bundle-manifests" "$MOCK_HINT/bmnvim.hint"
+
# ── T-BM12: --force with --hintfile → exit 1 ─────────────────────────────────
echo ""
echo "T-BM12: --force is --check-only (errors with --hintfile/--new/--fix-current)"
@@ -1801,7 +1818,7 @@ set -e
# ── T-BM13..16: --check Phase 2 bundled-dep reconcile for listed packages ────
setup_bmnvim_check() {
cat > "$MOCK_BASE/bundle-manifests" << 'EOF'
-bmnvim https://example.com/bmnvim/v{VERSION}/deps.txt
+bmnvim url https://example.com/bmnvim/v{VERSION}/deps.txt
EOF
cat > "$MOCK_BASE/manifest_fixture" << 'EOF'
NVIM_URL https://github.com/neovim/neovim/archive/v0.13.0.tar.gz
@@ -1913,7 +1930,7 @@ rm -f "$MOCK_BASE/manifest_fixture" "$MOCK_BASE/bundle-manifests" "$MOCK_HINT/bm
echo ""
echo "T-BM18: -f listed pkg -V bumps primary AND reconciles bundled deps"
cat > "$MOCK_BASE/bundle-manifests" << 'EOF'
-bmnvim https://example.com/bmnvim/v{VERSION}/deps.txt
+bmnvim url https://example.com/bmnvim/v{VERSION}/deps.txt
EOF
cat > "$MOCK_BASE/manifest_fixture" << 'EOF'
NVIM_URL https://github.com/neovim/neovim/archive/v0.14.0.tar.gz