fix(build): fix shell syntax error in smoke_test_imports heredoc
Lint & Test / test (push) Successful in 2m6s
Lint & Test / test (push) Successful in 2m6s
The 'cmd <<EOF || { ... }' pattern confuses bash's parser — the closing
brace of the inline error block collides with the function's closing
brace. Rewrote to capture the python script into a local var via
$(cat <<EOF), then run it with -c and a plain 'if !' guard.
This commit is contained in:
+8
-4
@@ -217,10 +217,8 @@ smoke_test_imports() {
|
|||||||
# installation — Pillow for example is only a Windows dep. But if a
|
# installation — Pillow for example is only a Windows dep. But if a
|
||||||
# module's top-level package dir exists in site-packages and we
|
# module's top-level package dir exists in site-packages and we
|
||||||
# can't import it, that's a broken install and we abort.
|
# can't import it, that's a broken install and we abort.
|
||||||
PYTHONPATH="$pypath" "$py_cmd" - "$sp_dir" <<'PYEOF' || {
|
local smoke_script
|
||||||
echo " ERROR: smoke test failed — site-packages is broken, aborting build"
|
smoke_script=$(cat <<'PYEOF'
|
||||||
return 1
|
|
||||||
}
|
|
||||||
import importlib
|
import importlib
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
@@ -266,4 +264,10 @@ if failed:
|
|||||||
|
|
||||||
print(f' Smoke test passed ({tested} imported, {skipped} not installed)')
|
print(f' Smoke test passed ({tested} imported, {skipped} not installed)')
|
||||||
PYEOF
|
PYEOF
|
||||||
|
)
|
||||||
|
|
||||||
|
if ! PYTHONPATH="$pypath" "$py_cmd" -c "$smoke_script" "$sp_dir"; then
|
||||||
|
echo " ERROR: smoke test failed — site-packages is broken, aborting build"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user