UltiSnips/travis_test.sh
Holger Rapp 306f0ace5f Add a testing interface that works for Neovim.
- Remove support for python 3.2 to reduce number of test cases and because
  it actually fails with Neovim. It is not a supported version anyways.
- Due to Neovim not handling fast typing through the console properly
  (https://github.com/neovim/neovim/issues/2454), the typing is actually
  simulated through the Python client. We need to differentiate now if a
  keystroke is meant for the terminal or for the Vim session. Using
  neovim.input() introduces additional chances for races since inputs
  are not buffered but processed right away. This results in more
  retries for some tests.
- Neovim needs more parameters and configuration passed in through the
  test script. Added command line arguments for these.
- Skip an extra test under Neovim due to
  https://github.com/neovim/python-client/issues/128.
2015-07-14 21:58:30 +02:00

41 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -ex
PYTHON="python${TRAVIS_PYTHON_VERSION}"
PYTHON_CMD="$(which ${PYTHON})"
if [[ $VIM_VERSION = "74" || $VIM_VERSION = "mercurial" ]]; then
INTERFACE="--interface tmux"
VIM="${HOME}/bin/vim"
# This is needed so that vim finds the shared libraries it was build against -
# they are not on the regular path.
export LD_LIBRARY_PATH="$($PYTHON-config --prefix)/lib"
elif [[ $VIM_VERSION == "NEOVIM" ]]; then
VIM="$(which nvim)"
if [[ $TRAVIS_PYTHON_VERSION =~ ^2\. ]]; then
INTERFACE="--interface tmux_nvim --python-host-prog=$PYTHON_CMD"
PY_IN_VIM="py"
else
INTERFACE="--interface tmux_nvim --python3-host-prog=$PYTHON_CMD"
PY_IN_VIM="py3"
fi
else
echo "Unknown VIM_VERSION: $VIM_VERSION"
exit 1
fi
if [[ $TRAVIS_PYTHON_VERSION =~ ^2\. ]]; then
PY_IN_VIM="py"
else
PY_IN_VIM="py3"
fi
echo "Using python from: $PYTHON_CMD Version: $($PYTHON_CMD --version 2>&1)"
echo "Using vim from: $VIM. Version: $($VIMn)"
tmux new -d -s vim
$PYTHON_CMD ./test_all.py -v --plugins $INTERFACE --session vim --vim $VIM