annotate .travis.yml @ 20538:9f921ba86d05 v8.2.0823

patch 8.2.0823: Vim9: script reload test is disabled Commit: https://github.com/vim/vim/commit/25e0f5863e9010a75a1ff0d04e8f886403968755 Author: Bram Moolenaar <Bram@vim.org> Date: Mon May 25 22:36:50 2020 +0200 patch 8.2.0823: Vim9: script reload test is disabled Problem: Vim9: script reload test is disabled. Solution: Compile a function in the context of the script where it was defined. Set execution stack for compiled function. Add a test that an error is reported for the right file/function.
author Bram Moolenaar <Bram@vim.org>
date Mon, 25 May 2020 22:45:03 +0200
parents 4c0c86098fcc
children 6564dafe5005
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7121
a497a9868255 commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 language: c
a497a9868255 commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
19655
7e75be5a3b74 patch 8.2.0384: Travis CI has warnings
Bram Moolenaar <Bram@vim.org>
parents: 19641
diff changeset
3 _anchors:
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
4 envs:
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
5 - &tiny-nogui
19971
a042d2a3b13d patch 8.2.0541: Travis CI does not give compiler warnings
Bram Moolenaar <Bram@vim.org>
parents: 19882
diff changeset
6 BUILD=yes TEST=test FEATURES=tiny CONFOPT="--disable-gui" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
7 - &tiny
19722
c94c103e7cb4 patch 8.2.0417: Travis CI config can be improved
Bram Moolenaar <Bram@vim.org>
parents: 19669
diff changeset
8 BUILD=yes TEST=test FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
9 - &small
19722
c94c103e7cb4 patch 8.2.0417: Travis CI config can be improved
Bram Moolenaar <Bram@vim.org>
parents: 19669
diff changeset
10 BUILD=yes TEST=test FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
11 - &normal
19722
c94c103e7cb4 patch 8.2.0417: Travis CI config can be improved
Bram Moolenaar <Bram@vim.org>
parents: 19669
diff changeset
12 BUILD=yes TEST=test FEATURES=normal CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
13 - &linux-huge
20367
4c0c86098fcc patch 8.2.0739: incomplete profiling when exiting because of a dealy signal
Bram Moolenaar <Bram@vim.org>
parents: 20003
diff changeset
14 BUILD=yes TEST="scripttests test_libvterm" CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
19971
a042d2a3b13d patch 8.2.0541: Travis CI does not give compiler warnings
Bram Moolenaar <Bram@vim.org>
parents: 19882
diff changeset
15 CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
16 - &osx-huge # macOS build
19722
c94c103e7cb4 patch 8.2.0417: Travis CI config can be improved
Bram Moolenaar <Bram@vim.org>
parents: 19669
diff changeset
17 BUILD=yes TEST=test FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
19971
a042d2a3b13d patch 8.2.0541: Travis CI does not give compiler warnings
Bram Moolenaar <Bram@vim.org>
parents: 19882
diff changeset
18 CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
19 - &unittests
20367
4c0c86098fcc patch 8.2.0739: incomplete profiling when exiting because of a dealy signal
Bram Moolenaar <Bram@vim.org>
parents: 20003
diff changeset
20 BUILD=no TEST=unittests CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
21 - &asan # ASAN build
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
22 SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
23 ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
19161
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
24 - &shadowopt
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
25 SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow
7121
a497a9868255 commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
27 linux: &linux
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
28 os: linux
19850
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
29 dist: bionic
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
30 addons:
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
31 apt:
19850
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
32 packages:
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
33 - autoconf
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
34 - clang
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
35 - lcov
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
36 - gettext
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
37 - libcanberra-dev
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
38 - libperl-dev
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
39 - python-dev
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
40 - python3-dev
19850
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
41 - liblua5.3-dev
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
42 - lua5.3
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
43 - ruby-dev
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
44 - tcl-dev
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
45 - cscope
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
46 - libgtk2.0-dev
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
47 - desktop-file-utils
19850
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
48 - libtool-bin
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
49 services:
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
50 - xvfb
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
51 before_install:
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
52 - rvm reset
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
53 # Use llvm-cov instead of gcov when compiler is clang.
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
54 - |
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
55 if [[ "${CC}" = "clang" ]]; then
19850
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
56 ln -sf "$(command -v llvm-cov)" /home/travis/bin/gcov
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
57 fi
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
58 # Setup lua5.3 manually since its package doesn't provide alternative.
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
59 # https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
60 - |
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
61 if [[ "${CONFOPT}" =~ luainterp ]]; then
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
62 sudo update-alternatives --install /usr/bin/lua lua /usr/bin/lua5.3 10
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
63 fi
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
64 before_script:
20003
e373843e2980 patch 8.2.0557: no IPv6 support for channels
Bram Moolenaar <Bram@vim.org>
parents: 19971
diff changeset
65 - sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
19722
c94c103e7cb4 patch 8.2.0417: Travis CI config can be improved
Bram Moolenaar <Bram@vim.org>
parents: 19669
diff changeset
66 - sudo bash ci/load-snd-dummy.sh || true
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
67 - sudo usermod -a -G audio $USER
17290
5d09e015a367 patch 8.1.1644: sound test does not work on Travis
Bram Moolenaar <Bram@vim.org>
parents: 17239
diff changeset
68 - do_test() { sg audio "sg $(id -gn) '$*'"; }
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
69
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
70 osx: &osx
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
71 os: osx
19655
7e75be5a3b74 patch 8.2.0384: Travis CI has warnings
Bram Moolenaar <Bram@vim.org>
parents: 19641
diff changeset
72 before_script:
7e75be5a3b74 patch 8.2.0384: Travis CI has warnings
Bram Moolenaar <Bram@vim.org>
parents: 19641
diff changeset
73 - do_test() { "$@"; }
7e75be5a3b74 patch 8.2.0384: Travis CI has warnings
Bram Moolenaar <Bram@vim.org>
parents: 19641
diff changeset
74
7e75be5a3b74 patch 8.2.0384: Travis CI has warnings
Bram Moolenaar <Bram@vim.org>
parents: 19641
diff changeset
75 homebrew: &osx-homebrew
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
76 addons:
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
77 homebrew:
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
78 packages:
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
79 - lua
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
80 update: true
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
81 cache:
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
82 directories:
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
83 - /usr/local/Homebrew/Library/Homebrew/vendor/
19655
7e75be5a3b74 patch 8.2.0384: Travis CI has warnings
Bram Moolenaar <Bram@vim.org>
parents: 19641
diff changeset
84 - /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
85 before_install:
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
86 - rvm reset
19850
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
87 # Lua is not installed on macOS
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
88 - export LUA_PREFIX=/usr/local
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
89
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
90 coverage: &coverage
19722
c94c103e7cb4 patch 8.2.0417: Travis CI config can be improved
Bram Moolenaar <Bram@vim.org>
parents: 19669
diff changeset
91 # needed for https support for coveralls building cffi only works with gcc,
c94c103e7cb4 patch 8.2.0417: Travis CI config can be improved
Bram Moolenaar <Bram@vim.org>
parents: 19669
diff changeset
92 # not with clang
c94c103e7cb4 patch 8.2.0417: Travis CI config can be improved
Bram Moolenaar <Bram@vim.org>
parents: 19669
diff changeset
93 - CC=gcc pip install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
17853
c90ca5b9fc0d patch 8.1.1923: some source files are not in a normal encoding
Bram Moolenaar <Bram@vim.org>
parents: 17665
diff changeset
94 - ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
95 - (cd "${SRCDIR}" && bash <(curl -s https://codecov.io/bash))
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
96
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
97 asan_symbolize: &asan_symbolize
19850
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
98 # Update pyenv to fix the error "/opt/pyenv/libexec/pyenv: line 43: cd: asan_symbolize-6.0: Not a directory".
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
99 # https://github.com/pyenv/pyenv/issues/580
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
100 - (cd "${PYENV_ROOT}" && git fetch -p origin && git checkout "$(git rev-list --tags -n1)") &>/dev/null || true
19882
b5f0b8ee1ec5 patch 8.2.0497: too verbose output from the asan build in Travis
Bram Moolenaar <Bram@vim.org>
parents: 19850
diff changeset
101 - find . -type f -name 'asan.*' -size +0 2>/dev/null | xargs grep -l '^==[[:digit:]]*==ERROR:' | xargs -I{} -n1 -t asan_symbolize -l{}
7121
a497a9868255 commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
102
7145
7669c1269190 commit https://github.com/vim/vim/commit/c1d20998d71f3fa0aebeeee42007a337cd7e3d8a
Christian Brabandt <cb@256bit.org>
parents: 7121
diff changeset
103 branches:
7669c1269190 commit https://github.com/vim/vim/commit/c1d20998d71f3fa0aebeeee42007a337cd7e3d8a
Christian Brabandt <cb@256bit.org>
parents: 7121
diff changeset
104 except:
7669c1269190 commit https://github.com/vim/vim/commit/c1d20998d71f3fa0aebeeee42007a337cd7e3d8a
Christian Brabandt <cb@256bit.org>
parents: 7121
diff changeset
105 - /^v[0-9]/
7669c1269190 commit https://github.com/vim/vim/commit/c1d20998d71f3fa0aebeeee42007a337cd7e3d8a
Christian Brabandt <cb@256bit.org>
parents: 7121
diff changeset
106
7121
a497a9868255 commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
107 script:
a497a9868255 commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
108 - NPROC=$(getconf _NPROCESSORS_ONLN)
16629
a1ca6778da49 patch 8.1.1317: output from Travis can be improved
Bram Moolenaar <Bram@vim.org>
parents: 16328
diff changeset
109 - set -o errexit
a1ca6778da49 patch 8.1.1317: output from Travis can be improved
Bram Moolenaar <Bram@vim.org>
parents: 16328
diff changeset
110 - echo -e "\\033[33;1mConfiguring Vim\\033[0m" && echo -en "travis_fold:start:configure\\r\\033[0K"
15723
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
111 - |
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
112 if [[ "${CHECK_AUTOCONF}" = "yes" ]] && [[ "${CC}" = "gcc" ]]; then
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
113 make -C src autoconf
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
114 fi
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
115 - |
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
116 if [[ -n "${SHADOWOPT}" ]]; then
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
117 make -C src shadow
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
118 fi
16629
a1ca6778da49 patch 8.1.1317: output from Travis can be improved
Bram Moolenaar <Bram@vim.org>
parents: 16328
diff changeset
119 # "./configure" changes its working directory into "$SRCDIR".
a1ca6778da49 patch 8.1.1317: output from Travis can be improved
Bram Moolenaar <Bram@vim.org>
parents: 16328
diff changeset
120 - ./configure --with-features=${FEATURES} ${CONFOPT} --enable-fail-if-missing
a1ca6778da49 patch 8.1.1317: output from Travis can be improved
Bram Moolenaar <Bram@vim.org>
parents: 16328
diff changeset
121 - echo -en "travis_fold:end:configure\\r\\033[0K"
a1ca6778da49 patch 8.1.1317: output from Travis can be improved
Bram Moolenaar <Bram@vim.org>
parents: 16328
diff changeset
122 - echo -e "\\033[33;1mBuilding Vim\\033[0m" && echo -en "travis_fold:start:build\\r\\033[0K"
15723
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
123 - |
16629
a1ca6778da49 patch 8.1.1317: output from Travis can be improved
Bram Moolenaar <Bram@vim.org>
parents: 16328
diff changeset
124 if [[ "${BUILD}" = "yes" ]]; then
19971
a042d2a3b13d patch 8.2.0541: Travis CI does not give compiler warnings
Bram Moolenaar <Bram@vim.org>
parents: 19882
diff changeset
125 # Append various warning flags to CFLAGS.
a042d2a3b13d patch 8.2.0541: Travis CI does not give compiler warnings
Bram Moolenaar <Bram@vim.org>
parents: 19882
diff changeset
126 # BSD sed needs backup extension specified.
a042d2a3b13d patch 8.2.0541: Travis CI does not give compiler warnings
Bram Moolenaar <Bram@vim.org>
parents: 19882
diff changeset
127 sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
a042d2a3b13d patch 8.2.0541: Travis CI does not give compiler warnings
Bram Moolenaar <Bram@vim.org>
parents: 19882
diff changeset
128 sed -i.bak -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
15723
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
129 make ${SHADOWOPT} -j${NPROC}
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
130 fi
16629
a1ca6778da49 patch 8.1.1317: output from Travis can be improved
Bram Moolenaar <Bram@vim.org>
parents: 16328
diff changeset
131 - echo -en "travis_fold:end:build\\r\\033[0K"
a1ca6778da49 patch 8.1.1317: output from Travis can be improved
Bram Moolenaar <Bram@vim.org>
parents: 16328
diff changeset
132 - set +o errexit
15723
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
133 # Show Vim version and also if_xx versions.
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
134 - |
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
135 if [[ "${BUILD}" = "yes" ]]; then
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
136 "${SRCDIR}"/vim --version
19722
c94c103e7cb4 patch 8.2.0417: Travis CI config can be improved
Bram Moolenaar <Bram@vim.org>
parents: 19669
diff changeset
137 "${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
c94c103e7cb4 patch 8.2.0417: Travis CI config can be improved
Bram Moolenaar <Bram@vim.org>
parents: 19669
diff changeset
138 "${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
15723
bec05be6858a patch 8.1.0869: Travis CI script is too complicated
Bram Moolenaar <Bram@vim.org>
parents: 15667
diff changeset
139 fi
19161
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
140 - echo -e "\\033[33;1mTesting Vim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
141 - do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
17960
3504cf2c80a8 patch 8.1.1976: Travis log always shows test output
Bram Moolenaar <Bram@vim.org>
parents: 17853
diff changeset
142 - echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
17340
ce962e2644bf patch 8.1.1669: Travis: test results section is closed even when failed
Bram Moolenaar <Bram@vim.org>
parents: 17290
diff changeset
143
7121
a497a9868255 commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
144
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
145 # instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
146 # exclude some builds on mac os x and linux
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
147 # on mac os x "tiny" is always without GUI
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
148 # linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
19655
7e75be5a3b74 patch 8.2.0384: Travis CI has warnings
Bram Moolenaar <Bram@vim.org>
parents: 19641
diff changeset
149 jobs:
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
150 include:
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
151 - <<: *osx
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
152 name: tiny-nogui/clang
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
153 compiler: clang
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
154 env: *tiny-nogui
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
155 - <<: *osx
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
156 name: tiny-nogui/gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
157 compiler: gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
158 env: *tiny-nogui
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
159 - <<: *osx
19655
7e75be5a3b74 patch 8.2.0384: Travis CI has warnings
Bram Moolenaar <Bram@vim.org>
parents: 19641
diff changeset
160 <<: *osx-homebrew
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
161 name: huge/clang
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
162 compiler: clang
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
163 env: *osx-huge
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
164 - <<: *osx
19655
7e75be5a3b74 patch 8.2.0384: Travis CI has warnings
Bram Moolenaar <Bram@vim.org>
parents: 19641
diff changeset
165 <<: *osx-homebrew
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
166 name: huge/gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
167 compiler: gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
168 env: *osx-huge
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
169 - <<: *linux
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
170 name: tiny-nogui/clang
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
171 compiler: clang
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
172 env: *tiny-nogui
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
173 - <<: *linux
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
174 name: tiny-nogui/gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
175 compiler: gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
176 env: *tiny-nogui
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
177 - <<: *linux
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
178 name: tiny/clang
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
179 compiler: clang
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
180 env: *tiny
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
181 - <<: *linux
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
182 name: tiny/gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
183 compiler: gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
184 env: *tiny
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
185 - <<: *linux
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
186 name: small/gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
187 compiler: gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
188 env: *small
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
189 - <<: *linux
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
190 name: normal/clang
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
191 compiler: clang
19161
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
192 env:
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
193 - *normal
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
194 - *shadowopt
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
195 - <<: *linux
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
196 name: normal/gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
197 compiler: gcc
19161
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
198 env:
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
199 - *normal
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
200 - *shadowopt
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
201 - <<: *linux
19641
73b2c928a8aa patch 8.2.0377: no CI test for a big-endian system
Bram Moolenaar <Bram@vim.org>
parents: 19189
diff changeset
202 arch: s390x
73b2c928a8aa patch 8.2.0377: no CI test for a big-endian system
Bram Moolenaar <Bram@vim.org>
parents: 19189
diff changeset
203 name: huge/gcc-s390x
73b2c928a8aa patch 8.2.0377: no CI test for a big-endian system
Bram Moolenaar <Bram@vim.org>
parents: 19189
diff changeset
204 compiler: gcc
19722
c94c103e7cb4 patch 8.2.0417: Travis CI config can be improved
Bram Moolenaar <Bram@vim.org>
parents: 19669
diff changeset
205 env: *linux-huge
19850
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
206 services: []
19641
73b2c928a8aa patch 8.2.0377: no CI test for a big-endian system
Bram Moolenaar <Bram@vim.org>
parents: 19189
diff changeset
207 - <<: *linux
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
208 name: huge+coverage/clang
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
209 compiler: clang
19850
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
210 env:
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
211 - *linux-huge
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
212 # Clang cannot compile test_libvterm with "--coverage" flag.
b6e641dc1de0 patch 8.2.0481: Travis is still using trusty
Bram Moolenaar <Bram@vim.org>
parents: 19722
diff changeset
213 - TEST=scripttests
17061
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
214 after_success: *coverage
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
215 - <<: *linux
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
216 name: huge+coverage/gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
217 compiler: gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
218 env: *linux-huge
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
219 after_success: *coverage
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
220 - <<: *linux # ASAN
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
221 name: huge+asan/gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
222 compiler: gcc
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
223 env:
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
224 - *linux-huge
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
225 - *asan
051a2f640a6e patch 8.1.1530: Travis config is not optimal
Bram Moolenaar <Bram@vim.org>
parents: 17014
diff changeset
226 after_failure: *asan_symbolize
17239
fceb0977275a patch 8.1.1619: tests are not run with GUI on Travis
Bram Moolenaar <Bram@vim.org>
parents: 17061
diff changeset
227 - <<: *linux
fceb0977275a patch 8.1.1619: tests are not run with GUI on Travis
Bram Moolenaar <Bram@vim.org>
parents: 17061
diff changeset
228 name: huge-testgui+coverage/gcc
fceb0977275a patch 8.1.1619: tests are not run with GUI on Travis
Bram Moolenaar <Bram@vim.org>
parents: 17061
diff changeset
229 compiler: gcc
fceb0977275a patch 8.1.1619: tests are not run with GUI on Travis
Bram Moolenaar <Bram@vim.org>
parents: 17061
diff changeset
230 env:
fceb0977275a patch 8.1.1619: tests are not run with GUI on Travis
Bram Moolenaar <Bram@vim.org>
parents: 17061
diff changeset
231 - *linux-huge
fceb0977275a patch 8.1.1619: tests are not run with GUI on Travis
Bram Moolenaar <Bram@vim.org>
parents: 17061
diff changeset
232 - TEST="-C src testgui"
fceb0977275a patch 8.1.1619: tests are not run with GUI on Travis
Bram Moolenaar <Bram@vim.org>
parents: 17061
diff changeset
233 after_success: *coverage
19161
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
234 - <<: *linux
19971
a042d2a3b13d patch 8.2.0541: Travis CI does not give compiler warnings
Bram Moolenaar <Bram@vim.org>
parents: 19882
diff changeset
235 name: unittests+coverage/gcc
a042d2a3b13d patch 8.2.0541: Travis CI does not give compiler warnings
Bram Moolenaar <Bram@vim.org>
parents: 19882
diff changeset
236 compiler: gcc
a042d2a3b13d patch 8.2.0541: Travis CI does not give compiler warnings
Bram Moolenaar <Bram@vim.org>
parents: 19882
diff changeset
237 env: *unittests
a042d2a3b13d patch 8.2.0541: Travis CI does not give compiler warnings
Bram Moolenaar <Bram@vim.org>
parents: 19882
diff changeset
238 after_success: *coverage
a042d2a3b13d patch 8.2.0541: Travis CI does not give compiler warnings
Bram Moolenaar <Bram@vim.org>
parents: 19882
diff changeset
239 - <<: *linux
19161
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
240 name: vimtags/gcc
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
241 compiler: gcc
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
242 env:
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
243 - *normal
27ff44268da5 patch 8.2.0140: CI does not test building doc tags
Bram Moolenaar <Bram@vim.org>
parents: 18487
diff changeset
244 - TEST="-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
7121
a497a9868255 commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
245
a497a9868255 commit https://github.com/vim/vim/commit/0600f3511c6018cbcdb170a904bcf6533a06bf2d
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
246 # vim:set sts=2 sw=2 tw=0 et: