You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.6 KiB
Bash
105 lines
2.6 KiB
Bash
6 years ago
|
#!/bin/bash
|
||
|
|
||
|
VIMRC_FILE="test/.vimrc"
|
||
|
DRIVER_FILE="test/_runner"
|
||
|
RESULT_FILE="test/test_result.log"
|
||
|
VIM_BUILD=1
|
||
|
VIM_INSTALL_DIR=`pwd`/local
|
||
|
if [ "${VERSION}" == "" ]; then
|
||
|
VERSION=3.2
|
||
|
fi
|
||
|
TSSERVER_PATH="$(pwd)/test/node_modules/typescript-${VERSION}/bin/tsserver"
|
||
|
|
||
|
echo "Run test with ${TSSERVER_PATH}"
|
||
|
|
||
|
if [ "${VIM_BUILD}" -eq 1 ]; then
|
||
|
echo "`date "+[%Y-%m-%dT%H:%M:%S]"` Use local Vim."
|
||
|
if [ ! -d "./local" ]; then
|
||
|
echo "`date "+[%Y-%m-%dT%H:%M:%S]"` Installing Vim"
|
||
|
if [ ! -d "./vim" ]; then
|
||
|
echo "`date "+[%Y-%m-%dT%H:%M:%S]"` Clonning Vim source from Github"
|
||
|
git clone --depth 1 https://github.com/vim/vim.git
|
||
|
fi
|
||
|
cd vim
|
||
|
./configure --prefix=${VIM_INSTALL_DIR}
|
||
|
if [ ! $? -eq 0 ]; then
|
||
|
exit $?
|
||
|
fi
|
||
|
make
|
||
|
if [ ! $? -eq 0 ]; then
|
||
|
exit $?
|
||
|
fi
|
||
|
make install
|
||
|
if [ ! $? -eq 0 ]; then
|
||
|
exit $?
|
||
|
fi
|
||
|
echo "`date "+[%Y-%m-%dT%H:%M:%S]"` Vim was created successfully."
|
||
|
cd ..
|
||
|
fi
|
||
|
VIM_CMD="${VIM_INSTALL_DIR}/bin/vim"
|
||
|
else
|
||
|
echo "`date "+[%Y-%m-%dT%H:%M:%S]"` Use system Vim."
|
||
|
VIM_CMD="vim"
|
||
|
fi
|
||
|
|
||
|
${VIM_CMD} --version
|
||
|
|
||
|
if [ ! -d "./neobundle.vim" ]; then
|
||
|
echo "`date "+[%Y-%m-%dT%H:%M:%S]"` Installing neobundle"
|
||
|
git clone --depth 1 https://github.com/Shougo/neobundle.vim
|
||
|
fi
|
||
|
|
||
|
if [ "${HIDE_VIM}" == "" ]; then
|
||
|
${VIM_CMD} -u ${VIMRC_FILE} -c NeoBundleInstall -c q
|
||
|
else
|
||
|
${VIM_CMD} -u ${VIMRC_FILE} -c NeoBundleInstall -c q > /dev/null
|
||
|
fi
|
||
|
|
||
|
if [ -f "${RESULT_FILE}" ]; then
|
||
|
rm ${RESULT_FILE}
|
||
|
fi
|
||
|
|
||
|
echo "`date "+[%Y-%m-%dT%H:%M:%S]"` Run vesting."
|
||
|
# In CI, displaying Vim UI is meaningless and it makes CI logs dirty.
|
||
|
# So hide Vim UI.
|
||
|
if [ "${HIDE_VIM}" == "" ]; then
|
||
|
${VIM_CMD} \
|
||
|
-c 'let g:tsuquyomi_use_local_typescript = 0' \
|
||
|
-c 'let g:tsuquyomi_use_dev_node_module = 2' \
|
||
|
-c "let g:tsuquyomi_tsserver_path = \"${TSSERVER_PATH}\"" \
|
||
|
-u ${VIMRC_FILE} \
|
||
|
-s ${DRIVER_FILE}
|
||
|
else
|
||
|
${VIM_CMD} \
|
||
|
-c 'let g:tsuquyomi_use_local_typescript = 0' \
|
||
|
-c 'let g:tsuquyomi_use_dev_node_module = 2' \
|
||
|
-c "let g:tsuquyomi_tsserver_path = \"${TSSERVER_PATH}\"" \
|
||
|
-u ${VIMRC_FILE} \
|
||
|
-s ${DRIVER_FILE} > /dev/null
|
||
|
fi
|
||
|
if [ $? -ne 0 ]; then
|
||
|
echo "Vim exited with non-zero status."
|
||
|
exit 1
|
||
|
fi
|
||
|
echo "`date "+[%Y-%m-%dT%H:%M:%S]"` Done."
|
||
|
echo "`date "+[%Y-%m-%dT%H:%M:%S]"` Result: (${RESULT_FILE})"
|
||
|
cat ${RESULT_FILE}
|
||
|
|
||
|
grep -E "\[Fail\]" ${RESULT_FILE} > /dev/null
|
||
|
|
||
|
if [ $? -eq 0 ]; then
|
||
|
echo "`date "+[%Y-%m-%dT%H:%M:%S]"` Test was failed."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
grep -E "\[Error\]" ${RESULT_FILE} > /dev/null
|
||
|
|
||
|
if [ $? -eq 0 ]; then
|
||
|
echo "`date "+[%Y-%m-%dT%H:%M:%S]"` Test was failed."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
echo "`date "+[%Y-%m-%dT%H:%M:%S]"` Test was succeeded."
|
||
|
exit 0
|
||
|
|