patch 9.1.0791: tests: errors in gen_opt_test.vim are not shown
Problem: tests: errors in gen_opt_test.vim are not shown
Solution: update gen_opt_test.vim and write test.log,
let the makefile output test.log (Milly)
closes: #15887
Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak
index f26950e..16632b3 100644
--- a/src/testdir/Make_ming.mak
+++ b/src/testdir/Make_ming.mak
@@ -157,8 +157,12 @@
$(VIMPROG) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $<
@$(DEL) vimcmd
-opt_test.vim: ../optiondefs.h gen_opt_test.vim
- $(VIMPROG) -e -s -u NONE $(COMMON_ARGS) --nofork -S gen_opt_test.vim ../optiondefs.h
+opt_test.vim: gen_opt_test.vim ../optiondefs.h
+ $(VIMPROG) -e -s -u NONE $(COMMON_ARGS) --nofork -S $^
+ @if test -f test.log; then \
+ cat test.log; \
+ exit 1; \
+ fi
test_bench_regexp.res: test_bench_regexp.vim
-$(DEL) benchmark.out
diff --git a/src/testdir/Make_mvc.mak b/src/testdir/Make_mvc.mak
index bb38e25..bbfd8f0 100644
--- a/src/testdir/Make_mvc.mak
+++ b/src/testdir/Make_mvc.mak
@@ -151,8 +151,9 @@
$(VIMPROG) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $*.vim
@del vimcmd
-opt_test.vim: ../optiondefs.h gen_opt_test.vim
- $(VIMPROG) -e -s -u NONE $(COMMON_ARGS) --nofork -S gen_opt_test.vim ../optiondefs.h
+opt_test.vim: gen_opt_test.vim ../optiondefs.h
+ $(VIMPROG) -e -s -u NONE $(COMMON_ARGS) --nofork -S $**
+ @if exist test.log ( type test.log & exit /b 1 )
test_bench_regexp.res: test_bench_regexp.vim
-if exist benchmark.out del benchmark.out
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index 2827f99..66b8f1b 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -160,8 +160,14 @@
$(RUN_VIMTEST) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $<
@rm vimcmd
-opt_test.vim: ../optiondefs.h gen_opt_test.vim
- $(VIMPROG) -e -s -u NONE $(NO_INITS) --nofork --gui-dialog-file guidialog -S gen_opt_test.vim ../optiondefs.h
+GEN_OPT_DEPS = gen_opt_test.vim ../optiondefs.h
+
+opt_test.vim: $(GEN_OPT_DEPS)
+ $(VIMPROG) -e -s -u NONE $(NO_INITS) --nofork --gui-dialog-file guidialog -S $(GEN_OPT_DEPS)
+ @if test -f test.log; then \
+ cat test.log; \
+ exit 1; \
+ fi
test_xxd.res:
XXD=$(XXDPROG); export XXD; $(RUN_VIMTEST) $(NO_INITS) -S runtest.vim test_xxd.vim
diff --git a/src/testdir/gen_opt_test.vim b/src/testdir/gen_opt_test.vim
index 4ca3c09..372070b 100644
--- a/src/testdir/gen_opt_test.vim
+++ b/src/testdir/gen_opt_test.vim
@@ -192,6 +192,12 @@
\ 'otherstring': [['', 'xxx'], []],
\}
+const invalid_options = test_values->keys()
+ \->filter({-> v:val !~# '^other' && !exists($"&{v:val}")})
+if !empty(invalid_options)
+ throw $"Invalid option name in test_values: '{invalid_options->join("', '")}'"
+endif
+
1
/struct vimoption options
while 1
@@ -253,11 +259,14 @@
call writefile(script, 'opt_test.vim')
-" Exit with error-code if error occurs.
+" Write error messages if error occurs.
catch
- set verbose=1
- echoc 'Error:' v:exception 'in' v:throwpoint
- cq! 1
+ " Append errors to test.log
+ let error = $'Error: {v:exception} in {v:throwpoint}'
+ echoc error
+ split test.log
+ call append('$', error)
+ write
endtry
endif
diff --git a/src/version.c b/src/version.c
index 89ca65c..c5d66b1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 791,
+/**/
790,
/**/
789,