@@ -61,12 +61,13 @@ script:
61
61
grep -q -- "-DDYNAMIC_RUBY_DLL=\\\\\"${vi_cv_dll_name_ruby}\\\\\"" src/auto/config.mk
62
62
fi
63
63
- echo -en "travis_fold:end:configure\\r\\033[0K"
64
+
64
65
- echo -e "\\033[33;1mBuilding MacVim\\033[0m" && echo -en "travis_fold:start:build\\r\\033[0K"
65
66
- make -j${NPROC}
66
67
- echo -en "travis_fold:end:build\\r\\033[0K"
67
- - set +o errexit
68
68
- ${VIMCMD} --version
69
- - echo -e "\\033[33;1mTesting MacVim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
69
+
70
+ - echo -e "\\033[33;1mSmoketest\\033[0m" && echo -en "travis_fold:start:smoketest\\r\\033[0K"
70
71
# Smoketest scripting languages
71
72
- |
72
73
macvim_excmd() {
@@ -84,7 +85,20 @@ script:
84
85
if [[ -n "${HAS_GETTEXT}" ]]; then
85
86
${VIMCMD} -es -c 'lang es_ES' -c 'redir @a' -c 'version' -c 'put a' -c 'print' -c 'qa!' | grep Enlazado
86
87
fi
87
- # Run standard test suites
88
+ # Make sure there isn't any dynamic linkage to third-party dependencies in the built binary, as we should only use
89
+ # static linkage to avoid dependency hell. First, sanity check that we have some dylib linkage to make sure objdump is
90
+ # working properly, then test that all those dylib's are in /usr/lib which is bundled with macOS and not third-party.
91
+ - |
92
+ if (which objdump > /dev/null); then
93
+ objdump -p ${VIMCMD} | grep -q dylib &&
94
+ ! (objdump -p ${VIMCMD} | grep dylib | grep -v "name /usr/lib/")
95
+ fi
96
+ - echo -en "travis_fold:end:smoketest\\r\\033[0K"
97
+
98
+ # Run standard test suites.
99
+ # Disable errexit so flaky tests won't immediately exit to allow us to see all the errors.
100
+ - set +o errexit
101
+ - echo -e "\\033[33;1mTesting MacVim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
88
102
- make test
89
103
- make -C runtime/doc vimtags VIMEXE=../../src/MacVim/build/Release/MacVim.app/Contents/bin/vim
90
104
- echo -en "travis_fold:end:test\\r\\033[0K"
0 commit comments