diff --git a/.travis.yml b/.travis.yml index 22aaa8cae..9a7715b1a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,6 +34,7 @@ install: elif [ "${LINT#vint}" != "$LINT" ]; then virtualenv /tmp/vint && source /tmp/vint/bin/activate && pip install vim-vint elif [ "${LINT#vader}" != "$LINT" ]; then + git clone --depth=1 https://github.com/Shougo/dein.vim.git ~/.cache/vimfiles/repos/github.com/Shougo/dein.vim C_OPTS="--prefix=$DEPS --with-features=huge --disable-gui --enable-pythoninterp" (git clone --depth 1 https://github.com/vim/vim /tmp/vim && cd /tmp/vim && @@ -44,12 +45,12 @@ script: - | set -ex if [ "$LINT" = "vimlint" ]; then - for file in $(find . -name "*.vim"); + for file in $(git diff --name-only HEAD dev | grep .vim$); do sh /tmp/vimlint/bin/vimlint.sh -l /tmp/vimlint -p /tmp/vimlparser $file; done elif [ "$LINT" = "vimlint-errors" ]; then - for file in $(find . -name "*.vim"); + for file in $(git diff --name-only HEAD dev | grep .vim$); do sh /tmp/vimlint/bin/vimlint.sh -E -l /tmp/vimlint -p /tmp/vimlparser $file; done @@ -58,5 +59,9 @@ script: elif [ "$LINT" = "vint-errors" ]; then vint --error . elif [ "$LINT" = "vader" ]; then - make test + pip install --no-cache-dir https://github.com/Vimjas/covimerage/archive/develop.zip + make test_coverage + covimerage -vv xml --omit 'build/*' + pip install codecov + codecov -X search gcov pycov -f coverage.xml fi diff --git a/Makefile b/Makefile index 30e38f308..4e0e2f81b 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,16 @@ test: build/vader | build vim -Nu test/vimrc -c 'Vader! test/**' +COVIMERAGE=$(shell command -v ccovimerage 2>/dev/null || echo build/covimerage/bin/covimerage) + +test_coverage: $(COVIMERAGE) build/vader | build + $(COVIMERAGE) run vim -Nu test/vimrc -c 'Vader! test/**' + +build/covimerage: + virtualenv $@ +build/covimerage/bin/covimerage: | build/covimerage + . build/covimerage/bin/activate && pip install covimerage + build/vader: git clone --depth 1 https://github.com/junegunn/vader.vim.git $@ diff --git a/README.md b/README.md index 5c1a3e382..f1e5c10ea 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,8 @@ [中文文档](http://spacevim.org/README_zh_cn/) [![Build Status](https://travis-ci.org/SpaceVim/SpaceVim.svg?branch=dev)](https://travis-ci.org/SpaceVim/SpaceVim) -[![codecov](https://codecov.io/gh/SpaceVim/SpaceVim/branch/master/graph/badge.svg)](https://codecov.io/gh/SpaceVim/SpaceVim) +[![Build status](https://ci.appveyor.com/api/projects/status/eh3t5oph70abp665/branch/dev?svg=true)](https://ci.appveyor.com/project/wsdjeg/spacevim/branch/dev) +[![codecov](https://codecov.io/gh/SpaceVim/SpaceVim/branch/dev/graph/badge.svg)](https://codecov.io/gh/SpaceVim/SpaceVim/branch/dev) ![Version](https://img.shields.io/badge/version-0.5.0--dev-FF00CC.svg) [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Doc](https://img.shields.io/badge/doc-%3Ah%20SpaceVim-orange.svg)](doc/SpaceVim.txt) @@ -43,6 +44,18 @@ for more info about the install script, please check: curl -sLf https://spacevim.org/install.sh | bash -s -- -h ``` +### Project layout + +``` +├─ autoload/SpaceVim/api/ SpaceVim APIs +├─ autoload/SpaceVim/layers/ SpaceVim layers +├─ autoload/SpaceVim/plugins/ SpaceVim plugins +├─ autoload/SpaceVim/mapping/ SpaceVim mapping guide +├─ doc/SpaceVim.txt SpaceVim help +├─ docs/ website of SpaceVim +└─ test/ tests +``` + ### Features - **Great documentation:** access documentation in Vim with :h SpaceVim. diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 000000000..81e4fb215 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,9 @@ +version: 1.0.{build} +pull_requests: + do_not_increment_build_number: true +skip_tags: true +clone_depth: 1 +test_script: +- ps: make test +build: off +deploy: off diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 000000000..d05a32202 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,9 @@ +coverage: + range: 50..70 + round: down + precision: 2 +comment: + layout: "header, diff, changes, uncovered" + behavior: default # update if exists else create new +codecov: + branch: dev diff --git a/config/main.vim b/config/main.vim index 947589258..ad14c4f6c 100644 --- a/config/main.vim +++ b/config/main.vim @@ -64,5 +64,4 @@ endif call zvim#util#source_rc('commands.vim') filetype plugin indent on syntax on - " vim:set et sw=2 cc=80: diff --git a/test/init.vader b/test/init.vader new file mode 100644 index 000000000..e189b2340 --- /dev/null +++ b/test/init.vader @@ -0,0 +1,3 @@ +Execute ( SpaceVim api: vim#buffer open ): + source init.vim + AssertEqual fnamemodify(g:Config_Main_Home, ':.'), 'config' diff --git a/test/test.vader b/test/test.vader deleted file mode 100644 index 740bcfa67..000000000 --- a/test/test.vader +++ /dev/null @@ -1,21 +0,0 @@ -Execute (Clear search history): - for _ in range(&history) - call histdel('/', -1) - endfor - -Given (Search and destroy): - I'm a street walking cheetah with a heart full of napalm - I'm a runaway son of the nuclear A-bomb - I'm a world's forgotten boy - The one who searches and destroys - -Do (Searches): - /street\ - /walking\ - /cheetah\ - /runaway\ - /search\ - -Execute (Assertions): - Log string(map(range(1, &history), 'histget("/", - v:val)')) - AssertEqual 'search', histget('/', -1)