mirror of https://github.com/vim/vim.git
patch 8.2.1439: tiny and small builds have no test coverage
Problem: Tiny and small builds have no test coverage. Solution: Restore tests that do not depend on the +eval feature. (Ken Takata, closes #6696)
This commit is contained in:
parent
7ac616cb0a
commit
b96a32ef1a
|
@ -7,11 +7,11 @@ env:
|
|||
_anchors:
|
||||
envs:
|
||||
- &tiny-nogui
|
||||
FEATURES=tiny CONFOPT="--disable-gui"
|
||||
FEATURES=tiny TEST=testtiny CONFOPT="--disable-gui"
|
||||
- &tiny
|
||||
FEATURES=tiny
|
||||
FEATURES=tiny TEST=testtiny
|
||||
- &small
|
||||
FEATURES=small
|
||||
FEATURES=small TEST=testtiny
|
||||
- &normal
|
||||
FEATURES=normal
|
||||
- &linux-huge
|
||||
|
|
6
Filelist
6
Filelist
|
@ -158,9 +158,7 @@ SRC_ALL = \
|
|||
src/testdir/gen_opt_test.vim \
|
||||
src/testdir/README.txt \
|
||||
src/testdir/Make_all.mak \
|
||||
src/testdir/dotest.in \
|
||||
src/testdir/test1.in \
|
||||
src/testdir/test77a.in \
|
||||
src/testdir/*.in \
|
||||
src/testdir/*.py \
|
||||
src/testdir/lsan-suppress.txt \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
|
@ -179,7 +177,7 @@ SRC_ALL = \
|
|||
src/testdir/summarize.vim \
|
||||
src/testdir/term_util.vim \
|
||||
src/testdir/view_util.vim \
|
||||
- src/testdir/test1.ok \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test77a.ok \
|
||||
src/testdir/test83-tags? \
|
||||
src/testdir/test77a.com \
|
||||
|
|
2
Makefile
2
Makefile
|
@ -32,7 +32,7 @@ first:
|
|||
|
||||
# Some make programs use the last target for the $@ default; put the other
|
||||
# targets separately to always let $@ expand to "first" by default.
|
||||
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests test_libvterm unittests testclean clean distclean:
|
||||
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests testtiny test_libvterm unittests testclean clean distclean:
|
||||
@if test ! -f src/auto/config.mk; then \
|
||||
cp src/config.mk.dist src/auto/config.mk; \
|
||||
fi
|
||||
|
|
|
@ -20,11 +20,17 @@ and for testing plugins.
|
|||
Vim can be tested after building it, usually with "make test".
|
||||
The tests are located in the directory "src/testdir".
|
||||
|
||||
There are two types of tests added over time:
|
||||
test20.in oldest, only for tiny and small builds
|
||||
test_something.vim new style tests
|
||||
|
||||
*new-style-testing*
|
||||
New tests should be added as new style tests. The test scripts are named
|
||||
test_<feature>.vim (replace <feature> with the feature under test). These use
|
||||
functions such as |assert_equal()| to keep the test commands and the expected
|
||||
result in one place.
|
||||
*old-style-testing*
|
||||
These tests are used only for testing Vim without the |+eval| feature.
|
||||
|
||||
Find more information in the file src/testdir/README.txt.
|
||||
|
||||
|
|
|
@ -1464,12 +1464,22 @@ cmdidxs: ex_cmds.h
|
|||
|
||||
test:
|
||||
cd testdir
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak win32
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak
|
||||
cd ..
|
||||
|
||||
testgvim:
|
||||
cd testdir
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\gvim win32
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\gvim
|
||||
cd ..
|
||||
|
||||
testtiny:
|
||||
cd testdir
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak tiny
|
||||
cd ..
|
||||
|
||||
testgvimtiny:
|
||||
cd testdir
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak tiny VIMPROG=..\gvim
|
||||
cd ..
|
||||
|
||||
testclean:
|
||||
|
@ -1477,9 +1487,9 @@ testclean:
|
|||
$(MAKE) /NOLOGO -f Make_dos.mak clean
|
||||
cd ..
|
||||
|
||||
# Run test1 to bootstrap tests
|
||||
# Run individual OLD style test.
|
||||
# These do not depend on the executable, compile it when needed.
|
||||
$(SCRIPTS_FIRST:.out=):
|
||||
$(SCRIPTS_TINY):
|
||||
cd testdir
|
||||
- if exist $@.out del $@.out
|
||||
$(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) nolog
|
||||
|
|
|
@ -2258,6 +2258,9 @@ scripttests:
|
|||
testgui:
|
||||
cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET) GUI_FLAG=-g $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
testtiny:
|
||||
cd testdir; $(MAKE) -f Makefile tiny VIMPROG=../$(VIMTARGET) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
benchmark:
|
||||
cd testdir; $(MAKE) -f Makefile benchmark VIMPROG=../$(VIMTARGET) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
|
@ -2291,9 +2294,9 @@ test_libvterm:
|
|||
CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"; \
|
||||
fi
|
||||
|
||||
# Run test1, used to bootstrap tests.
|
||||
# This does not depend on the executable, compile first it when needed.
|
||||
test1:
|
||||
# Run individual OLD style test.
|
||||
# These do not depend on the executable, compile it when needed.
|
||||
$(SCRIPTS_TINY):
|
||||
cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
# Run individual NEW style test.
|
||||
|
|
|
@ -7,8 +7,26 @@
|
|||
NO_PLUGINS = --noplugin --not-a-term
|
||||
NO_INITS = -U NONE $(NO_PLUGINS)
|
||||
|
||||
# The first script creates small.vim.
|
||||
SCRIPTS_FIRST = test1.out
|
||||
# Tests for tiny and small builds.
|
||||
SCRIPTS_TINY = \
|
||||
test20 \
|
||||
test21 \
|
||||
test22 \
|
||||
test23 \
|
||||
test24 \
|
||||
test25 \
|
||||
test26 \
|
||||
test27
|
||||
|
||||
SCRIPTS_TINY_OUT = \
|
||||
test20.out \
|
||||
test21.out \
|
||||
test22.out \
|
||||
test23.out \
|
||||
test24.out \
|
||||
test25.out \
|
||||
test26.out \
|
||||
test27.out
|
||||
|
||||
# Tests for Vim9 script.
|
||||
TEST_VIM9 = \
|
||||
|
@ -25,6 +43,9 @@ TEST_VIM9_RES = \
|
|||
test_vim9_func.res \
|
||||
test_vim9_script.res
|
||||
|
||||
# Benchmark scripts.
|
||||
SCRIPTS_BENCH = test_bench_regexp.res
|
||||
|
||||
# Individual tests, including the ones part of test_alot.
|
||||
# Please keep sorted up to test_alot.
|
||||
NEW_TESTS = \
|
||||
|
|
|
@ -9,9 +9,11 @@ default: nongui
|
|||
|
||||
include Make_all.mak
|
||||
|
||||
SCRIPTS = $(SCRIPTS_TINY_OUT)
|
||||
|
||||
.SUFFIXES: .in .out .res .vim
|
||||
|
||||
nongui: /tmp $(SCRIPTS_FIRST)
|
||||
nongui: /tmp $(SCRIPTS)
|
||||
csh -c echo ALL DONE
|
||||
|
||||
clean:
|
||||
|
|
|
@ -9,20 +9,80 @@ default: nongui
|
|||
|
||||
!include Make_all.mak
|
||||
|
||||
TEST_OUTFILES = $(SCRIPTS_FIRST)
|
||||
# Explicit dependencies.
|
||||
test_options.res test_alot.res: opt_test.vim
|
||||
|
||||
TEST_OUTFILES = $(SCRIPTS_TINY_OUT)
|
||||
DOSTMP = dostmp
|
||||
DOSTMP_OUTFILES = $(TEST_OUTFILES:test=dostmp\test)
|
||||
DOSTMP_INFILES = $(DOSTMP_OUTFILES:.out=.in)
|
||||
|
||||
.SUFFIXES: .in .out .res .vim
|
||||
|
||||
nongui: nolog $(SCRIPTS_FIRST) newtests report
|
||||
nongui: nolog tinytests newtests report
|
||||
|
||||
small: nolog report
|
||||
gui: nolog tinytests newtests report
|
||||
|
||||
gui: nolog $(SCRIPTS_FIRST) newtests report
|
||||
tiny: nolog tinytests report
|
||||
|
||||
win32: nolog $(SCRIPTS_FIRST) newtests report
|
||||
benchmark: $(SCRIPTS_BENCH)
|
||||
|
||||
report:
|
||||
@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 $(NO_INITS) -S summarize.vim messages
|
||||
@echo.
|
||||
@echo Test results:
|
||||
@cmd /c type test_result.log
|
||||
@if exist test.log ( echo TEST FAILURE & exit /b 1 ) \
|
||||
else ( echo ALL DONE )
|
||||
|
||||
|
||||
# Execute an individual new style test, e.g.:
|
||||
# nmake -f Make_dos.mak test_largefile
|
||||
$(NEW_TESTS):
|
||||
-if exist $@.res del $@.res
|
||||
-if exist test.log del test.log
|
||||
-if exist messages del messages
|
||||
@$(MAKE) -nologo -f Make_dos.mak $@.res VIMPROG=$(VIMPROG)
|
||||
@type messages
|
||||
@if exist test.log exit 1
|
||||
|
||||
|
||||
# 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.
|
||||
clean:
|
||||
-if exist *.out $(DEL) *.out
|
||||
-if exist *.failed $(DEL) *.failed
|
||||
-if exist *.res $(DEL) *.res
|
||||
-if exist $(DOSTMP) rd /s /q $(DOSTMP)
|
||||
-if exist test.in del test.in
|
||||
-if exist test.ok del test.ok
|
||||
-if exist small.vim del small.vim
|
||||
-if exist tiny.vim del tiny.vim
|
||||
-if exist mbyte.vim del mbyte.vim
|
||||
-if exist mzscheme.vim del mzscheme.vim
|
||||
-if exist Xdir1 rd /s /q Xdir1
|
||||
-if exist Xfind rd /s /q Xfind
|
||||
-if exist XfakeHOME rd /s /q XfakeHOME
|
||||
-if exist X* $(DEL) X*
|
||||
-for /d %i in (X*) do @rd /s/q %i
|
||||
-if exist viminfo del viminfo
|
||||
-if exist test.log del test.log
|
||||
-if exist test_result.log del test_result.log
|
||||
-if exist messages del messages
|
||||
-if exist benchmark.out del benchmark.out
|
||||
-if exist opt_test.vim del opt_test.vim
|
||||
|
||||
nolog:
|
||||
-if exist test.log del test.log
|
||||
-if exist test_result.log del test_result.log
|
||||
-if exist messages del messages
|
||||
|
||||
|
||||
# Tiny tests. Works even without the +eval feature.
|
||||
tinytests: $(SCRIPTS_TINY_OUT)
|
||||
|
||||
# Copy the input files to dostmp, changing the fileformat to dos.
|
||||
$(DOSTMP_INFILES): $(*B).in
|
||||
|
@ -55,58 +115,6 @@ $(TEST_OUTFILES): $(DOSTMP)\$(*B).in
|
|||
& echo $* FAILED >> test.log ) \
|
||||
else ( move /y test.out $*.out > nul )
|
||||
|
||||
# Must run test1 first to create small.vim.
|
||||
# This rule must come after the one that copies the input files to dostmp to
|
||||
# allow for running an individual test.
|
||||
$(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) $(NEW_TESTS_RES): $(SCRIPTS_FIRST)
|
||||
|
||||
report:
|
||||
@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 $(NO_INITS) -S summarize.vim messages
|
||||
@echo.
|
||||
@echo Test results:
|
||||
@cmd /c type test_result.log
|
||||
@if exist test.log ( echo TEST FAILURE & exit /b 1 ) \
|
||||
else ( echo ALL DONE )
|
||||
|
||||
clean:
|
||||
-del *.out
|
||||
-del *.failed
|
||||
-del *.res
|
||||
-if exist $(DOSTMP) rd /s /q $(DOSTMP)
|
||||
-if exist test.in del test.in
|
||||
-if exist test.ok del test.ok
|
||||
-if exist small.vim del small.vim
|
||||
-if exist tiny.vim del tiny.vim
|
||||
-if exist mbyte.vim del mbyte.vim
|
||||
-if exist mzscheme.vim del mzscheme.vim
|
||||
-if exist Xdir1 rd /s /q Xdir1
|
||||
-if exist Xfind rd /s /q Xfind
|
||||
-if exist XfakeHOME rd /s /q XfakeHOME
|
||||
-del X*
|
||||
-for /d %i in (X*) do @rmdir /s/q %i
|
||||
-if exist viminfo del viminfo
|
||||
-if exist test.log del test.log
|
||||
-if exist test_result.log del test_result.log
|
||||
-if exist messages del messages
|
||||
-if exist benchmark.out del benchmark.out
|
||||
-if exist opt_test.vim del opt_test.vim
|
||||
|
||||
nolog:
|
||||
-if exist test.log del test.log
|
||||
-if exist test_result.log del test_result.log
|
||||
-if exist messages del messages
|
||||
|
||||
benchmark: test_bench_regexp.res
|
||||
|
||||
test_bench_regexp.res: test_bench_regexp.vim
|
||||
-if exist benchmark.out del benchmark.out
|
||||
@echo $(VIMPROG) > vimcmd
|
||||
$(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim
|
||||
@del vimcmd
|
||||
@IF EXIST benchmark.out ( type benchmark.out )
|
||||
|
||||
# New style of tests uses Vim script with assert calls. These are easier
|
||||
# to write and a lot easier to read and debug.
|
||||
|
@ -132,7 +140,12 @@ test_gui_init.res: test_gui_init.vim
|
|||
$(VIMPROG) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $*.vim
|
||||
@del vimcmd
|
||||
|
||||
test_options.res test_alot.res: opt_test.vim
|
||||
|
||||
opt_test.vim: ../optiondefs.h gen_opt_test.vim
|
||||
$(VIMPROG) -u NONE -S gen_opt_test.vim --noplugin --not-a-term ../optiondefs.h
|
||||
|
||||
test_bench_regexp.res: test_bench_regexp.vim
|
||||
-if exist benchmark.out del benchmark.out
|
||||
@echo $(VIMPROG) > vimcmd
|
||||
$(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim
|
||||
@del vimcmd
|
||||
@IF EXIST benchmark.out ( type benchmark.out )
|
||||
|
|
|
@ -6,62 +6,69 @@
|
|||
#
|
||||
# Requires a set of Unix tools: echo, diff, etc.
|
||||
|
||||
ifneq (sh.exe, $(SHELL))
|
||||
DEL = rm -f
|
||||
DELDIR = rm -rf
|
||||
MV = mv
|
||||
CP = cp
|
||||
CAT = cat
|
||||
DIRSLASH = /
|
||||
else
|
||||
# Don't use unix-like shell.
|
||||
SHELL = cmd.exe
|
||||
|
||||
DEL = del
|
||||
DELDIR = rd /s /q
|
||||
MV = rename
|
||||
CP = copy
|
||||
MV = move /y
|
||||
CP = copy /y
|
||||
CAT = type
|
||||
DIRSLASH = \\
|
||||
endif
|
||||
|
||||
VIMPROG = ..$(DIRSLASH)vim
|
||||
VIMPROG = ..\\vim
|
||||
|
||||
default: vimall
|
||||
default: nongui
|
||||
|
||||
include Make_all.mak
|
||||
|
||||
SCRIPTS_BENCH = test_bench_regexp.res
|
||||
# Explicit dependencies.
|
||||
test_options.res test_alot.res: opt_test.vim
|
||||
|
||||
# Must run test1 first to create small.vim.
|
||||
$(NEW_TESTS_RES): $(SCRIPTS_FIRST)
|
||||
TEST_OUTFILES = $(SCRIPTS_TINY_OUT)
|
||||
DOSTMP = dostmp
|
||||
# Keep $(DOSTMP)/*.in
|
||||
.PRECIOUS: $(patsubst %.out, $(DOSTMP)/%.in, $(TEST_OUTFILES))
|
||||
|
||||
.SUFFIXES: .in .out .res .vim
|
||||
|
||||
vimall: fixff $(SCRIPTS_FIRST) newtests
|
||||
@echo ALL DONE
|
||||
nongui: nolog tinytests newtests report
|
||||
|
||||
nongui: fixff nolog $(SCRIPTS_FIRST) newtests
|
||||
@echo ALL DONE
|
||||
gui: nolog tinytests newtests report
|
||||
|
||||
tiny: nolog tinytests report
|
||||
|
||||
benchmark: $(SCRIPTS_BENCH)
|
||||
|
||||
small: nolog
|
||||
@echo ALL DONE
|
||||
report:
|
||||
@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 $(NO_INITS) -S summarize.vim messages
|
||||
@echo.
|
||||
@echo Test results:
|
||||
@cmd /c type test_result.log
|
||||
@if exist test.log ( echo TEST FAILURE & exit /b 1 ) \
|
||||
else ( echo ALL DONE )
|
||||
|
||||
gui: fixff nolog $(SCRIPTS_FIRST) newtests
|
||||
@echo ALL DONE
|
||||
|
||||
win32: fixff nolog $(SCRIPTS_FIRST) newtests
|
||||
@echo ALL DONE
|
||||
# Execute an individual new style test, e.g.:
|
||||
# mingw32-make -f Make_ming.mak test_largefile
|
||||
$(NEW_TESTS):
|
||||
-if exist $@.res del $@.res
|
||||
-if exist test.log del test.log
|
||||
-if exist messages del messages
|
||||
@$(MAKE) -f Make_ming.mak $@.res VIMPROG=$(VIMPROG) --no-print-directory
|
||||
@type messages
|
||||
@if exist test.log exit 1
|
||||
|
||||
# TODO: find a way to avoid changing the distributed files.
|
||||
fixff:
|
||||
-$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=dos|upd" +q *.in *.ok
|
||||
-$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=unix|upd" +q \
|
||||
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.
|
||||
clean:
|
||||
-@if exist *.out $(DEL) *.out
|
||||
-@if exist *.failed $(DEL) *.failed
|
||||
-@if exist *.res $(DEL) *.res
|
||||
-@if exist $(DOSTMP) rd /s /q $(DOSTMP)
|
||||
-@if exist test.in $(DEL) test.in
|
||||
-@if exist test.ok $(DEL) test.ok
|
||||
-@if exist small.vim $(DEL) small.vim
|
||||
|
@ -72,36 +79,63 @@ clean:
|
|||
-@if exist Xfind $(DELDIR) Xfind
|
||||
-@if exist XfakeHOME $(DELDIR) XfakeHOME
|
||||
-@if exist X* $(DEL) X*
|
||||
-@for /d %%i in (X*) do @rd /s/q %%i
|
||||
-@if exist viminfo $(DEL) viminfo
|
||||
-@if exist test.log $(DEL) test.log
|
||||
-@if exist test_result.log del test_result.log
|
||||
-@if exist messages $(DEL) messages
|
||||
-@if exist benchmark.out del benchmark.out
|
||||
-@if exist opt_test.vim $(DEL) opt_test.vim
|
||||
|
||||
test1.out: test1.in
|
||||
-@if exist wrongtermsize $(DEL) wrongtermsize
|
||||
$(VIMPROG) -u dos.vim $(NO_INITS) -s dotest.in test1.in
|
||||
-@if exist wrongtermsize ( \
|
||||
echo Vim window too small- must be 80x25 or larger && exit 1 \
|
||||
)
|
||||
-@if exist test.out $(DEL) test.out
|
||||
-@if exist viminfo $(DEL) viminfo
|
||||
|
||||
nolog:
|
||||
-@if exist test.log $(DEL) test.log
|
||||
-@if exist test_result.log del test_result.log
|
||||
-@if exist messages $(DEL) messages
|
||||
|
||||
test_bench_regexp.res: test_bench_regexp.vim
|
||||
-$(DEL) benchmark.out
|
||||
@echo $(VIMPROG) > vimcmd
|
||||
$(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim
|
||||
@$(DEL) vimcmd
|
||||
$(CAT) benchmark.out
|
||||
|
||||
# Tiny tests. Works even without the +eval feature.
|
||||
tinytests: $(SCRIPTS_TINY_OUT)
|
||||
|
||||
# Copy the input files to dostmp, changing the fileformat to dos.
|
||||
$(DOSTMP)/%.in : %.in
|
||||
if not exist $(DOSTMP)\nul mkdir $(DOSTMP)
|
||||
if not exist $@ $(DEL) $@
|
||||
$(VIMPROG) -u dos.vim $(NO_INITS) "+set ff=dos|f $@|wq" $<
|
||||
|
||||
# For each input file dostmp/test99.in run the tests.
|
||||
# This moves test99.in to test99.in.bak temporarily.
|
||||
%.out : $(DOSTMP)/%.in
|
||||
-@if exist test.out $(DEL) test.out
|
||||
-@if exist $(DOSTMP)\$@ $(DEL) $(DOSTMP)\$@
|
||||
$(MV) $(notdir $<) $(notdir $<).bak > NUL
|
||||
$(CP) $(DOSTMP)\$(notdir $<) $(notdir $<) > NUL
|
||||
$(CP) $(basename $@).ok test.ok > NUL
|
||||
$(VIMPROG) -u dos.vim $(NO_INITS) -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
|
||||
-@if exist Xdir1 $(DELDIR) /s /q Xdir1
|
||||
-@if exist Xfind $(DELDIR) Xfind
|
||||
-@if exist XfakeHOME $(DELDIR) XfakeHOME
|
||||
-@del X*
|
||||
-@if exist viminfo del viminfo
|
||||
$(VIMPROG) -u dos.vim $(NO_INITS) "+set ff=unix|f test.out|wq" \
|
||||
$(DOSTMP)\$@
|
||||
@diff test.out $(basename $@).ok & if errorlevel 1 \
|
||||
( $(MV) test.out $(basename $@).failed > NUL \
|
||||
& del $(DOSTMP)\$@ \
|
||||
& echo $(basename $@) FAILED >> test.log ) \
|
||||
else ( $(MV) test.out $(basename $@).out > NUL )
|
||||
|
||||
|
||||
# New style of tests uses Vim script with assert calls. These are easier
|
||||
# to write and a lot easier to read and debug.
|
||||
# Limitation: Only works with the +eval feature.
|
||||
|
||||
newtests: $(NEW_TESTS_RES)
|
||||
newtests: newtestssilent
|
||||
@if exist messages (findstr "SKIPPED FAILED" messages > nul) && type messages
|
||||
|
||||
newtestssilent: $(NEW_TESTS_RES)
|
||||
|
||||
.vim.res:
|
||||
@echo $(VIMPROG) > vimcmd
|
||||
|
@ -118,7 +152,12 @@ test_gui_init.res: test_gui_init.vim
|
|||
$(VIMPROG) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $<
|
||||
@$(DEL) vimcmd
|
||||
|
||||
test_options.res test_alot.res: opt_test.vim
|
||||
|
||||
opt_test.vim: ../optiondefs.h gen_opt_test.vim
|
||||
$(VIMPROG) -u NONE -S gen_opt_test.vim --noplugin --not-a-term ../optiondefs.h
|
||||
|
||||
test_bench_regexp.res: test_bench_regexp.vim
|
||||
-$(DEL) benchmark.out
|
||||
@echo $(VIMPROG) > vimcmd
|
||||
$(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim
|
||||
@$(DEL) vimcmd
|
||||
$(CAT) benchmark.out
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
# Last change: 2020 Jul 03
|
||||
# Last change: 2020 Aug 13
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
|
@ -37,7 +37,9 @@ VIMPROG = <->vim.exe
|
|||
|
||||
.SUFFIXES : .out .in
|
||||
|
||||
SCRIPT = test1.out test77a.out
|
||||
SCRIPT = test20.out test21.out test22.out test23.out test24.out \
|
||||
test25.out test26.out test27.out \
|
||||
test77a.out
|
||||
|
||||
.IFDEF WANT_GUI
|
||||
GUI_OPTION = -g
|
||||
|
|
|
@ -12,7 +12,7 @@ SCRIPTSOURCE = ../../runtime
|
|||
# Comment out this line to see the verbose output of tests.
|
||||
#
|
||||
# Catches SwapExists to avoid hanging at the ATTENTION prompt.
|
||||
REDIR_TEST_TO_NULL = --cmd 'au SwapExists * let v:swapchoice = "e"' > /dev/null
|
||||
#REDIR_TEST_TO_NULL = --cmd 'au SwapExists * let v:swapchoice = "e"' > /dev/null
|
||||
|
||||
# Uncomment this line to use valgrind for memory leaks and extra warnings.
|
||||
# The output goes into a file "valgrind.testN"
|
||||
|
@ -23,19 +23,19 @@ REDIR_TEST_TO_NULL = --cmd 'au SwapExists * let v:swapchoice = "e"' > /dev/null
|
|||
default: nongui
|
||||
|
||||
# The list of tests is common to all systems.
|
||||
# This defines SCRIPTS_FIRST, NEW_TESTS and NEW_TESTS_RES
|
||||
# This defines SCRIPTS_TINY_OUT, NEW_TESTS and NEW_TESTS_RES.
|
||||
include Make_all.mak
|
||||
|
||||
# Explicit dependencies.
|
||||
test_options.res test_alot.res: opt_test.vim
|
||||
|
||||
SCRIPTS_BENCH = test_bench_regexp.res
|
||||
|
||||
.SUFFIXES: .in .out .res .vim
|
||||
|
||||
nongui: nolog $(SCRIPTS_FIRST) newtests report
|
||||
nongui: nolog tinytests newtests report
|
||||
|
||||
gui: nolog $(SCRIPTS_FIRST) newtests report
|
||||
gui: nolog tinytests newtests report
|
||||
|
||||
tiny: nolog tinytests report
|
||||
|
||||
benchmark: $(SCRIPTS_BENCH)
|
||||
|
||||
|
@ -54,10 +54,7 @@ report:
|
|||
else echo ALL DONE; \
|
||||
fi"
|
||||
|
||||
$(SCRIPTS_FIRST) $(NEW_TESTS_RES): $(VIMPROG)
|
||||
|
||||
# Must run test1 first to create small.vim.
|
||||
$(NEW_TESTS_RES): $(SCRIPTS_FIRST)
|
||||
$(SCRIPTS_TINY_OUT) $(NEW_TESTS_RES): $(VIMPROG)
|
||||
|
||||
|
||||
# Execute an individual new style test, e.g.:
|
||||
|
@ -81,7 +78,7 @@ test_vim9:
|
|||
fi
|
||||
|
||||
RM_ON_RUN = test.out X* viminfo
|
||||
RM_ON_START = tiny.vim small.vim mbyte.vim mzscheme.vim test.ok benchmark.out
|
||||
RM_ON_START = test.ok benchmark.out
|
||||
RUN_VIM = VIMRUNTIME=$(SCRIPTSOURCE) $(VALGRIND) $(VIMPROG) -f $(GUI_FLAG) -u unix.vim $(NO_INITS) -s dotest.in
|
||||
|
||||
# Delete files that may interfere with running tests. This includes some files
|
||||
|
@ -93,22 +90,34 @@ clean:
|
|||
-rm -f valgrind.*
|
||||
-rm -f asan.*
|
||||
|
||||
test1.out: test1.in
|
||||
-rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
|
||||
$(RUN_VIM) $*.in $(REDIR_TEST_TO_NULL)
|
||||
@/bin/sh -c "if test -f wrongtermsize; \
|
||||
then echo; \
|
||||
echo test1 FAILED - terminal size must be 80x24 or larger; \
|
||||
echo; exit 1; \
|
||||
elif diff test.out $*.ok; \
|
||||
then mv -f test.out $*.out; \
|
||||
else echo; \
|
||||
echo test1 FAILED - Something basic is wrong; \
|
||||
echo; exit 1; fi"
|
||||
-rm -rf X* viminfo
|
||||
|
||||
nolog:
|
||||
-rm -f test.log messages
|
||||
-rm -f test.log test_result.log messages
|
||||
|
||||
|
||||
# Tiny tests. Works even without the +eval feature.
|
||||
tinytests: $(SCRIPTS_TINY_OUT)
|
||||
|
||||
.in.out:
|
||||
-rm -rf $*.failed test.ok $(RM_ON_RUN)
|
||||
cp $*.ok test.ok
|
||||
@# Sleep a moment to avoid that the xterm title is messed up.
|
||||
@# 200 msec is sufficient, but only modern sleep supports a fraction of
|
||||
@# a second, fall back to a second if it fails.
|
||||
@-/bin/sh -c "sleep .2 > /dev/null 2>&1 || sleep 1"
|
||||
$(RUN_VIM) $*.in $(REDIR_TEST_TO_NULL)
|
||||
|
||||
@# Check if the test.out file matches test.ok.
|
||||
@/bin/sh -c "if test -f test.out; then \
|
||||
if diff test.out $*.ok; \
|
||||
then mv -f test.out $*.out; \
|
||||
else echo $* FAILED >>test.log; mv -f test.out $*.failed; \
|
||||
fi \
|
||||
else echo $* NO OUTPUT >>test.log; \
|
||||
fi"
|
||||
@/bin/sh -c "if test -f valgrind; then\
|
||||
mv -f valgrind valgrind.$*; \
|
||||
fi"
|
||||
-rm -rf X* test.ok viminfo
|
||||
|
||||
|
||||
# New style of tests uses Vim script with assert calls. These are easier
|
||||
|
@ -148,9 +157,9 @@ test_xxd.res:
|
|||
|
||||
test_bench_regexp.res: test_bench_regexp.vim
|
||||
-rm -rf benchmark.out $(RM_ON_RUN)
|
||||
# Sleep a moment to avoid that the xterm title is messed up.
|
||||
# 200 msec is sufficient, but only modern sleep supports a fraction of
|
||||
# a second, fall back to a second if it fails.
|
||||
@# Sleep a moment to avoid that the xterm title is messed up.
|
||||
@# 200 msec is sufficient, but only modern sleep supports a fraction of
|
||||
@# a second, fall back to a second if it fails.
|
||||
@-/bin/sh -c "sleep .2 > /dev/null 2>&1 || sleep 1"
|
||||
$(RUN_VIMTEST) $(NO_INITS) -S runtest.vim $*.vim $(REDIR_TEST_TO_NULL)
|
||||
@/bin/sh -c "if test -f benchmark.out; then cat benchmark.out; fi"
|
||||
|
|
|
@ -46,7 +46,9 @@
|
|||
|
||||
|
||||
" Without the +eval feature we can't run these tests, bail out.
|
||||
so small.vim
|
||||
silent! while 0
|
||||
qa!
|
||||
silent! endwhile
|
||||
|
||||
" In the GUI we can always change the screen size.
|
||||
if has('gui_running')
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
|
||||
First a simple test to check if the test script works.
|
||||
|
||||
If Vim was not compiled with the +eval feature, the small.vim script will be
|
||||
set to copy the test.ok file to test.out, so that it looks like the test
|
||||
succeeded. Otherwise an empty small.vim is written. small.vim is sourced by
|
||||
tests that require the +eval feature or other features that are missing in the
|
||||
small version.
|
||||
|
||||
If Vim was not compiled with the +windows feature, the tiny.vim script will be
|
||||
set like small.vim above. tiny.vim is sourced by tests that require the
|
||||
+windows feature or other features that are missing in the tiny version.
|
||||
|
||||
If Vim was not compiled with the +multi_byte feature, the mbyte.vim script will
|
||||
be set like small.vim above. mbyte.vim is sourced by tests that require the
|
||||
+multi_byte feature.
|
||||
Similar logic is applied to the +mzscheme feature, using mzscheme.vim.
|
||||
|
||||
STARTTEST
|
||||
:" If columns or lines are too small, create wrongtermsize.
|
||||
:" (Some tests will fail. When columns and/or lines are small)
|
||||
:if &lines < 24 || &columns < 80 | sp another | w! wrongtermsize | qa! | endif
|
||||
:"
|
||||
:" Write a single line to test.out to check if testing works at all.
|
||||
:%d
|
||||
athis is a test:w! test.out
|
||||
:" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
|
||||
0D:w! small.vim
|
||||
:w! tiny.vim
|
||||
ae! test.ok
|
||||
w! test.out
|
||||
qa!
|
||||
:w! mbyte.vim
|
||||
:w! mzscheme.vim
|
||||
:"
|
||||
:" If +multi_byte feature supported, make mbyte.vim empty.
|
||||
:if has("multi_byte") | sp another | w! mbyte.vim | q | endif
|
||||
:"
|
||||
:" If +mzscheme feature supported, make mzscheme.vim empty.
|
||||
:if has("mzscheme") | sp another | w! mzscheme.vim | q | endif
|
||||
:"
|
||||
:" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
|
||||
:" Otherwise write small.vim to skip the test.
|
||||
:if 1 | q! | endif
|
||||
:w! small.vim
|
||||
:" If +windows feature not supported :sp will fail and tiny.vim will be
|
||||
:" written to skip the test.
|
||||
:sp another
|
||||
:wq! tiny.vim
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
|
@ -1 +0,0 @@
|
|||
this is a test
|
|
@ -0,0 +1,27 @@
|
|||
Tests Blockwise Visual when there are TABs before the text.
|
||||
First test for undo working properly when executing commands from a register.
|
||||
Also test this in an empty buffer.
|
||||
|
||||
STARTTEST
|
||||
G0"ay$k@au
|
||||
:new
|
||||
@auY:quit!
|
||||
GP
|
||||
/start here$
|
||||
"by$jjlld
|
||||
/456$
|
||||
jj"bP
|
||||
:/56$/,$-1w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
123456
|
||||
234567
|
||||
345678
|
||||
|
||||
test text test tex start here
|
||||
some text
|
||||
test text
|
||||
test text
|
||||
|
||||
OxjAykdd
|
|
@ -0,0 +1,10 @@
|
|||
123start here56
|
||||
234start here67
|
||||
345start here78
|
||||
|
||||
test text test tex rt here
|
||||
somext
|
||||
tesext
|
||||
test text
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
Tests for file with some lines ending in CTRL-M, some not
|
||||
|
||||
STARTTEST
|
||||
:set ta tx
|
||||
:e!
|
||||
:$-3,$w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
this lines ends in a
|
||||
this one doesn't
|
||||
this one does
|
||||
and the last one doesn't
|
|
@ -0,0 +1,4 @@
|
|||
this lines ends in a
|
||||
this one doesn't
|
||||
this one does
|
||||
and the last one doesn't
|
|
@ -0,0 +1,15 @@
|
|||
Tests for complicated + argument to :edit command
|
||||
|
||||
STARTTEST
|
||||
:$-1w! Xfile1
|
||||
:$w! Xfile2
|
||||
:edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
|
||||
:w! test.out
|
||||
:e Xfile1
|
||||
:w >> test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
The result should be in Xfile1: "fooPIPEbar", in Xfile2: "fooSLASHbar"
|
||||
foo|bar
|
||||
foo/bar
|
|
@ -0,0 +1,2 @@
|
|||
fooSLASHbar
|
||||
fooPIPEbar
|
Binary file not shown.
|
@ -0,0 +1,32 @@
|
|||
start
|
||||
test text test text
|
||||
test text test text
|
||||
test text test text
|
||||
test text test text
|
||||
test text test text
|
||||
test text test text
|
||||
test text test text x61
|
||||
test text test text x60-x64
|
||||
test text test text x78 5
|
||||
test text test text o143
|
||||
test text test text o140-o144
|
||||
test text test text o41 7
|
||||
test text test text \%x42
|
||||
test text test text \%o103
|
||||
test text test text [\x00]
|
||||
test text test text [\x00-\x10]
|
||||
test text test text [\x-z]
|
||||
test text test text [\u-z]
|
||||
xx xx a
|
||||
xx aaaaa xx a
|
||||
xx aaaaa xx a
|
||||
xx Aaa xx
|
||||
xx Aaaa xx
|
||||
xx Aaa xx
|
||||
xx foobar xA xx
|
||||
xx an A xx
|
||||
XX 9;
|
||||
YY 77;
|
||||
xyz
|
||||
bcd
|
||||
BB
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
sd
|
||||
map __2 asdsecondsdsd0map __5 asd0fifth
|
|
@ -0,0 +1,108 @@
|
|||
Test character classes in regexp using regexpengine 0, 1, 2.
|
||||
|
||||
STARTTEST
|
||||
/^start-here/+1
|
||||
Y:s/\%#=0\d//g
|
||||
p:s/\%#=1\d//g
|
||||
p:s/\%#=2\d//g
|
||||
p:s/\%#=0[0-9]//g
|
||||
p:s/\%#=1[0-9]//g
|
||||
p:s/\%#=2[0-9]//g
|
||||
p:s/\%#=0\D//g
|
||||
p:s/\%#=1\D//g
|
||||
p:s/\%#=2\D//g
|
||||
p:s/\%#=0[^0-9]//g
|
||||
p:s/\%#=1[^0-9]//g
|
||||
p:s/\%#=2[^0-9]//g
|
||||
p:s/\%#=0\o//g
|
||||
p:s/\%#=1\o//g
|
||||
p:s/\%#=2\o//g
|
||||
p:s/\%#=0[0-7]//g
|
||||
p:s/\%#=1[0-7]//g
|
||||
p:s/\%#=2[0-7]//g
|
||||
p:s/\%#=0\O//g
|
||||
p:s/\%#=1\O//g
|
||||
p:s/\%#=2\O//g
|
||||
p:s/\%#=0[^0-7]//g
|
||||
p:s/\%#=1[^0-7]//g
|
||||
p:s/\%#=2[^0-7]//g
|
||||
p:s/\%#=0\x//g
|
||||
p:s/\%#=1\x//g
|
||||
p:s/\%#=2\x//g
|
||||
p:s/\%#=0[0-9A-Fa-f]//g
|
||||
p:s/\%#=1[0-9A-Fa-f]//g
|
||||
p:s/\%#=2[0-9A-Fa-f]//g
|
||||
p:s/\%#=0\X//g
|
||||
p:s/\%#=1\X//g
|
||||
p:s/\%#=2\X//g
|
||||
p:s/\%#=0[^0-9A-Fa-f]//g
|
||||
p:s/\%#=1[^0-9A-Fa-f]//g
|
||||
p:s/\%#=2[^0-9A-Fa-f]//g
|
||||
p:s/\%#=0\w//g
|
||||
p:s/\%#=1\w//g
|
||||
p:s/\%#=2\w//g
|
||||
p:s/\%#=0[0-9A-Za-z_]//g
|
||||
p:s/\%#=1[0-9A-Za-z_]//g
|
||||
p:s/\%#=2[0-9A-Za-z_]//g
|
||||
p:s/\%#=0\W//g
|
||||
p:s/\%#=1\W//g
|
||||
p:s/\%#=2\W//g
|
||||
p:s/\%#=0[^0-9A-Za-z_]//g
|
||||
p:s/\%#=1[^0-9A-Za-z_]//g
|
||||
p:s/\%#=2[^0-9A-Za-z_]//g
|
||||
p:s/\%#=0\h//g
|
||||
p:s/\%#=1\h//g
|
||||
p:s/\%#=2\h//g
|
||||
p:s/\%#=0[A-Za-z_]//g
|
||||
p:s/\%#=1[A-Za-z_]//g
|
||||
p:s/\%#=2[A-Za-z_]//g
|
||||
p:s/\%#=0\H//g
|
||||
p:s/\%#=1\H//g
|
||||
p:s/\%#=2\H//g
|
||||
p:s/\%#=0[^A-Za-z_]//g
|
||||
p:s/\%#=1[^A-Za-z_]//g
|
||||
p:s/\%#=2[^A-Za-z_]//g
|
||||
p:s/\%#=0\a//g
|
||||
p:s/\%#=1\a//g
|
||||
p:s/\%#=2\a//g
|
||||
p:s/\%#=0[A-Za-z]//g
|
||||
p:s/\%#=1[A-Za-z]//g
|
||||
p:s/\%#=2[A-Za-z]//g
|
||||
p:s/\%#=0\A//g
|
||||
p:s/\%#=1\A//g
|
||||
p:s/\%#=2\A//g
|
||||
p:s/\%#=0[^A-Za-z]//g
|
||||
p:s/\%#=1[^A-Za-z]//g
|
||||
p:s/\%#=2[^A-Za-z]//g
|
||||
p:s/\%#=0\l//g
|
||||
p:s/\%#=1\l//g
|
||||
p:s/\%#=2\l//g
|
||||
p:s/\%#=0[a-z]//g
|
||||
p:s/\%#=1[a-z]//g
|
||||
p:s/\%#=2[a-z]//g
|
||||
p:s/\%#=0\L//g
|
||||
p:s/\%#=1\L//g
|
||||
p:s/\%#=2\L//g
|
||||
p:s/\%#=0[^a-z]//g
|
||||
p:s/\%#=1[^a-z]//g
|
||||
p:s/\%#=2[^a-z]//g
|
||||
p:s/\%#=0\u//g
|
||||
p:s/\%#=1\u//g
|
||||
p:s/\%#=2\u//g
|
||||
p:s/\%#=0[A-Z]//g
|
||||
p:s/\%#=1[A-Z]//g
|
||||
p:s/\%#=2[A-Z]//g
|
||||
p:s/\%#=0\U//g
|
||||
p:s/\%#=1\U//g
|
||||
p:s/\%#=2\U//g
|
||||
p:s/\%#=0[^A-Z]//g
|
||||
p:s/\%#=1[^A-Z]//g
|
||||
p:s/\%#=2[^A-Z]//g
|
||||
p:s/\%#=0\%204l^\t...//g
|
||||
p:s/\%#=1\%205l^\t...//g
|
||||
p:s/\%#=2\%206l^\t...//g
|
||||
:/^start-here/+1,$wq! test.out
|
||||
ENDTEST
|
||||
|
||||
start-here
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~€‚<E282AC>›¦±¼ÇÓé
|
|
@ -0,0 +1,99 @@
|
|||
!"#$%&'()#+'-./:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
0123456789
|
||||
0123456789
|
||||
0123456789
|
||||
0123456789
|
||||
0123456789
|
||||
0123456789
|
||||
!"#$%&'()#+'-./89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./89:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
01234567
|
||||
01234567
|
||||
01234567
|
||||
01234567
|
||||
01234567
|
||||
01234567
|
||||
!"#$%&'()#+'-./:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@GHIXYZ[\]^_`ghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
0123456789ABCDEFabcdef
|
||||
0123456789ABCDEFabcdef
|
||||
0123456789ABCDEFabcdef
|
||||
0123456789ABCDEFabcdef
|
||||
0123456789ABCDEFabcdef
|
||||
0123456789ABCDEFabcdef
|
||||
!"#$%&'()#+'-./:;<=>?@[\]^`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@[\]^`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@[\]^`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@[\]^`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@[\]^`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./:;<=>?@[\]^`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
0123456789ABCDEFGHIXYZ_abcdefghiwxyz
|
||||
0123456789ABCDEFGHIXYZ_abcdefghiwxyz
|
||||
0123456789ABCDEFGHIXYZ_abcdefghiwxyz
|
||||
0123456789ABCDEFGHIXYZ_abcdefghiwxyz
|
||||
0123456789ABCDEFGHIXYZ_abcdefghiwxyz
|
||||
0123456789ABCDEFGHIXYZ_abcdefghiwxyz
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
ABCDEFGHIXYZ_abcdefghiwxyz
|
||||
ABCDEFGHIXYZ_abcdefghiwxyz
|
||||
ABCDEFGHIXYZ_abcdefghiwxyz
|
||||
ABCDEFGHIXYZ_abcdefghiwxyz
|
||||
ABCDEFGHIXYZ_abcdefghiwxyz
|
||||
ABCDEFGHIXYZ_abcdefghiwxyz
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
ABCDEFGHIXYZabcdefghiwxyz
|
||||
ABCDEFGHIXYZabcdefghiwxyz
|
||||
ABCDEFGHIXYZabcdefghiwxyz
|
||||
ABCDEFGHIXYZabcdefghiwxyz
|
||||
ABCDEFGHIXYZabcdefghiwxyz
|
||||
ABCDEFGHIXYZabcdefghiwxyz
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
abcdefghiwxyz
|
||||
abcdefghiwxyz
|
||||
abcdefghiwxyz
|
||||
abcdefghiwxyz
|
||||
abcdefghiwxyz
|
||||
abcdefghiwxyz
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
ABCDEFGHIXYZ
|
||||
ABCDEFGHIXYZ
|
||||
ABCDEFGHIXYZ
|
||||
ABCDEFGHIXYZ
|
||||
ABCDEFGHIXYZ
|
||||
ABCDEFGHIXYZ
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
||||
!"#$%&'()#+'-./0123456789:;<=>?@ABCDEFGHIXYZ[\]^_`abcdefghiwxyz{|}~<><7F><EFBFBD><EFBFBD>Ρ芝嚔
|
|
@ -0,0 +1,24 @@
|
|||
Test for writing and reading a file of over 100 Kbyte
|
||||
|
||||
1 line: "This is the start"
|
||||
3001 lines: "This is the leader"
|
||||
1 line: "This is the middle"
|
||||
3001 lines: "This is the trailer"
|
||||
1 line: "This is the end"
|
||||
|
||||
STARTTEST
|
||||
:%d
|
||||
aThis is the start
|
||||
This is the leader
|
||||
This is the middle
|
||||
This is the trailer
|
||||
This is the endkY3000p2GY3000p
|
||||
:w! Xtest
|
||||
:%d
|
||||
:e! Xtest
|
||||
:.w! test.out
|
||||
3003G:.w >>test.out
|
||||
6005G:.w >>test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
This is the start
|
||||
This is the middle
|
||||
This is the end
|
Binary file not shown.
Binary file not shown.
|
@ -276,11 +276,11 @@ func Test_set_completion()
|
|||
" Expand directories.
|
||||
call feedkeys(":set cdpath=./\<C-A>\<C-B>\"\<CR>", 'tx')
|
||||
call assert_match(' ./samples/ ', @:)
|
||||
call assert_notmatch(' ./small.vim ', @:)
|
||||
call assert_notmatch(' ./summarize.vim ', @:)
|
||||
|
||||
" Expand files and directories.
|
||||
call feedkeys(":set tags=./\<C-A>\<C-B>\"\<CR>", 'tx')
|
||||
call assert_match(' ./samples/.* ./small.vim', @:)
|
||||
call assert_match(' ./samples/.* ./summarize.vim', @:)
|
||||
|
||||
call feedkeys(":set tags=./\\\\ dif\<C-A>\<C-B>\"\<CR>", 'tx')
|
||||
call assert_equal('"set tags=./\\ diff diffexpr diffopt', @:)
|
||||
|
|
|
@ -754,6 +754,8 @@ static char *(features[]) =
|
|||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1439,
|
||||
/**/
|
||||
1438,
|
||||
/**/
|
||||
|
|
Loading…
Reference in New Issue