33 lines
1.7 KiB
Diff
33 lines
1.7 KiB
Diff
--- a/lib/tests/higgsfield.test.sh
|
|
+++ b/lib/tests/higgsfield.test.sh
|
|
@@ -255,5 +255,29 @@
|
|
expect pins-map "$(count lib/effort-pins.txt higgsfield)" 0
|
|
verdict OFF_BY_DEFAULT_WIRING
|
|
|
|
+# ln_first / ln_last <file> <fixed string> — line number of a match.
|
|
+ln_first() { grep -nF -- "$2" "$ROOT/$1" | head -1 | cut -d: -f1; }
|
|
+ln_last() { grep -nF -- "$2" "$ROOT/$1" | tail -1 | cut -d: -f1; }
|
|
+# shellcheck disable=SC2016 # a literal to grep for, not an expansion
|
|
+PINS='apply_effort_pins "$REPO"'
|
|
+
|
|
+# install-plugins.sh: the sync sits in Step 8.6, before the effort pins
|
|
+# (BDR-108), and every login offer tests stdin alone (stdout is the tee pipe).
|
|
+sync_ln="$(ln_last install-plugins.sh 'higgsfield_sync_skills')"
|
|
+expect after-8.5 "$(yn test "$sync_ln" -gt \
|
|
+ "$(ln_first install-plugins.sh 'Step 8.5: External skills')")" yes
|
|
+expect before-8.7 "$(yn test "$sync_ln" -lt \
|
|
+ "$(ln_first install-plugins.sh 'Step 8.7: 21st.dev')")" yes
|
|
+expect before-pins "$(yn test "$sync_ln" -lt \
|
|
+ "$(ln_last install-plugins.sh "$PINS")")" yes
|
|
+expect control "$(echo 'if [ -t 0 ] && [ -t 1 ]; then' | grep -cF -- '-t 1')" 1
|
|
+expect no-stdout-test "$(count install-plugins.sh '-t 1')" 0
|
|
+expect stdin-tests \
|
|
+ "$(yn test "$(count install-plugins.sh '[ -t 0 ]')" -ge 3)" yes
|
|
+expect summary "$(sed -n '/Install Summary/,$p' "$ROOT/install-plugins.sh" \
|
|
+ | grep -cF 'enable higgsfield')" 1
|
|
+expect remedy "$(count install-plugins.sh '--allow-scripts=')" 1
|
|
+verdict INSTALL_WIRING
|
|
+
|
|
# ── tally ───────────────────────────────────────────────────
|
|
printf 'PASS=%s FAIL=%s\n' "$pass" "$fail"; [ "$fail" -eq 0 ]
|