Sfoglia il codice sorgente

Set up Travis CI build for Neovim

Junegunn Choi 9 anni fa
parent
commit
3f7344d2cc
3 ha cambiato i file con 27 aggiunte e 13 eliminazioni
  1. 16 6
      .travis.yml
  2. 3 1
      plug.vim
  3. 8 6
      test/test.vader

+ 16 - 6
.travis.yml

@@ -1,12 +1,12 @@
 language: ruby
-sudo: false
+sudo: required
 env:
   global:
     - DEPS=$HOME/deps
     - PATH=$DEPS/bin:$PATH
 matrix:
   include:
-    - env: ENV=nox
+    - env: ENV=vim72
       rvm: 1.8.7
       addons: { apt: { packages: [vim-nox] } }
     - env: ENV=python
@@ -15,18 +15,28 @@ matrix:
     - env: ENV=python3
       rvm: 1.8.7
       addons: { apt: { packages: [python3-dev] } }
-    - env: ENV=ruby
+    - env: ENV=ruby18
       rvm: 1.8.7
-    - env: ENV=ruby
+    - env: ENV=ruby20
       rvm: 2.0.0
+    - env: ENV=neovim
 install: |
   git config --global user.email "you@example.com"
   git config --global user.name "Your Name"
 
-  if [ "$ENV" == "nox" ]; then
+  if [ "$ENV" == "vim72" ]; then
     mkdir -p ${DEPS}/bin
     ln -s /usr/bin/vim.nox ${DEPS}/bin/vim
     return
+  elif [ "$ENV" == "neovim" ]; then
+    # https://github.com/neovim/neovim/wiki/Installing-Neovim
+    sudo apt-get install -y software-properties-common
+    sudo add-apt-repository -y ppa:neovim-ppa/unstable
+    sudo apt-get update -y
+    sudo apt-get install -y neovim
+    mkdir -p ${DEPS}/bin
+    ln -s /usr/bin/nvim ${DEPS}/bin/vim
+    return
   fi
 
   C_OPTS="--prefix=$DEPS --with-features=huge --disable-gui "
@@ -37,7 +47,7 @@ install: |
     python3)
       C_OPTS+=--enable-python3interp
       ;;
-    ruby)
+    ruby*)
       C_OPTS+=--enable-rubyinterp
       ;;
   esac

+ 3 - 1
plug.vim

@@ -1537,7 +1537,9 @@ class Plugin(object):
     actual_uri = self.repo_uri()
     expect_uri = self.args['uri']
     regex = re.compile(r'^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$')
-    if regex.match(actual_uri).groups() != regex.match(expect_uri).groups():
+    ma = regex.match(actual_uri)
+    mb = regex.match(expect_uri)
+    if ma is None or mb is None or ma.groups() != mb.groups():
       msg = ['',
              'Invalid URI: {0}'.format(actual_uri),
              'Expected     {0}'.format(expect_uri),

+ 8 - 6
test/test.vader

@@ -70,14 +70,16 @@ Execute (Initialize test environment):
 Execute (Print Interpreter Version):
   redir => out
   if has('ruby')
-    silent ruby puts 'Ruby: ' + RUBY_VERSION
-  elseif has('python')
-    silent python import sys; svi = sys.version_info; print 'Python: {}.{}.{}'.format(svi[0], svi[1], svi[2])
-  elseif has('python3')
-    silent python3 import sys; svi = sys.version_info; print('Python: {}.{}.{}'.format(svi[0], svi[1], svi[2]))
+    silent! ruby puts 'Ruby: ' + RUBY_VERSION
+  endif
+  if has('python')
+    silent! python import sys; svi = sys.version_info; print 'Python: {}.{}.{}'.format(svi[0], svi[1], svi[2])
+  endif
+  if has('python3')
+    silent! python3 import sys; svi = sys.version_info; print('Python: {}.{}.{}'.format(svi[0], svi[1], svi[2]))
   endif
   redir END
-  Log substitute(out, '\n', '', 'g')
+  Log split(out, '\n')
 
 Include: workflow.vader
 Include: regressions.vader