aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hahler <git@thequod.de>2019-08-28 22:47:54 +0200
committerGitHub <noreply@github.com>2019-08-28 22:47:54 +0200
commit6cc76194b2d67d6160a72f017a37b9d3a6b7dd3c (patch)
tree537bc9d4b64dce8854cc0327089b8e62ed5d17d0
parent1d59575450e0a09d710a7cad2b8e1b5c5e0242f5 (diff)
downloadrneovim-6cc76194b2d67d6160a72f017a37b9d3a6b7dd3c.tar.gz
rneovim-6cc76194b2d67d6160a72f017a37b9d3a6b7dd3c.tar.bz2
rneovim-6cc76194b2d67d6160a72f017a37b9d3a6b7dd3c.zip
tests: use runtime from build for doc/tags with :help (#10479)
This is better practice in general, and allows to remove the "helptags ALL" hacks. Ref: https://github.com/neovim/neovim/issues/8824 Ref: https://github.com/neovim/neovim/commit/f1b67c3453c * Makefile: fix dependencies with regard to helptags - use the file as the main target to avoid unnecessary triggering - use "make oldtest" on Travis to ensure it gets built
-rw-r--r--CMakeLists.txt3
-rw-r--r--Makefile6
-rw-r--r--ci/common/test.sh2
-rw-r--r--src/nvim/testdir/runtest.vim3
-rw-r--r--src/nvim/testdir/test_autocmd.vim2
-rw-r--r--src/nvim/testdir/test_cmdline.vim1
-rw-r--r--src/nvim/testdir/test_taglist.vim5
-rw-r--r--test/functional/autocmd/bufenter_spec.lua2
-rw-r--r--test/functional/autocmd/filetype_spec.lua1
-rw-r--r--test/functional/ex_cmds/help_spec.lua1
-rw-r--r--test/functional/helpers.lua5
-rw-r--r--test/functional/provider/python3_spec.lua1
-rw-r--r--test/functional/provider/ruby_spec.lua1
13 files changed, 23 insertions, 10 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1edaa63de6..29fef0e5d3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -541,6 +541,7 @@ add_subdirectory(test/includes)
add_subdirectory(config)
add_subdirectory(test/functional/fixtures) # compile test programs
add_subdirectory(runtime)
+get_directory_property(GENERATED_HELP_TAGS DIRECTORY runtime DEFINITION GENERATED_HELP_TAGS)
if(WIN32)
install_helper(
FILES ${DEPS_PREFIX}/share/nvim-qt/runtime/plugin/nvim_gui_shim.vim
@@ -562,7 +563,7 @@ if(BUSTED_PRG)
endif()
set(UNITTEST_PREREQS nvim-test unittest-headers)
- set(FUNCTIONALTEST_PREREQS nvim printargs-test shell-test)
+ set(FUNCTIONALTEST_PREREQS nvim printargs-test shell-test ${GENERATED_HELP_TAGS})
if(NOT WIN32)
list(APPEND FUNCTIONALTEST_PREREQS tty-test)
endif()
diff --git a/Makefile b/Makefile
index fff0ffef28..264ae8a470 100644
--- a/Makefile
+++ b/Makefile
@@ -114,7 +114,7 @@ build/.ran-third-party-cmake::
touch $@
# TODO: cmake 3.2+ add_custom_target() has a USES_TERMINAL flag.
-oldtest: | nvim helptags
+oldtest: | nvim build/runtime/doc/tags
+$(SINGLE_MAKE) -C src/nvim/testdir clean
ifeq ($(strip $(TEST_FILE)),)
+$(SINGLE_MAKE) -C src/nvim/testdir NVIM_PRG="$(realpath build/bin/nvim)" $(MAKEOVERRIDES)
@@ -122,11 +122,11 @@ else
+$(SINGLE_MAKE) -C src/nvim/testdir NVIM_PRG="$(realpath build/bin/nvim)" NEW_TESTS=$(TEST_FILE) SCRIPTS= $(MAKEOVERRIDES)
endif
-helptags: | nvim
+build/runtime/doc/tags helptags: | nvim
+$(BUILD_CMD) -C build runtime/doc/tags
# Builds help HTML _and_ checks for invalid help tags.
-helphtml: | nvim helptags
+helphtml: | nvim build/runtime/doc/tags
+$(BUILD_CMD) -C build doc_html
functionaltest: | nvim
diff --git a/ci/common/test.sh b/ci/common/test.sh
index 0233d62c96..b2fbeaf2da 100644
--- a/ci/common/test.sh
+++ b/ci/common/test.sh
@@ -113,7 +113,7 @@ run_functionaltests() {(
run_oldtests() {(
enter_suite oldtests
ulimit -c unlimited || true
- if ! make -C "${TRAVIS_BUILD_DIR}/src/nvim/testdir"; then
+ if ! make oldtest; then
reset
fail 'oldtests' F 'Legacy tests failed'
fi
diff --git a/src/nvim/testdir/runtest.vim b/src/nvim/testdir/runtest.vim
index fa25740994..593ce6fcdc 100644
--- a/src/nvim/testdir/runtest.vim
+++ b/src/nvim/testdir/runtest.vim
@@ -74,6 +74,9 @@ set nomore
" Output all messages in English.
lang mess C
+" Nvim: append runtime from build dir, which contains the generated doc/tags.
+let &runtimepath .= ','.expand($BUILD_DIR).'/runtime/'
+
" Always use forward slashes.
set shellslash
diff --git a/src/nvim/testdir/test_autocmd.vim b/src/nvim/testdir/test_autocmd.vim
index 4c9df0cb16..16bacf4591 100644
--- a/src/nvim/testdir/test_autocmd.vim
+++ b/src/nvim/testdir/test_autocmd.vim
@@ -300,7 +300,6 @@ func Test_augroup_warning()
endfunc
func Test_BufReadCmdHelp()
- helptags ALL
" This used to cause access to free memory
au BufReadCmd * e +h
help
@@ -382,7 +381,6 @@ func Test_three_windows()
only
- helptags ALL
help
wincmd w
1quit
diff --git a/src/nvim/testdir/test_cmdline.vim b/src/nvim/testdir/test_cmdline.vim
index b8b018d5f7..f43ea0e923 100644
--- a/src/nvim/testdir/test_cmdline.vim
+++ b/src/nvim/testdir/test_cmdline.vim
@@ -242,7 +242,6 @@ func Test_getcompletion()
let l = getcompletion('break', 'compiler')
call assert_equal([], l)
- helptags ALL
let l = getcompletion('last', 'help')
call assert_true(index(l, ':tablast') >= 0)
let l = getcompletion('giveup', 'help')
diff --git a/src/nvim/testdir/test_taglist.vim b/src/nvim/testdir/test_taglist.vim
index eb64e59509..a0dc8ca524 100644
--- a/src/nvim/testdir/test_taglist.vim
+++ b/src/nvim/testdir/test_taglist.vim
@@ -89,8 +89,11 @@ func Test_tagfiles()
help
let tf = tagfiles()
+ " Nvim: expectation(s) based on tags in build dir (added to &rtp).
+ " Filter out the (non-existing) '../../../runtime/doc/tags'.
+ call filter(tf, 'filereadable(v:val)')
call assert_equal(1, len(tf))
- call assert_equal(fnamemodify(expand('$VIMRUNTIME/doc/tags'), ':p:gs?\\?/?'),
+ call assert_equal(fnamemodify(expand('$BUILD_DIR/runtime/doc/tags'), ':p:gs?\\?/?'),
\ fnamemodify(tf[0], ':p:gs?\\?/?'))
helpclose
call assert_equal(['Xtags1', 'Xtags2'], tagfiles())
diff --git a/test/functional/autocmd/bufenter_spec.lua b/test/functional/autocmd/bufenter_spec.lua
index e14ddb3316..47f4adb0d6 100644
--- a/test/functional/autocmd/bufenter_spec.lua
+++ b/test/functional/autocmd/bufenter_spec.lua
@@ -33,9 +33,9 @@ describe('autocmd BufEnter', function()
end)
it('triggered by ":split normal|:help|:bw"', function()
+ helpers.add_builddir_to_rtp()
command("split normal")
command("wincmd j")
- command("helptags runtime/doc")
command("help")
command("wincmd L")
command("autocmd BufEnter normal let g:bufentered = 1")
diff --git a/test/functional/autocmd/filetype_spec.lua b/test/functional/autocmd/filetype_spec.lua
index e6fa7ab6bb..a571f6ee3b 100644
--- a/test/functional/autocmd/filetype_spec.lua
+++ b/test/functional/autocmd/filetype_spec.lua
@@ -8,6 +8,7 @@ describe('autocmd FileType', function()
before_each(clear)
it("is triggered by :help only once", function()
+ helpers.add_builddir_to_rtp()
command("let g:foo = 0")
command("autocmd FileType help let g:foo = g:foo + 1")
command("help help")
diff --git a/test/functional/ex_cmds/help_spec.lua b/test/functional/ex_cmds/help_spec.lua
index 66d7d7d89f..0ec7249218 100644
--- a/test/functional/ex_cmds/help_spec.lua
+++ b/test/functional/ex_cmds/help_spec.lua
@@ -9,6 +9,7 @@ describe(':help', function()
before_each(clear)
it('window closed makes cursor return to a valid win/buf #9773', function()
+ helpers.add_builddir_to_rtp()
command('help help')
eq(1001, funcs.win_getid())
command('quit')
diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua
index d040ff5f8c..2f76f24d84 100644
--- a/test/functional/helpers.lua
+++ b/test/functional/helpers.lua
@@ -800,6 +800,11 @@ function module.parse_context(ctx)
end, parsed)
end
+function module.add_builddir_to_rtp()
+ -- Add runtime from build dir for doc/tags (used with :help).
+ module.command(string.format([[set rtp+=%s/runtime]], module.test_build_dir))
+end
+
module = global_helpers.tbl_extend('error', module, global_helpers)
return function(after_each)
diff --git a/test/functional/provider/python3_spec.lua b/test/functional/provider/python3_spec.lua
index a3c6c57a73..f4b1b0e4dc 100644
--- a/test/functional/provider/python3_spec.lua
+++ b/test/functional/provider/python3_spec.lua
@@ -97,6 +97,7 @@ describe('python3 provider', function()
end)
it('RPC call to expand("<afile>") during BufDelete #5245 #5617', function()
+ helpers.add_builddir_to_rtp()
source([=[
python3 << EOF
import vim
diff --git a/test/functional/provider/ruby_spec.lua b/test/functional/provider/ruby_spec.lua
index 62ac91a929..72802db3c9 100644
--- a/test/functional/provider/ruby_spec.lua
+++ b/test/functional/provider/ruby_spec.lua
@@ -101,6 +101,7 @@ end)
describe('ruby provider', function()
it('RPC call to expand("<afile>") during BufDelete #5245 #5617', function()
+ helpers.add_builddir_to_rtp()
command([=[autocmd BufDelete * ruby VIM::evaluate('expand("<afile>")')]=])
feed_command('help help')
eq(2, eval('1+1')) -- Still alive?