You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(cd "$d"&&"$STORE" build > b3.log 2>&1) && fail "an unknown abi member was accepted"|| { has_text "$d/b3.log""threads, exceptions"&& ok "unknown member refused naming both members"|| { fail "refused without naming the members"; tail -2 "$d/b3.log"; }; }
122
122
123
-
section "F. frameworks per target: a Linux build is byte-identical with and without the tables"
123
+
section "F. frameworks per target: a Linux build renders no framework and its graph is unchanged"
if [ -n"${n2:-}" ] && cmp -s "$d/n1""$n2";then ok "build.ninja identical on Linux";else fail "build.ninja differs or build failed";fi
128
+
# The manifest changed, so the fingerprint directory named inside build.ninja
129
+
# changes with it; the comparison is made with that segment normalised, and
130
+
# what it then asserts is that no flag, input or edge differs on Linux.
131
+
norm() { sed 's#/[0-9a-f]\{16\}/#/FP/#g'"$1"; }
132
+
if [ -n"${n2:-}" ] && diff -q <(norm "$d/n1")<(norm "$n2")>/dev/null;then ok "build.ninja identical on Linux up to the fingerprint segment";else fail "build.ninja differs beyond the fingerprint segment, or the build failed"; diff <(norm "$d/n1")<(norm "${n2:-/dev/null}")| head -6;fi
133
+
grep -q -- '-framework'"${n2:-/dev/null}"&& fail "a -framework flag rendered on an ELF target"|| ok "no -framework on Linux"
129
134
grep -q "unsupported key 'frameworks'""$d/b2.log"&& fail "frameworks reported as unsupported under a target table"|| ok "frameworks accepted under [target.<sel>.runtime]"
(cd "$d"&&"$STORE" build --strict > b1.log 2>&1) && ok "the six-word vocabulary passes --strict"|| { fail "a known platform name was refused"; grep -i platform "$d/b1.log"| head -2; }
0 commit comments