patch 9.1.1525: tests: testdir/ is a bit messy
Problem: tests: testdir is a bit messy
Solution: move test scripts into testdir/util/ directory
src/testdir/ has become a dumping ground mixing test cases with utility
functions. Let's fix this by moving all utility functions into the
testdir/util/ directory
Also a few related changes had to be done:
- Update Filelist
- update README.txt and mention the new directory layout
- fix shadowbuild by linking the util directory into the shadow dir
closes: #17677
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/Makefile b/src/Makefile
index 3f30575..0cf9f88 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -3022,6 +3022,7 @@
../../testdir/ru_RU \
../../testdir/sautest \
../../testdir/samples \
+ ../../testdir/util \
../../testdir/dumps \
../../testdir/*.ok \
../../testdir/testluaplugin \
diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak
index 843ea1e..6ffc12d 100644
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -21,7 +21,7 @@
.in.out:
copy $*.ok test.ok
- $(VIMPROG) -u amiga.vim -U NONE --noplugin --not-a-term -s dotest.in $*.in
+ $(VIMPROG) -u util/amiga.vim -U NONE --noplugin --not-a-term -s dotest.in $*.in
diff test.out $*.ok
rename test.out $*.out
-delete X#? ALL QUIET
diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak
index 2ffe402..b11d2ea 100644
--- a/src/testdir/Make_ming.mak
+++ b/src/testdir/Make_ming.mak
@@ -46,7 +46,7 @@
@rem without the +eval feature test_result.log is a copy of test.log
@if exist test.log ( copy /y test.log test_result.log > nul ) \
else ( echo No failures reported > test_result.log )
- $(VIMPROG) -u NONE $(COMMON_ARGS) -S summarize.vim messages
+ $(VIMPROG) -u NONE $(COMMON_ARGS) -S util\summarize.vim messages
-if exist starttime del starttime
@echo.
@echo Test results:
@@ -105,7 +105,7 @@
$(DOSTMP)/%.in : %.in
if not exist $(DOSTMP)\nul mkdir $(DOSTMP)
if exist $(DOSTMP)\$< $(DEL) $(DOSTMP)\$<
- $(VIMPROG) -u dos.vim $(COMMON_ARGS) "+set ff=dos|f $@|wq" $<
+ $(VIMPROG) -u util\dos.vim $(COMMON_ARGS) "+set ff=dos|f $@|wq" $<
# For each input file dostmp/test99.in run the tests.
# This moves test99.in to test99.in.bak temporarily.
@@ -115,7 +115,7 @@
$(MV) $(notdir $<) $(notdir $<).bak > NUL
$(CP) $(DOSTMP)\$(notdir $<) $(notdir $<) > NUL
$(CP) $(basename $@).ok test.ok > NUL
- $(VIMPROG) -u dos.vim $(COMMON_ARGS) -s dotest.in $(notdir $<)
+ $(VIMPROG) -u util\dos.vim $(COMMON_ARGS) -s dotest.in $(notdir $<)
-@if exist test.out $(MV) test.out $(DOSTMP)\$@ > NUL
-@if exist $(notdir $<).bak $(MV) $(notdir $<).bak $(notdir $<) > NUL
-@if exist test.ok $(DEL) test.ok
@@ -124,7 +124,7 @@
-@if exist XfakeHOME $(DELDIR) XfakeHOME
-@del X*
-@if exist viminfo del viminfo
- $(VIMPROG) -u dos.vim $(COMMON_ARGS) "+set ff=unix|f test.out|wq" \
+ $(VIMPROG) -u util\dos.vim $(COMMON_ARGS) "+set ff=unix|f test.out|wq" \
$(DOSTMP)\$@
@diff test.out $(basename $@).ok & if errorlevel 1 \
( $(MV) test.out $(basename $@).failed > NUL \
@@ -154,10 +154,10 @@
test_gui_init.res: test_gui_init.vim
@echo $(VIMPROG) > vimcmd
- $(VIMPROG) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $<
+ $(VIMPROG) -u util\gui_preinit.vim -U util\gui_init.vim $(NO_PLUGINS) -S runtest.vim $<
@$(DEL) vimcmd
-opt_test.vim: gen_opt_test.vim ../optiondefs.h ../../runtime/doc/options.txt
+opt_test.vim: util/gen_opt_test.vim ../optiondefs.h ../../runtime/doc/options.txt
$(VIMPROG) -e -s -u NONE $(COMMON_ARGS) --nofork -S $^
@if test -f test.log; then \
cat test.log; \
diff --git a/src/testdir/Make_mvc.mak b/src/testdir/Make_mvc.mak
index 1a54823..02eb801 100644
--- a/src/testdir/Make_mvc.mak
+++ b/src/testdir/Make_mvc.mak
@@ -40,7 +40,7 @@
@rem without the +eval feature test_result.log is a copy of test.log
@if exist test.log ( copy /y test.log test_result.log > nul ) \
else ( echo No failures reported > test_result.log )
- $(VIMPROG) -u NONE $(COMMON_ARGS) -S summarize.vim messages
+ $(VIMPROG) -u NONE $(COMMON_ARGS) -S util\summarize.vim messages
-if exist starttime del starttime
@echo:
@echo Test results:
@@ -99,7 +99,7 @@
$(DOSTMP_INFILES): $(*B).in
if not exist $(DOSTMP)\NUL md $(DOSTMP)
if exist $@ del $@
- $(VIMPROG) -u dos.vim $(COMMON_ARGS) "+set ff=dos|f $@|wq" $(*B).in
+ $(VIMPROG) -u util\dos.vim $(COMMON_ARGS) "+set ff=dos|f $@|wq" $(*B).in
# For each input file dostmp/test99.in run the tests.
# This moves test99.in to test99.in.bak temporarily.
@@ -109,7 +109,7 @@
move $(*B).in $(*B).in.bak > nul
copy $(DOSTMP)\$(*B).in $(*B).in > nul
copy $(*B).ok test.ok > nul
- $(VIMPROG) -u dos.vim $(COMMON_ARGS) -s dotest.in $(*B).in
+ $(VIMPROG) -u util\dos.vim $(COMMON_ARGS) -s dotest.in $(*B).in
-@if exist test.out MOVE /y test.out $(DOSTMP)\$(*B).out > nul
-@if exist $(*B).in.bak move /y $(*B).in.bak $(*B).in > nul
-@if exist test.ok del test.ok
@@ -118,7 +118,7 @@
-@if exist XfakeHOME rd /s /q XfakeHOME
-@del X*
-@if exist viminfo del viminfo
- $(VIMPROG) -u dos.vim $(COMMON_ARGS) "+set ff=unix|f test.out|wq" \
+ $(VIMPROG) -u util\dos.vim $(COMMON_ARGS) "+set ff=unix|f test.out|wq" \
$(DOSTMP)\$(*B).out
@diff test.out $*.ok & if errorlevel 1 \
( move /y test.out $*.failed > nul \
@@ -148,10 +148,10 @@
test_gui_init.res: test_gui_init.vim
@echo $(VIMPROG) > vimcmd
- $(VIMPROG) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $*.vim
+ $(VIMPROG) -u util\gui_preinit.vim -U util\gui_init.vim $(NO_PLUGINS) -S runtest.vim $*.vim
@del vimcmd
-opt_test.vim: gen_opt_test.vim ../optiondefs.h ../../runtime/doc/options.txt
+opt_test.vim: util/gen_opt_test.vim ../optiondefs.h ../../runtime/doc/options.txt
$(VIMPROG) -e -s -u NONE $(COMMON_ARGS) --nofork -S $**
@if exist test.log ( type test.log & exit /b 1 )
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index b6c6fab..ad21395 100644
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -56,7 +56,7 @@
-@ write sys$output " "$*" "
-@ write sys$output "-----------------------------------------------"
-@ !run the test
- -@ create/term/wait/nodetach mcr $(VIMPROG) $(GUI_OPTION) -u vms.vim --noplugin -s dotest.in $*.in
+ -@ create/term/wait/nodetach mcr $(VIMPROG) $(GUI_OPTION) -u util/vms.vim --noplugin -s dotest.in $*.in
-@ !analyse the result
-@ directory /size/date test.out
-@ if "''F$SEARCH("test.out.*")'" .NES. "" then rename/nolog test.out $*.out
@@ -89,9 +89,9 @@
-@ write sys$output "-----------------------------------------------"
-@ write sys$output "MAKE_VMS.MMS options:"
-@ write sys$output " WANT_GUI = ""$(WANT_GUI)"" "
- -@ write sys$output "Default vimrc file is VMS.VIM:"
+ -@ write sys$output "Default vimrc file is util/VMS.VIM:"
-@ write sys$output "-----------------------------------------------"
- -@ type VMS.VIM
+ -@ type util/VMS.VIM
clean :
-@ if "''F$SEARCH("*.out")'" .NES. "" then delete/noconfirm/nolog *.out.*
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index 680d1a1..f784d80 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -21,7 +21,7 @@
# VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=45 --log-file=valgrind.$*
# To execute one test, e.g. in gdb, use something like this:
-# run -f -u unix.vim --gui-dialog-file guidialog -U NONE --noplugin --not-a-term -S runtest.vim test_name.vim
+# run -f -u util/unix.vim --gui-dialog-file guidialog -U NONE --noplugin --not-a-term -S runtest.vim test_name.vim
default: nongui
@@ -48,7 +48,7 @@
then cp test.log test_result.log; \
else echo No failures reported > test_result.log; \
fi"
- $(VIMPROG) -u NONE $(NO_INITS) -S summarize.vim messages $(REDIR_TEST_TO_NULL)
+ $(VIMPROG) -u NONE $(NO_INITS) -S util/summarize.vim messages $(REDIR_TEST_TO_NULL)
@rm -f starttime
@echo
@echo 'Test results:'
@@ -87,7 +87,7 @@
RM_ON_RUN = test.out X* viminfo
RM_ON_START = test.ok benchmark.out
-RUN_VIMPROG = VIMRUNTIME=$(SCRIPTSOURCE) $(VALGRIND) $(VIMPROG) -f $(GUI_FLAG) -u unix.vim $(NO_INITS) -s dotest.in
+RUN_VIMPROG = VIMRUNTIME=$(SCRIPTSOURCE) $(VALGRIND) $(VIMPROG) -f $(GUI_FLAG) -u util/unix.vim $(NO_INITS) -s dotest.in
# Delete files that may interfere with running tests. This includes some files
# that may result from working on the tests, not only from running them.
@@ -141,7 +141,7 @@
# to write and a lot easier to read and debug.
# Limitation: Only works with the +eval feature.
# Add --gui-dialog-file to avoid getting stuck in a dialog.
-RUN_VIMTEST = VIMRUNTIME=$(SCRIPTSOURCE) $(VALGRIND) $(VIMPROG) -f $(GUI_FLAG) -u unix.vim --gui-dialog-file guidialog
+RUN_VIMTEST = VIMRUNTIME=$(SCRIPTSOURCE) $(VALGRIND) $(VIMPROG) -f $(GUI_FLAG) -u util/unix.vim --gui-dialog-file guidialog
newtests: newtestssilent
@/bin/sh -c "if test -f messages; then cat messages; fi"
@@ -174,13 +174,13 @@
@echo "$(VIMPROG)" > vimcmd
@echo "$(RUN_GVIMTEST_WITH_GVIMRC)" >> vimcmd
if test -n "$${ASAN_OPTIONS}"; then \
- ASAN_OPTIONS="$${ASAN_OPTIONS}_$*" UBSAN_OPTIONS="$${UBSAN_OPTIONS}_$*" $(RUN_VIMTEST) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $< ; \
+ ASAN_OPTIONS="$${ASAN_OPTIONS}_$*" UBSAN_OPTIONS="$${UBSAN_OPTIONS}_$*" $(RUN_VIMTEST) -u util/gui_preinit.vim -U util/gui_init.vim $(NO_PLUGINS) -S runtest.vim $< ; \
else \
- $(RUN_VIMTEST) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $< ; \
+ $(RUN_VIMTEST) -u util/gui_preinit.vim -U util/gui_init.vim $(NO_PLUGINS) -S runtest.vim $< ; \
fi
@rm vimcmd
-GEN_OPT_DEPS = gen_opt_test.vim ../optiondefs.h ../../runtime/doc/options.txt
+GEN_OPT_DEPS = util/gen_opt_test.vim ../optiondefs.h ../../runtime/doc/options.txt
opt_test.vim: $(GEN_OPT_DEPS)
if test -n "$${ASAN_OPTIONS}"; then \
diff --git a/src/testdir/README.txt b/src/testdir/README.txt
index c7067ac..1ae0d28 100644
--- a/src/testdir/README.txt
+++ b/src/testdir/README.txt
@@ -1,5 +1,8 @@
-This directory contains tests for various Vim features.
+This directory contains test cases for various Vim features.
+The auxiliary functions to perform the tests are in the util/ folder.
+
For testing an indent script see runtime/indent/testdir/README.txt.
+For testing a syntax script see runtime/syntax/testdir/README.txt.
If it makes sense, add a new test method to an already existing file. You may
want to separate it from other tests with comment lines.
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index a56679c..7822da9 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -101,13 +101,13 @@
set shellslash
" Common with all tests on all systems.
-source setup.vim
+source util/setup.vim
" Needed for RunningWithValgrind().
-source shared.vim
+source util/shared.vim
" Needed for the various Check commands
-source check.vim
+source util/check.vim
" For consistency run all tests with 'nocompatible' set.
" This also enables use of line continuation.
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim
index c78088d..43605f7 100644
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -1,7 +1,7 @@
" Tests for autocommands
-source screendump.vim
-import './vim9.vim' as v9
+source util/screendump.vim
+import './util/vim9.vim' as v9
func s:cleanup_buffers() abort
for bnr in range(1, bufnr('$'))
diff --git a/src/testdir/test_balloon.vim b/src/testdir/test_balloon.vim
index 6f89f2f..1fe0ae8 100644
--- a/src/testdir/test_balloon.vim
+++ b/src/testdir/test_balloon.vim
@@ -4,7 +4,7 @@
CheckNotGui
CheckFeature balloon_eval_term
-source screendump.vim
+source util/screendump.vim
let s:common_script =<< trim [CODE]
call setline(1, ["one one one", "two tXo two", "three three three"])
diff --git a/src/testdir/test_blob.vim b/src/testdir/test_blob.vim
index addb395..93005a6 100644
--- a/src/testdir/test_blob.vim
+++ b/src/testdir/test_blob.vim
@@ -1,6 +1,6 @@
" Tests for the Blob types
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func TearDown()
" Run garbage collection after every test
diff --git a/src/testdir/test_breakindent.vim b/src/testdir/test_breakindent.vim
index e081307..bb164f7 100644
--- a/src/testdir/test_breakindent.vim
+++ b/src/testdir/test_breakindent.vim
@@ -6,7 +6,7 @@
" Test_breakindent08())
CheckOption breakindent
-source screendump.vim
+source util/screendump.vim
func SetUp()
let s:input ="\tabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP"
diff --git a/src/testdir/test_bufline.vim b/src/testdir/test_bufline.vim
index 1aa0c01..9f0a0a6 100644
--- a/src/testdir/test_bufline.vim
+++ b/src/testdir/test_bufline.vim
@@ -1,6 +1,6 @@
" Tests for setbufline(), getbufline(), appendbufline(), deletebufline()
-source screendump.vim
+source util/screendump.vim
func Test_setbufline_getbufline()
" similar to Test_set_get_bufline()
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index 6a0ee54..dcd0526 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -3,7 +3,7 @@
" When +channel is supported then +job is too, so we don't check for that.
CheckFeature channel
-source screendump.vim
+source util/screendump.vim
let s:python = PythonProg()
if s:python == ''
diff --git a/src/testdir/test_clientserver.vim b/src/testdir/test_clientserver.vim
index 3d69eed..6fe0f69 100644
--- a/src/testdir/test_clientserver.vim
+++ b/src/testdir/test_clientserver.vim
@@ -8,7 +8,7 @@
CheckFeature clientserver
-source shared.vim
+source util/shared.vim
func Check_X11_Connection()
if has('x11')
diff --git a/src/testdir/test_clipmethod.vim b/src/testdir/test_clipmethod.vim
index 31a381c..9b34658 100644
--- a/src/testdir/test_clipmethod.vim
+++ b/src/testdir/test_clipmethod.vim
@@ -1,6 +1,6 @@
" Tests for clipmethod
-source window_manager.vim
+source util/window_manager.vim
CheckFeature clipboard_working
CheckFeature xterm_clipboard
@@ -123,7 +123,7 @@
let l:lines =<< trim END
set cpm=x11
- source shared.vim
+ source util/shared.vim
func Test()
clipreset
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index cfc64f7..a68d3e1 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -1,7 +1,7 @@
" Tests for editing the command line.
-source screendump.vim
-import './vim9.vim' as v9
+source util/screendump.vim
+import './util/vim9.vim' as v9
func SetUp()
func SaveLastScreenLine()
diff --git a/src/testdir/test_cmdwin.vim b/src/testdir/test_cmdwin.vim
index 9c37f20..6b2850a 100644
--- a/src/testdir/test_cmdwin.vim
+++ b/src/testdir/test_cmdwin.vim
@@ -1,6 +1,6 @@
" Tests for editing the command line.
-source screendump.vim
+source util/screendump.vim
func Test_getcmdwintype()
call feedkeys("q/:let a = getcmdwintype()\<CR>:q\<CR>", 'x!')
diff --git a/src/testdir/test_conceal.vim b/src/testdir/test_conceal.vim
index ac27dba..360e600 100644
--- a/src/testdir/test_conceal.vim
+++ b/src/testdir/test_conceal.vim
@@ -2,7 +2,7 @@
CheckFeature conceal
-source screendump.vim
+source util/screendump.vim
func Test_conceal_two_windows()
CheckScreendump
diff --git a/src/testdir/test_crash.vim b/src/testdir/test_crash.vim
index f497d9e..ff9b63b 100644
--- a/src/testdir/test_crash.vim
+++ b/src/testdir/test_crash.vim
@@ -1,5 +1,5 @@
" Some tests, that used to crash Vim
-source screendump.vim
+source util/screendump.vim
CheckScreendump
diff --git a/src/testdir/test_cursorline.vim b/src/testdir/test_cursorline.vim
index a497d0e..01a94ba 100644
--- a/src/testdir/test_cursorline.vim
+++ b/src/testdir/test_cursorline.vim
@@ -1,6 +1,6 @@
" Test for cursorline and cursorlineopt
-source screendump.vim
+source util/screendump.vim
func s:screen_attr(lnum) abort
return map(range(1, 8), 'screenattr(a:lnum, v:val)')
diff --git a/src/testdir/test_debugger.vim b/src/testdir/test_debugger.vim
index be881b5..2644209 100644
--- a/src/testdir/test_debugger.vim
+++ b/src/testdir/test_debugger.vim
@@ -1,6 +1,6 @@
" Tests for the Vim script debug commands
-source screendump.vim
+source util/screendump.vim
CheckRunVimInTerminal
diff --git a/src/testdir/test_delete.vim b/src/testdir/test_delete.vim
index 59d569f..63e83d3 100644
--- a/src/testdir/test_delete.vim
+++ b/src/testdir/test_delete.vim
@@ -1,6 +1,6 @@
" Test for delete().
-source screendump.vim
+source util/screendump.vim
func Test_file_delete()
split Xfdelfile
diff --git a/src/testdir/test_diffmode.vim b/src/testdir/test_diffmode.vim
index 5c38738..6af3fb0 100644
--- a/src/testdir/test_diffmode.vim
+++ b/src/testdir/test_diffmode.vim
Binary files differ
diff --git a/src/testdir/test_display.vim b/src/testdir/test_display.vim
index be6ca7b..5f597f1 100644
--- a/src/testdir/test_display.vim
+++ b/src/testdir/test_display.vim
@@ -4,7 +4,7 @@
set term=ansi
endif
-source screendump.vim
+source util/screendump.vim
func Test_display_foldcolumn()
CheckFeature folding
diff --git a/src/testdir/test_edit.vim b/src/testdir/test_edit.vim
index f8ef1d8..c951f3a 100644
--- a/src/testdir/test_edit.vim
+++ b/src/testdir/test_edit.vim
@@ -4,7 +4,7 @@
let &t_kD="[3;*~"
endif
-source screendump.vim
+source util/screendump.vim
" Needs to come first until the bug in getchar() is
" fixed: https://groups.google.com/d/msg/vim_dev/fXL9yme4H4c/bOR-U6_bAQAJ
diff --git a/src/testdir/test_eval_stuff.vim b/src/testdir/test_eval_stuff.vim
index ada4667..39bb4ba 100644
--- a/src/testdir/test_eval_stuff.vim
+++ b/src/testdir/test_eval_stuff.vim
Binary files differ
diff --git a/src/testdir/test_excmd.vim b/src/testdir/test_excmd.vim
index 66ef501..8c32828 100644
--- a/src/testdir/test_excmd.vim
+++ b/src/testdir/test_excmd.vim
@@ -1,6 +1,6 @@
" Tests for various Ex commands.
-source screendump.vim
+source util/screendump.vim
func Test_ex_delete()
new
diff --git a/src/testdir/test_execute_func.vim b/src/testdir/test_execute_func.vim
index e1c85b0..3e6c2fe 100644
--- a/src/testdir/test_execute_func.vim
+++ b/src/testdir/test_execute_func.vim
@@ -1,6 +1,6 @@
" test execute()
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func NestedEval()
let nested = execute('echo "nested\nlines"')
diff --git a/src/testdir/test_exists.vim b/src/testdir/test_exists.vim
index 404b15c..c886f0b 100644
--- a/src/testdir/test_exists.vim
+++ b/src/testdir/test_exists.vim
@@ -1,6 +1,6 @@
" Tests for the exists() function
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func Test_exists()
augroup myagroup
diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim
index e08019a..ec44d80 100644
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -1,6 +1,6 @@
" Tests for expressions.
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func Test_equal()
let base = {}
diff --git a/src/testdir/test_filter_map.vim b/src/testdir/test_filter_map.vim
index 39da767..138ca18 100644
--- a/src/testdir/test_filter_map.vim
+++ b/src/testdir/test_filter_map.vim
@@ -1,6 +1,6 @@
" Test filter() and map()
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
" list with expression string
func Test_filter_map_list_expr_string()
diff --git a/src/testdir/test_findfile.vim b/src/testdir/test_findfile.vim
index ec380cb..acb26e0 100644
--- a/src/testdir/test_findfile.vim
+++ b/src/testdir/test_findfile.vim
@@ -1,6 +1,6 @@
" Test findfile() and finddir()
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
let s:files = [ 'Xfinddir1/foo',
\ 'Xfinddir1/bar',
diff --git a/src/testdir/test_float_func.vim b/src/testdir/test_float_func.vim
index 23e3c31..db08dd5 100644
--- a/src/testdir/test_float_func.vim
+++ b/src/testdir/test_float_func.vim
@@ -1,6 +1,6 @@
" test float functions
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func Test_abs()
call assert_equal('1.23', string(abs(1.23)))
diff --git a/src/testdir/test_fold.vim b/src/testdir/test_fold.vim
index 0fc99bc..fc63b15 100644
--- a/src/testdir/test_fold.vim
+++ b/src/testdir/test_fold.vim
Binary files differ
diff --git a/src/testdir/test_format.vim b/src/testdir/test_format.vim
index b6be204..b192938 100644
--- a/src/testdir/test_format.vim
+++ b/src/testdir/test_format.vim
@@ -1,6 +1,6 @@
" Tests for expressions.
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func Test_printf_pos_misc()
let lines =<< trim END
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index ae16d1e..4fac472 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -1,7 +1,7 @@
" Tests for various functions.
-source screendump.vim
-import './vim9.vim' as v9
+source util/screendump.vim
+import './util/vim9.vim' as v9
" Must be done first, since the alternate buffer must be unset.
func Test_00_bufexists()
diff --git a/src/testdir/test_glob2regpat.vim b/src/testdir/test_glob2regpat.vim
index 965ca5c..66ace12 100644
--- a/src/testdir/test_glob2regpat.vim
+++ b/src/testdir/test_glob2regpat.vim
@@ -1,6 +1,6 @@
" Test glob2regpat()
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func Test_glob2regpat_invalid()
call assert_equal('^1\.33$', glob2regpat(1.33))
diff --git a/src/testdir/test_gui.vim b/src/testdir/test_gui.vim
index 45966eb..9fd840a 100644
--- a/src/testdir/test_gui.vim
+++ b/src/testdir/test_gui.vim
@@ -2,7 +2,7 @@
CheckCanRunGui
-source setup_gui.vim
+source util/setup_gui.vim
func Setup()
call GUISetUpCommon()
diff --git a/src/testdir/test_gui_init.vim b/src/testdir/test_gui_init.vim
index f3effff..1a60a49 100644
--- a/src/testdir/test_gui_init.vim
+++ b/src/testdir/test_gui_init.vim
@@ -3,7 +3,7 @@
CheckCanRunGui
-source setup_gui.vim
+source util/setup_gui.vim
func Setup()
call GUISetUpCommon()
diff --git a/src/testdir/test_help.vim b/src/testdir/test_help.vim
index e87d312..dac153d 100644
--- a/src/testdir/test_help.vim
+++ b/src/testdir/test_help.vim
@@ -1,6 +1,6 @@
" Tests for :help
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func Test_help_restore_snapshot()
help
diff --git a/src/testdir/test_highlight.vim b/src/testdir/test_highlight.vim
index 487eb8d..5ce4f1e 100644
--- a/src/testdir/test_highlight.vim
+++ b/src/testdir/test_highlight.vim
@@ -1,8 +1,8 @@
" Tests for ":highlight" and highlighting.
-source screendump.vim
-source script_util.vim
-import './vim9.vim' as v9
+source util/screendump.vim
+source util/script_util.vim
+import './util/vim9.vim' as v9
func ClearDict(d)
for k in keys(a:d)
diff --git a/src/testdir/test_hlsearch.vim b/src/testdir/test_hlsearch.vim
index 18992d3..8bf7f0a 100644
--- a/src/testdir/test_hlsearch.vim
+++ b/src/testdir/test_hlsearch.vim
@@ -1,6 +1,6 @@
" Test for v:hlsearch
-source screendump.vim
+source util/screendump.vim
func Test_hlsearch()
new
diff --git a/src/testdir/test_iminsert.vim b/src/testdir/test_iminsert.vim
index e20cddd..918f17d 100644
--- a/src/testdir/test_iminsert.vim
+++ b/src/testdir/test_iminsert.vim
@@ -1,6 +1,6 @@
" Test for 'iminsert'
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
let s:imactivatefunc_called = 0
let s:imstatusfunc_called = 0
diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim
index d906e7a..9ee7876 100644
--- a/src/testdir/test_ins_complete.vim
+++ b/src/testdir/test_ins_complete.vim
@@ -1,7 +1,7 @@
" Test for insert completion
-source screendump.vim
-import './vim9.vim' as v9
+source util/screendump.vim
+import './util/vim9.vim' as v9
" Test for insert expansion
func Test_ins_complete()
diff --git a/src/testdir/test_lambda.vim b/src/testdir/test_lambda.vim
index 42f53b1..d1daa12 100644
--- a/src/testdir/test_lambda.vim
+++ b/src/testdir/test_lambda.vim
@@ -1,6 +1,6 @@
" Test for lambda and closure
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func Test_lambda_feature()
call assert_equal(1, has('lambda'))
diff --git a/src/testdir/test_let.vim b/src/testdir/test_let.vim
index a90b55c..0aa8b16 100644
--- a/src/testdir/test_let.vim
+++ b/src/testdir/test_let.vim
@@ -1,6 +1,6 @@
" Tests for the :let command.
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func Test_let()
" Test to not autoload when assigning. It causes internal error.
diff --git a/src/testdir/test_listchars.vim b/src/testdir/test_listchars.vim
index 387f6af..38963fa 100644
--- a/src/testdir/test_listchars.vim
+++ b/src/testdir/test_listchars.vim
@@ -1,6 +1,6 @@
" Tests for 'listchars' display with 'list' and :list
-source screendump.vim
+source util/screendump.vim
func Check_listchars(expected, end_lnum, end_scol = -1, leftcol = 0)
if a:leftcol > 0
diff --git a/src/testdir/test_listdict.vim b/src/testdir/test_listdict.vim
index a7e9cb7..f806eb8 100644
--- a/src/testdir/test_listdict.vim
+++ b/src/testdir/test_listdict.vim
@@ -1,7 +1,7 @@
" Tests for the List and Dict types
scriptencoding utf-8
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func TearDown()
" Run garbage collection after every test
diff --git a/src/testdir/test_listlbr.vim b/src/testdir/test_listlbr.vim
index d186983..7430ec6 100644
--- a/src/testdir/test_listlbr.vim
+++ b/src/testdir/test_listlbr.vim
@@ -6,7 +6,7 @@
CheckOption linebreak
CheckFeature conceal
-source screendump.vim
+source util/screendump.vim
function s:screen_lines(lnum, width) abort
return ScreenLines(a:lnum, a:width)
diff --git a/src/testdir/test_listlbr_utf8.vim b/src/testdir/test_listlbr_utf8.vim
index d69cae7..be77566 100644
--- a/src/testdir/test_listlbr_utf8.vim
+++ b/src/testdir/test_listlbr_utf8.vim
@@ -7,7 +7,7 @@
CheckFeature conceal
CheckFeature signs
-source screendump.vim
+source util/screendump.vim
func s:screen_lines(lnum, width) abort
return ScreenLines(a:lnum, a:width)
diff --git a/src/testdir/test_mapping.vim b/src/testdir/test_mapping.vim
index 28b0188..01f2d1f 100644
--- a/src/testdir/test_mapping.vim
+++ b/src/testdir/test_mapping.vim
@@ -1,7 +1,7 @@
" Tests for mappings and abbreviations
-source screendump.vim
-import './vim9.vim' as v9
+source util/screendump.vim
+import './util/vim9.vim' as v9
func Test_abbreviation()
new
diff --git a/src/testdir/test_match.vim b/src/testdir/test_match.vim
index 35311d4..5d598eb 100644
--- a/src/testdir/test_match.vim
+++ b/src/testdir/test_match.vim
@@ -1,7 +1,7 @@
" Test for :match, :2match, :3match, clearmatches(), getmatches(), matchadd(),
" matchaddpos(), matcharg(), matchdelete(), and setmatches().
-source screendump.vim
+source util/screendump.vim
function Test_match()
highlight MyGroup1 term=bold ctermbg=red guibg=red
diff --git a/src/testdir/test_menu.vim b/src/testdir/test_menu.vim
index f441190..e42dd0c 100644
--- a/src/testdir/test_menu.vim
+++ b/src/testdir/test_menu.vim
@@ -2,7 +2,7 @@
CheckFeature menu
-source screendump.vim
+source util/screendump.vim
func Test_load_menu()
try
diff --git a/src/testdir/test_messages.vim b/src/testdir/test_messages.vim
index e9eb099..61193df 100644
--- a/src/testdir/test_messages.vim
+++ b/src/testdir/test_messages.vim
@@ -1,6 +1,6 @@
" Tests for :messages, :echomsg, :echoerr
-source screendump.vim
+source util/screendump.vim
func Test_messages()
let oldmore = &more
diff --git a/src/testdir/test_modeless.vim b/src/testdir/test_modeless.vim
index d96be4b..ef597ad 100644
--- a/src/testdir/test_modeless.vim
+++ b/src/testdir/test_modeless.vim
@@ -4,7 +4,7 @@
CheckNotGui
CheckUnix
-source mouse.vim
+source util/mouse.vim
" Test for modeless characterwise selection (single click)
func Test_modeless_characterwise_selection()
diff --git a/src/testdir/test_move.vim b/src/testdir/test_move.vim
index c45157f..d0b68f7 100644
--- a/src/testdir/test_move.vim
+++ b/src/testdir/test_move.vim
@@ -1,6 +1,6 @@
" Test the ":move" command.
-source screendump.vim
+source util/screendump.vim
func Test_move()
enew!
diff --git a/src/testdir/test_mswin_event.vim b/src/testdir/test_mswin_event.vim
index 0a4407c..96d1247 100644
--- a/src/testdir/test_mswin_event.vim
+++ b/src/testdir/test_mswin_event.vim
@@ -2,7 +2,7 @@
" Most of this works the same in Windows GUI as well as Windows console.
CheckMSWindows
-source mouse.vim
+source util/mouse.vim
" Helper function for sending a grouped sequence of low level key presses
" The modifier key(s) can be included as VK Key Codes in the sequence
diff --git a/src/testdir/test_netbeans.vim b/src/testdir/test_netbeans.vim
index cfb9736..d3d5e8b 100644
--- a/src/testdir/test_netbeans.vim
+++ b/src/testdir/test_netbeans.vim
@@ -876,7 +876,7 @@
call delete("Xnetbeans")
call writefile([], "Xnetbeans", 'D')
let after =<< trim END
- source shared.vim
+ source util/shared.vim
set cpo&vim
func ReadXnetbeans()
diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim
index aa1fa10..3746964 100644
--- a/src/testdir/test_normal.vim
+++ b/src/testdir/test_normal.vim
@@ -1,7 +1,7 @@
" Test for various Normal mode commands
-import './vim9.vim' as v9
-source screendump.vim
+import './util/vim9.vim' as v9
+source util/screendump.vim
func Setup_NewWindow()
10new
diff --git a/src/testdir/test_number.vim b/src/testdir/test_number.vim
index 10b6988..bac01d1 100644
--- a/src/testdir/test_number.vim
+++ b/src/testdir/test_number.vim
@@ -1,6 +1,6 @@
" Test for 'number' and 'relativenumber'
-source screendump.vim
+source util/screendump.vim
func s:screen_lines(start, end) abort
return ScreenLines([a:start, a:end], 8)
diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim
index e4bf63a..0846466 100644
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -340,12 +340,12 @@
" Expand directories.
call feedkeys(":set cdpath=./\<C-A>\<C-B>\"\<CR>", 'tx')
call assert_match(' ./samples/ ', @:)
- call assert_notmatch(' ./summarize.vim ', @:)
+ call assert_notmatch(' ./util/summarize.vim ', @:)
set cdpath&
" Expand files and directories.
call feedkeys(":set tags=./\<C-A>\<C-B>\"\<CR>", 'tx')
- call assert_match(' ./samples/.* ./summarize.vim', @:)
+ call assert_match(' ./samples/.* ./test10.in', @:)
call feedkeys(":set tags=./\\\\ dif\<C-A>\<C-B>\"\<CR>", 'tx')
call assert_equal('"set tags=./\\ diff diffexpr diffopt', @:)
diff --git a/src/testdir/test_options_all.vim b/src/testdir/test_options_all.vim
index a2330ec..e6da82b 100644
--- a/src/testdir/test_options_all.vim
+++ b/src/testdir/test_options_all.vim
@@ -1,7 +1,7 @@
" Test for options
" opt_test.vim is generated from src/optiondefs.h and runtime/doc/options.txt
-" using gen_opt_test.vim
+" using util/gen_opt_test.vim
if filereadable('opt_test.vim')
source opt_test.vim
else
diff --git a/src/testdir/test_plugin_matchparen.vim b/src/testdir/test_plugin_matchparen.vim
index 47fd3ed..a05fc5d 100644
--- a/src/testdir/test_plugin_matchparen.vim
+++ b/src/testdir/test_plugin_matchparen.vim
@@ -4,7 +4,7 @@
set term=ansi
endif
-source screendump.vim
+source util/screendump.vim
" Test for scrolling that modifies buffer during visual block
func Test_visual_block_scroll()
diff --git a/src/testdir/test_plugin_termdebug.vim b/src/testdir/test_plugin_termdebug.vim
index 9017bda..ed20247 100644
--- a/src/testdir/test_plugin_termdebug.vim
+++ b/src/testdir/test_plugin_termdebug.vim
@@ -1,6 +1,6 @@
" Test for the termdebug plugin
-source screendump.vim
+source util/screendump.vim
CheckUnix
CheckFeature terminal
diff --git a/src/testdir/test_plugin_tutor.vim b/src/testdir/test_plugin_tutor.vim
index 5c3dcd9..da97fcf 100644
--- a/src/testdir/test_plugin_tutor.vim
+++ b/src/testdir/test_plugin_tutor.vim
@@ -1,7 +1,7 @@
" Test for the new-tutor plugin
-source screendump.vim
-source script_util.vim
+source util/screendump.vim
+source util/script_util.vim
func SetUp()
set nocompatible
diff --git a/src/testdir/test_popup.vim b/src/testdir/test_popup.vim
index 7e268e8..2ae0165 100644
--- a/src/testdir/test_popup.vim
+++ b/src/testdir/test_popup.vim
@@ -1,6 +1,6 @@
" Test for completion menu
-source screendump.vim
+source util/screendump.vim
let g:months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
let g:setting = ''
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 6464e1e..21d6819 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -2,7 +2,7 @@
CheckFeature popupwin
-source screendump.vim
+source util/screendump.vim
func Test_simple_popup()
CheckScreendump
diff --git a/src/testdir/test_popupwin_textprop.vim b/src/testdir/test_popupwin_textprop.vim
index a099383..2f30831 100644
--- a/src/testdir/test_popupwin_textprop.vim
+++ b/src/testdir/test_popupwin_textprop.vim
@@ -3,7 +3,7 @@
CheckFeature popupwin
CheckFeature textprop
-source screendump.vim
+source util/screendump.vim
func Test_textprop_popup()
CheckScreendump
diff --git a/src/testdir/test_profile.vim b/src/testdir/test_profile.vim
index 8c0260c..fe35e49 100644
--- a/src/testdir/test_profile.vim
+++ b/src/testdir/test_profile.vim
@@ -2,7 +2,7 @@
CheckFeature profile
-source screendump.vim
+source util/screendump.vim
if has('prof_nsec')
let s:header = 'count total (s) self (s)'
diff --git a/src/testdir/test_prompt_buffer.vim b/src/testdir/test_prompt_buffer.vim
index 414ed6e..72882e2 100644
--- a/src/testdir/test_prompt_buffer.vim
+++ b/src/testdir/test_prompt_buffer.vim
@@ -2,7 +2,7 @@
CheckFeature channel
-source screendump.vim
+source util/screendump.vim
func CanTestPromptBuffer()
" We need to use a terminal window to be able to feed keys without leaving
diff --git a/src/testdir/test_put.vim b/src/testdir/test_put.vim
index 91a01a4..514a24e 100644
--- a/src/testdir/test_put.vim
+++ b/src/testdir/test_put.vim
Binary files differ
diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim
index 7047d8c..fed9dcf 100644
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -1,9 +1,9 @@
" Test for the quickfix feature.
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
CheckFeature quickfix
-source screendump.vim
+source util/screendump.vim
set encoding=utf-8
diff --git a/src/testdir/test_remote.vim b/src/testdir/test_remote.vim
index a10cb12..742c8e2 100644
--- a/src/testdir/test_remote.vim
+++ b/src/testdir/test_remote.vim
@@ -3,8 +3,8 @@
CheckFeature clientserver
CheckFeature terminal
-source screendump.vim
-source mouse.vim
+source util/screendump.vim
+source util/mouse.vim
let s:remote_works = 0
let s:skip = 'Skipped: --remote feature is not possible'
diff --git a/src/testdir/test_scroll_opt.vim b/src/testdir/test_scroll_opt.vim
index b4780eb..4e29976 100644
--- a/src/testdir/test_scroll_opt.vim
+++ b/src/testdir/test_scroll_opt.vim
@@ -1,7 +1,7 @@
" Test for 'scroll', 'scrolloff', 'smoothscroll', etc.
-source screendump.vim
-source mouse.vim
+source util/screendump.vim
+source util/mouse.vim
func Test_reset_scroll()
let scr = &l:scroll
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index 2921e19..4e5fd06 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -1,6 +1,6 @@
" Test for the search command
-source screendump.vim
+source util/screendump.vim
func Test_search_cmdline()
CheckOption incsearch
diff --git a/src/testdir/test_search_stat.vim b/src/testdir/test_search_stat.vim
index 72d4bcd..5a0f163 100644
--- a/src/testdir/test_search_stat.vim
+++ b/src/testdir/test_search_stat.vim
@@ -1,6 +1,6 @@
" Tests for search_stats, when "S" is not in 'shortmess'
-source screendump.vim
+source util/screendump.vim
func Test_search_stat()
new
diff --git a/src/testdir/test_selectmode.vim b/src/testdir/test_selectmode.vim
index 705c4ce..285ccb4 100644
--- a/src/testdir/test_selectmode.vim
+++ b/src/testdir/test_selectmode.vim
@@ -4,7 +4,7 @@
CheckNotGui
CheckUnix
-source mouse.vim
+source util/mouse.vim
" Test for select mode
func Test_selectmode_basic()
diff --git a/src/testdir/test_signs.vim b/src/testdir/test_signs.vim
index 78988b2..83cfc5f 100644
--- a/src/testdir/test_signs.vim
+++ b/src/testdir/test_signs.vim
@@ -2,7 +2,7 @@
CheckFeature signs
-source screendump.vim
+source util/screendump.vim
func Test_sign()
new
diff --git a/src/testdir/test_spell.vim b/src/testdir/test_spell.vim
index 0d8ec99..170ea57 100644
--- a/src/testdir/test_spell.vim
+++ b/src/testdir/test_spell.vim
@@ -3,7 +3,7 @@
CheckFeature spell
-source screendump.vim
+source util/screendump.vim
func TearDown()
set nospell
diff --git a/src/testdir/test_stacktrace.vim b/src/testdir/test_stacktrace.vim
index fc8510a..77ea28f 100644
--- a/src/testdir/test_stacktrace.vim
+++ b/src/testdir/test_stacktrace.vim
@@ -1,6 +1,6 @@
" Test for getstacktrace() and v:stacktrace
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
let s:thisfile = expand('%:p')
let s:testdir = s:thisfile->fnamemodify(':h')
diff --git a/src/testdir/test_startup.vim b/src/testdir/test_startup.vim
index cd99355..02d1adf 100644
--- a/src/testdir/test_startup.vim
+++ b/src/testdir/test_startup.vim
@@ -1,6 +1,6 @@
" Tests for startup.
-source screendump.vim
+source util/screendump.vim
" Check that loading startup.vim works.
func Test_startup_script()
diff --git a/src/testdir/test_startup_utf8.vim b/src/testdir/test_startup_utf8.vim
index f31c150..f4de090 100644
--- a/src/testdir/test_startup_utf8.vim
+++ b/src/testdir/test_startup_utf8.vim
@@ -1,6 +1,6 @@
" Tests for startup using utf-8.
-source screendump.vim
+source util/screendump.vim
func Test_read_stdin_utf8()
let linesin = ['ใในใ', '€ÀÈÌÒÙ']
diff --git a/src/testdir/test_statusline.vim b/src/testdir/test_statusline.vim
index 7883af3..401eb2a 100644
--- a/src/testdir/test_statusline.vim
+++ b/src/testdir/test_statusline.vim
@@ -3,7 +3,7 @@
" Not tested yet:
" %N
-source screendump.vim
+source util/screendump.vim
func SetUp()
set laststatus=2
diff --git a/src/testdir/test_substitute.vim b/src/testdir/test_substitute.vim
index ef352b9..7108143 100644
--- a/src/testdir/test_substitute.vim
+++ b/src/testdir/test_substitute.vim
@@ -1,6 +1,6 @@
" Tests for the substitute (:s) command
-source screendump.vim
+source util/screendump.vim
" NOTE: This needs to be the first test to be
" run in the file, since it depends on
diff --git a/src/testdir/test_syntax.vim b/src/testdir/test_syntax.vim
index 6c56ceb..0374077 100644
--- a/src/testdir/test_syntax.vim
+++ b/src/testdir/test_syntax.vim
@@ -2,7 +2,7 @@
CheckFeature syntax
-source screendump.vim
+source util/screendump.vim
func GetSyntaxItem(pat)
let c = ''
diff --git a/src/testdir/test_tabline.vim b/src/testdir/test_tabline.vim
index d00626a..ce8cb58 100644
--- a/src/testdir/test_tabline.vim
+++ b/src/testdir/test_tabline.vim
@@ -1,6 +1,6 @@
" Test for tabline
-source screendump.vim
+source util/screendump.vim
func TablineWithCaughtError()
let s:func_in_tabline_called = 1
diff --git a/src/testdir/test_tabpage.vim b/src/testdir/test_tabpage.vim
index a99753e..05c5669 100644
--- a/src/testdir/test_tabpage.vim
+++ b/src/testdir/test_tabpage.vim
@@ -1,6 +1,6 @@
" Tests for tabpage
-source screendump.vim
+source util/screendump.vim
function Test_tabpage()
CheckFeature quickfix
diff --git a/src/testdir/test_tabpanel.vim b/src/testdir/test_tabpanel.vim
index 257c38d..f292550 100644
--- a/src/testdir/test_tabpanel.vim
+++ b/src/testdir/test_tabpanel.vim
@@ -1,6 +1,6 @@
" Tests for tabpanel
-source screendump.vim
+source util/screendump.vim
CheckFeature tabpanel
function s:reset()
diff --git a/src/testdir/test_tagfunc.vim b/src/testdir/test_tagfunc.vim
index cceaf45..11a105b 100644
--- a/src/testdir/test_tagfunc.vim
+++ b/src/testdir/test_tagfunc.vim
@@ -1,7 +1,7 @@
" Test 'tagfunc'
-import './vim9.vim' as v9
-source screendump.vim
+import './util/vim9.vim' as v9
+source util/screendump.vim
func TagFunc(pat, flag, info)
let g:tagfunc_args = [a:pat, a:flag, a:info]
diff --git a/src/testdir/test_tagjump.vim b/src/testdir/test_tagjump.vim
index 1947ab2..47618d0 100644
--- a/src/testdir/test_tagjump.vim
+++ b/src/testdir/test_tagjump.vim
@@ -1,6 +1,6 @@
" Tests for tagjump (tags and special searches)
-source screendump.vim
+source util/screendump.vim
" SEGV occurs in older versions. (At least 7.4.1748 or older)
func Test_ptag_with_notagstack()
diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim
index e44ca46..1f2ea7d 100644
--- a/src/testdir/test_termcodes.vim
+++ b/src/testdir/test_termcodes.vim
@@ -4,7 +4,7 @@
CheckNotGui
CheckUnix
-source mouse.vim
+source util/mouse.vim
func s:TermGuiColorsTest()
CheckNotMSWindows
diff --git a/src/testdir/test_termencoding.vim b/src/testdir/test_termencoding.vim
index 86b7341..f4f5231 100644
--- a/src/testdir/test_termencoding.vim
+++ b/src/testdir/test_termencoding.vim
@@ -4,7 +4,8 @@
" This only works with "iconv".
CheckFeature iconv
-source screendump.vim
+source util/screendump.vim
+
if !CanRunVimInTerminal()
throw 'Skipped: cannot make screendumps'
endif
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 7e088b2..0597c36 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -4,8 +4,8 @@
CheckFeature terminal
-source screendump.vim
-source mouse.vim
+source util/screendump.vim
+source util/mouse.vim
let s:python = PythonProg()
let $PROMPT_COMMAND=''
diff --git a/src/testdir/test_terminal2.vim b/src/testdir/test_terminal2.vim
index 996cd98..d2fc4fc 100644
--- a/src/testdir/test_terminal2.vim
+++ b/src/testdir/test_terminal2.vim
@@ -4,8 +4,8 @@
CheckFeature terminal
-source screendump.vim
-source mouse.vim
+source util/screendump.vim
+source util/mouse.vim
let $PROMPT_COMMAND=''
diff --git a/src/testdir/test_terminal3.vim b/src/testdir/test_terminal3.vim
index e86fdf0..218b4e6 100644
--- a/src/testdir/test_terminal3.vim
+++ b/src/testdir/test_terminal3.vim
@@ -4,10 +4,10 @@
CheckFeature terminal
-source screendump.vim
-source mouse.vim
+source util/screendump.vim
+source util/mouse.vim
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
let $PROMPT_COMMAND=''
@@ -806,7 +806,7 @@
" Test for sync buffer cwd with shell's pwd
func Test_terminal_sync_shell_dir()
CheckUnix
- " The test always use sh (see src/testdir/unix.vim).
+ " The test always use sh (see src/testdir/util/unix.vim).
" BSD's sh doesn't seem to play well with the OSC 7 escape sequence.
CheckNotBSD
diff --git a/src/testdir/test_terminal_fail.vim b/src/testdir/test_terminal_fail.vim
index 0ee00a1..c2bc4bd 100644
--- a/src/testdir/test_terminal_fail.vim
+++ b/src/testdir/test_terminal_fail.vim
@@ -4,8 +4,6 @@
CheckFeature terminal
-source shared.vim
-
func Test_terminal_redir_fails()
CheckUnix
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index 856a526..b5c9f63 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -3,8 +3,8 @@
CheckFeature textprop
-source screendump.vim
-import './vim9.vim' as v9
+source util/screendump.vim
+import './util/vim9.vim' as v9
func Test_proptype_global()
call prop_type_add('comment', {'highlight': 'Directory', 'priority': 123, 'start_incl': 1, 'end_incl': 1})
diff --git a/src/testdir/test_timers.vim b/src/testdir/test_timers.vim
index 0f9fddb..9ba5d0f 100644
--- a/src/testdir/test_timers.vim
+++ b/src/testdir/test_timers.vim
@@ -2,7 +2,7 @@
CheckFeature timers
-source screendump.vim
+source util/screendump.vim
func SetUp()
" The tests here use timers, thus are sensitive to timing.
diff --git a/src/testdir/test_trycatch.vim b/src/testdir/test_trycatch.vim
index 1fde607..0488861 100644
--- a/src/testdir/test_trycatch.vim
+++ b/src/testdir/test_trycatch.vim
@@ -1,7 +1,7 @@
" Test try-catch-finally exception handling
" Most of this was formerly in test49.
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
"-------------------------------------------------------------------------------
" Test environment {{{1
diff --git a/src/testdir/test_tuple.vim b/src/testdir/test_tuple.vim
index 45f730d..c6d8e81 100644
--- a/src/testdir/test_tuple.vim
+++ b/src/testdir/test_tuple.vim
@@ -1,6 +1,6 @@
" Tests for the Tuple types
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func TearDown()
" Run garbage collection after every test
diff --git a/src/testdir/test_undo.vim b/src/testdir/test_undo.vim
index b4506cb..a68321f 100644
--- a/src/testdir/test_undo.vim
+++ b/src/testdir/test_undo.vim
@@ -3,7 +3,7 @@
" undo-able pieces. Do that by setting 'undolevels'.
" Also tests :earlier and :later.
-source screendump.vim
+source util/screendump.vim
func Test_undotree()
new
diff --git a/src/testdir/test_user_func.vim b/src/testdir/test_user_func.vim
index 8a32afe..d12ad8e 100644
--- a/src/testdir/test_user_func.vim
+++ b/src/testdir/test_user_func.vim
@@ -3,7 +3,7 @@
" Also test that a builtin function cannot be replaced.
" Also test for regression when calling arbitrary expression.
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func Table(title, ...)
let ret = a:title
diff --git a/src/testdir/test_usercommands.vim b/src/testdir/test_usercommands.vim
index e61a9ce..636ac2b 100644
--- a/src/testdir/test_usercommands.vim
+++ b/src/testdir/test_usercommands.vim
@@ -1,8 +1,8 @@
" Tests for user defined commands
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
-source screendump.vim
+source util/screendump.vim
" Test for <mods> in user defined commands
function Test_cmdmods()
diff --git a/src/testdir/test_utf8.vim b/src/testdir/test_utf8.vim
index 9c2a749..a0cd5bd 100644
--- a/src/testdir/test_utf8.vim
+++ b/src/testdir/test_utf8.vim
@@ -1,6 +1,6 @@
" Tests for Unicode manipulations
-source screendump.vim
+source util/screendump.vim
" Visual block Insert adjusts for multi-byte char
func Test_visual_block_insert()
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index dde750b..c0f56d9 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -1,6 +1,6 @@
" Test Vim9 assignments
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
let s:appendToMe = 'xxx'
let s:addToMe = 111
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index a653c7c..675dcd0 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -1,7 +1,7 @@
" Test using builtin functions in the Vim9 script language.
-source screendump.vim
-import './vim9.vim' as v9
+source util/screendump.vim
+import './util/vim9.vim' as v9
" Test for passing too many or too few arguments to builtin functions
func Test_internalfunc_arg_error()
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index e08c40c..4c8c1cd 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -1,6 +1,6 @@
" Test Vim9 classes
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
def Test_class_basic()
# Class supported only in "vim9script"
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index 0d525b4..1380440 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -1,6 +1,6 @@
" Test commands that are not compiled in a :def function
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
def Test_vim9cmd()
var lines =<< trim END
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index f1059fb..4a86a9b 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -1,6 +1,6 @@
" Test the :disassemble command, and compilation as a side effect
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
func s:NotCompiled()
echo "not"
diff --git a/src/testdir/test_vim9_enum.vim b/src/testdir/test_vim9_enum.vim
index 0ce7dad..d2ccb77 100644
--- a/src/testdir/test_vim9_enum.vim
+++ b/src/testdir/test_vim9_enum.vim
@@ -1,6 +1,6 @@
" Test Vim9 enums
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
" Test for parsing an enum definition
def Test_enum_parse()
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 22d6681..d47c451 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -1,6 +1,6 @@
" Tests for Vim9 script expressions
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
let g:cond = v:false
def FuncOne(arg: number): string
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 42b8b4f..e214d95 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
Binary files differ
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim
index 0eeaa7f..191008e 100644
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -1,7 +1,7 @@
" Test import/export of the Vim9 script language.
" Also the autoload mechanism.
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
let s:export_script_lines =<< trim END
vim9script
diff --git a/src/testdir/test_vim9_python3.vim b/src/testdir/test_vim9_python3.vim
index 9817dd8..42a112a 100644
--- a/src/testdir/test_vim9_python3.vim
+++ b/src/testdir/test_vim9_python3.vim
@@ -1,5 +1,5 @@
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
CheckFeature python3
def Test_python3_py3eval_locals()
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 52d64c6..d4043d1 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1,7 +1,7 @@
" Test various aspects of the Vim9 script language.
-import './vim9.vim' as v9
-source screendump.vim
+import './util/vim9.vim' as v9
+source util/screendump.vim
def Test_vim9script_feature()
# example from the help, here the feature is always present
@@ -3652,12 +3652,12 @@
], 'E1144:')
v9.CheckScriptSuccess([
'vim9script',
- 'import "./vim9.vim" as v9',
+ 'import "./util/vim9.vim" as v9',
'function v9.CheckScriptSuccess # comment',
])
v9.CheckScriptFailure([
'vim9script',
- 'import "./vim9.vim" as v9',
+ 'import "./util/vim9.vim" as v9',
'function v9.CheckScriptSuccess# comment',
], 'E1048: Item not found in script: CheckScriptSuccess#')
diff --git a/src/testdir/test_vim9_typealias.vim b/src/testdir/test_vim9_typealias.vim
index 9d7bd89..f09f5d8 100644
--- a/src/testdir/test_vim9_typealias.vim
+++ b/src/testdir/test_vim9_typealias.vim
@@ -1,6 +1,6 @@
" Test Vim9 type aliases
-import './vim9.vim' as v9
+import './util/vim9.vim' as v9
" Test for :type command to create type aliases
def Test_typealias()
diff --git a/src/testdir/test_vimscript.vim b/src/testdir/test_vimscript.vim
index e1000fb..af78d1c 100644
--- a/src/testdir/test_vimscript.vim
+++ b/src/testdir/test_vimscript.vim
@@ -2,7 +2,7 @@
" Most of this was formerly in test49.vim (developed by Servatius Brandt
" <Servatius.Brandt@fujitsu-siemens.com>)
-source script_util.vim
+source util/script_util.vim
"-------------------------------------------------------------------------------
" Test environment {{{1
@@ -23,7 +23,7 @@
func RunInNewVim(test, verify)
let init =<< trim END
set cpo-=C " support line-continuation in sourced script
- source script_util.vim
+ source util/script_util.vim
XpathINIT
XloopINIT
END
diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim
index df9fe99..4fab925 100644
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -1,7 +1,7 @@
" Tests for various Visual modes.
-source screendump.vim
-import './vim9.vim' as v9
+source util/screendump.vim
+import './util/vim9.vim' as v9
func Test_block_shift_multibyte()
" Uses double-wide character.
diff --git a/src/testdir/test_wayland.vim b/src/testdir/test_wayland.vim
index e72a37f..8aa9abc 100644
--- a/src/testdir/test_wayland.vim
+++ b/src/testdir/test_wayland.vim
@@ -1,4 +1,4 @@
-source window_manager.vim
+source util/window_manager.vim
CheckFeature wayland
CheckFeature wayland_clipboard
diff --git a/src/testdir/test_winbar.vim b/src/testdir/test_winbar.vim
index f6185f8..5924174 100644
--- a/src/testdir/test_winbar.vim
+++ b/src/testdir/test_winbar.vim
@@ -2,7 +2,7 @@
CheckFeature menu
-source screendump.vim
+source util/screendump.vim
func Test_add_remove_menu()
new
diff --git a/src/testdir/test_window_cmd.vim b/src/testdir/test_window_cmd.vim
index bc1aaa9..2e00ab4 100644
--- a/src/testdir/test_window_cmd.vim
+++ b/src/testdir/test_window_cmd.vim
@@ -1,6 +1,6 @@
" Tests for window cmd (:wincmd, :split, :vsplit, :resize and etc...)
-source screendump.vim
+source util/screendump.vim
func Test_window_cmd_ls0_with_split()
set ls=0
diff --git a/src/testdir/test_xdg.vim b/src/testdir/test_xdg.vim
index 218714d..abded47 100644
--- a/src/testdir/test_xdg.vim
+++ b/src/testdir/test_xdg.vim
@@ -206,7 +206,7 @@
" Is setup in Github Runner
unlet $XDG_CONFIG_HOME
- source setup_gui.vim
+ source util/setup_gui.vim
call GUISetUpCommon()
" This tests, that the GUI initialization file from
diff --git a/src/testdir/test_xxd.vim b/src/testdir/test_xxd.vim
index b2ef4e5..79fc9bf 100644
--- a/src/testdir/test_xxd.vim
+++ b/src/testdir/test_xxd.vim
@@ -1,6 +1,6 @@
" Test for the xxd command
-source screendump.vim
+source util/screendump.vim
if empty($XXD) && executable('..\xxd\xxd.exe')
let s:xxd_cmd = '..\xxd\xxd.exe'
diff --git a/src/testdir/amiga.vim b/src/testdir/util/amiga.vim
similarity index 79%
rename from src/testdir/amiga.vim
rename to src/testdir/util/amiga.vim
index 79956d7..2837fe5 100644
--- a/src/testdir/amiga.vim
+++ b/src/testdir/util/amiga.vim
@@ -3,4 +3,4 @@
map! /tmp t:
cmap !rm !Delete all
-source setup.vim
+source util/setup.vim
diff --git a/src/testdir/check.vim b/src/testdir/util/check.vim
similarity index 98%
rename from src/testdir/check.vim
rename to src/testdir/util/check.vim
index fd160b0..aa8eceb 100644
--- a/src/testdir/check.vim
+++ b/src/testdir/util/check.vim
@@ -1,5 +1,5 @@
-source shared.vim
-source term_util.vim
+source util/shared.vim
+source util/term_util.vim
" uses line-continuation
let s:cpo_save = &cpo
@@ -154,7 +154,7 @@
endfunc
" Command to check that making screendumps is supported.
-" Caller must source screendump.vim
+" Caller must source util/screendump.vim
command CheckScreendump call CheckScreendump()
func CheckScreendump()
let g:check_screendump_called = v:true
diff --git a/src/testdir/color_ramp.vim b/src/testdir/util/color_ramp.vim
similarity index 100%
rename from src/testdir/color_ramp.vim
rename to src/testdir/util/color_ramp.vim
diff --git a/src/testdir/dos.vim b/src/testdir/util/dos.vim
similarity index 93%
rename from src/testdir/dos.vim
rename to src/testdir/util/dos.vim
index 6301af5..3134d34 100644
--- a/src/testdir/dos.vim
+++ b/src/testdir/util/dos.vim
@@ -6,4 +6,4 @@
set shell=cmd.exe shellcmdflag=/D\ /c
endif
-source setup.vim
+source util/setup.vim
diff --git a/src/testdir/gen_opt_test.vim b/src/testdir/util/gen_opt_test.vim
similarity index 99%
rename from src/testdir/gen_opt_test.vim
rename to src/testdir/util/gen_opt_test.vim
index 78a783e..1e0f39c 100644
--- a/src/testdir/gen_opt_test.vim
+++ b/src/testdir/util/gen_opt_test.vim
@@ -50,7 +50,7 @@
" Script header.
" The test values contains multibyte characters.
let script = [
- \ '" DO NOT EDIT: Generated with gen_opt_test.vim',
+ \ '" DO NOT EDIT: Generated with util/gen_opt_test.vim',
\ '" Used by test_options_all.vim.',
\ '',
\ 'scriptencoding utf-8',
diff --git a/src/testdir/gui_init.vim b/src/testdir/util/gui_init.vim
similarity index 100%
rename from src/testdir/gui_init.vim
rename to src/testdir/util/gui_init.vim
diff --git a/src/testdir/gui_preinit.vim b/src/testdir/util/gui_preinit.vim
similarity index 100%
rename from src/testdir/gui_preinit.vim
rename to src/testdir/util/gui_preinit.vim
diff --git a/src/testdir/mouse.vim b/src/testdir/util/mouse.vim
similarity index 100%
rename from src/testdir/mouse.vim
rename to src/testdir/util/mouse.vim
diff --git a/src/testdir/popupbounce.vim b/src/testdir/util/popupbounce.vim
similarity index 96%
rename from src/testdir/popupbounce.vim
rename to src/testdir/util/popupbounce.vim
index b9f7bd1..5e63aca 100644
--- a/src/testdir/popupbounce.vim
+++ b/src/testdir/util/popupbounce.vim
@@ -3,7 +3,7 @@
" cd src
" # Edit Makefile to uncomment PROFILE_CFLAGS and PROFILE_LIBS
" make reconfig
-" ./vim --clean -S testdir/popupbounce.vim main.c
+" ./vim --clean -S testdir/util/popupbounce.vim main.c
" gprof vim gmon.out | vim -
" using line continuation
diff --git a/src/testdir/screendump.vim b/src/testdir/util/screendump.vim
similarity index 100%
rename from src/testdir/screendump.vim
rename to src/testdir/util/screendump.vim
diff --git a/src/testdir/script_util.vim b/src/testdir/util/script_util.vim
similarity index 100%
rename from src/testdir/script_util.vim
rename to src/testdir/util/script_util.vim
diff --git a/src/testdir/setup.vim b/src/testdir/util/setup.vim
similarity index 100%
rename from src/testdir/setup.vim
rename to src/testdir/util/setup.vim
diff --git a/src/testdir/setup_gui.vim b/src/testdir/util/setup_gui.vim
similarity index 100%
rename from src/testdir/setup_gui.vim
rename to src/testdir/util/setup_gui.vim
diff --git a/src/testdir/shared.vim b/src/testdir/util/shared.vim
similarity index 99%
rename from src/testdir/shared.vim
rename to src/testdir/util/shared.vim
index f459d87..ddd3f37 100644
--- a/src/testdir/shared.vim
+++ b/src/testdir/util/shared.vim
@@ -5,7 +5,7 @@
finish
endif
-source view_util.vim
+source util/view_util.vim
" When 'term' is changed some status requests may be sent. The responses may
" interfere with what is being tested. A short sleep is used to process any of
diff --git a/src/testdir/summarize.vim b/src/testdir/util/summarize.vim
similarity index 100%
rename from src/testdir/summarize.vim
rename to src/testdir/util/summarize.vim
diff --git a/src/testdir/term_util.vim b/src/testdir/util/term_util.vim
similarity index 99%
rename from src/testdir/term_util.vim
rename to src/testdir/util/term_util.vim
index 19362aa..61ff9ce 100644
--- a/src/testdir/term_util.vim
+++ b/src/testdir/util/term_util.vim
@@ -5,7 +5,7 @@
finish
endif
-source shared.vim
+source util/shared.vim
" For most tests we need to be able to run terminal Vim with 256 colors. On
" MS-Windows the console only has 16 colors and the GUI can't run in a
diff --git a/src/testdir/unix.vim b/src/testdir/util/unix.vim
similarity index 94%
rename from src/testdir/unix.vim
rename to src/testdir/util/unix.vim
index 366c9b1..8a97129 100644
--- a/src/testdir/unix.vim
+++ b/src/testdir/util/unix.vim
@@ -10,4 +10,4 @@
let g:tester_HOME = $HOME
endif
-source setup.vim
+source util/setup.vim
diff --git a/src/testdir/view_util.vim b/src/testdir/util/view_util.vim
similarity index 100%
rename from src/testdir/view_util.vim
rename to src/testdir/util/view_util.vim
diff --git a/src/testdir/vim9.vim b/src/testdir/util/vim9.vim
similarity index 100%
rename from src/testdir/vim9.vim
rename to src/testdir/util/vim9.vim
diff --git a/src/testdir/vms.vim b/src/testdir/util/vms.vim
similarity index 81%
rename from src/testdir/vms.vim
rename to src/testdir/util/vms.vim
index 64b390e..0a264e9 100644
--- a/src/testdir/vms.vim
+++ b/src/testdir/util/vms.vim
@@ -3,4 +3,4 @@
" Do not use any swap files
set noswapfile
-source setup.vim
+source util/setup.vim
diff --git a/src/testdir/window_manager.vim b/src/testdir/util/window_manager.vim
similarity index 100%
rename from src/testdir/window_manager.vim
rename to src/testdir/util/window_manager.vim
diff --git a/src/version.c b/src/version.c
index 470104c..bf9424f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -720,6 +720,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1525,
+/**/
1524,
/**/
1523,