diff options
author | Daniel Hahler <git@thequod.de> | 2019-08-28 22:47:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-28 22:47:54 +0200 |
commit | 6cc76194b2d67d6160a72f017a37b9d3a6b7dd3c (patch) | |
tree | 537bc9d4b64dce8854cc0327089b8e62ed5d17d0 | |
parent | 1d59575450e0a09d710a7cad2b8e1b5c5e0242f5 (diff) | |
download | rneovim-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.txt | 3 | ||||
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | ci/common/test.sh | 2 | ||||
-rw-r--r-- | src/nvim/testdir/runtest.vim | 3 | ||||
-rw-r--r-- | src/nvim/testdir/test_autocmd.vim | 2 | ||||
-rw-r--r-- | src/nvim/testdir/test_cmdline.vim | 1 | ||||
-rw-r--r-- | src/nvim/testdir/test_taglist.vim | 5 | ||||
-rw-r--r-- | test/functional/autocmd/bufenter_spec.lua | 2 | ||||
-rw-r--r-- | test/functional/autocmd/filetype_spec.lua | 1 | ||||
-rw-r--r-- | test/functional/ex_cmds/help_spec.lua | 1 | ||||
-rw-r--r-- | test/functional/helpers.lua | 5 | ||||
-rw-r--r-- | test/functional/provider/python3_spec.lua | 1 | ||||
-rw-r--r-- | test/functional/provider/ruby_spec.lua | 1 |
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() @@ -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? |