--- /dev/null
+version: 2
+
+jobs:
+ test:
+ docker:
+ - image: blueyed/vim-python-pep8-indent-vims-for-test:1@sha256:8c77867e1fdf673a6df0ecf6628f8e4d80579a0a097ec196109ca0bc145d86c0
+ steps:
+ - checkout
+ - run:
+ name: Run tests
+ command: |
+ Xvfb :99 &
+ DISPLAY=:99 VIMRUNNER_REUSE_SERVER=1 rspec spec
+
+ checkqa:
+ docker:
+ - image: circleci/python:3.7
+ steps:
+ - checkout
+ - run:
+ name: Lint
+ command: |
+ pip install --user vim-vint
+ ~/.local/bin/vint **/*.vim
+
+workflows:
+ version: 2
+ test:
+ jobs:
+ - test
+ - checkqa
--- /dev/null
+*
+!Gemfile
+!indent
+!spec
+++ /dev/null
-language: ruby
-dist: trusty
-sudo: false
-cache: bundler
-addons:
- apt:
- packages:
- - vim-gtk
-branches:
- only:
- - master
-before_script:
- - vim --version
-script:
- - make test
- Run the tests with the command::
$ rspec spec
+- Alternatively you can use Docker::
+
+ $ make test_docker
+
+- You can select tests based on line numbers, e.g.::
+
+ $ rspec ./spec/indent/indent_spec.rb:385
+ $ make test_docker RSPEC_ARGS=./spec/indent/indent_spec.rb:385
Thank you for considering to contribute!
--- /dev/null
+FROM testbed/vim:latest
+
+RUN apk --no-cache add gtk+2.0-dev libx11-dev libxt-dev mcookie xauth xvfb
+RUN install_vim -tag master --with-features=normal \
+ --disable-channel --disable-netbeans --disable-xim \
+ --enable-gui=gtk2 --with-x -build
+RUN ln -s /vim-build/bin/vim-master /usr/bin/gvim
+RUN gvim --version
+
+WORKDIR /vim-python-pep8-indent
+
+ADD Gemfile .
+RUN apk --no-cache add coreutils ruby-bundler
+RUN bundle install
+
+ADD indent ./indent
+ADD spec ./spec
+
+ENTRYPOINT ["rspec", "spec"]
test_visible:
VIMRUNNER_REUSE_SERVER=1 bundle exec rspec
+
+# Run tests in dockerized Vims.
+DOCKER_REPO:=blueyed/vim-python-pep8-indent-vims-for-test
+DOCKER_TAG:=1
+DOCKER_IMAGE:=$(DOCKER_REPO):$(DOCKER_TAG)
+
+docker_image:
+ docker build -t $(DOCKER_REPO):$(DOCKER_TAG) .
+docker_push:
+ docker push $(DOCKER_REPO):$(DOCKER_TAG)
+docker_update_latest:
+ docker tag $(DOCKER_REPO):$(DOCKER_TAG) $(DOCKER_REPO):latest
+ docker push $(DOCKER_REPO):latest
+
+test_docker: XVFB_ERRORFILE:=/dev/null
+test_docker:
+ @set -x; export DISPLAY=$(if $(VIMRUNNER_TEST_DISPLAY),$(VIMRUNNER_TEST_DISPLAY),172.17.0.1:99; Xvfb -ac -listen tcp :99 >$(XVFB_ERRORFILE) 2>&1 & XVFB_PID=$$!); \
+ docker run --rm -ti -e DISPLAY -e VIMRUNNER_REUSE_SERVER=1 \
+ -v $(CURDIR):/vim-python-pep8-indent $(DOCKER_IMAGE) $(RSPEC_ARGS) \
+ $(if $(VIMRUNNER_TEST_DISPLAY),,; ret=$$?; kill $$XVFB_PID; exit $$ret)
--- /dev/null
+version: '2'
+services:
+ rspec:
+ build: .
+ volumes:
+ - .:/vim-python-pep8-indent