changeset 15430:d94901eeb762 v8.1.0723

patch 8.1.0723: cannot easily run specific test when in src/testdir commit https://github.com/vim/vim/commit/ec50401e1e1357a1340b3c92109fd4860e38a8ac Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jan 11 17:30:16 2019 +0100 patch 8.1.0723: cannot easily run specific test when in src/testdir Problem: Cannot run specific test when in src/testdir the same was as in the src directory. Solution: Move build rule to src/testdir/Makefile.
author Bram Moolenaar <Bram@vim.org>
date Fri, 11 Jan 2019 17:45:05 +0100
parents 166f78185f87
children bab1e9e00aac
files src/Make_all.mak src/Make_mvc.mak src/Makefile src/testdir/Make_all.mak src/testdir/Make_amiga.mak src/testdir/Make_dos.mak src/testdir/Make_ming.mak src/testdir/Makefile src/testdir/README.txt src/version.c
diffstat 10 files changed, 378 insertions(+), 362 deletions(-) [+]
line wrap: on
line diff
--- a/src/Make_all.mak
+++ b/src/Make_all.mak
@@ -2,216 +2,6 @@
 # Common Makefile, defines the list of tests to run and other things.
 #
 
-# Individual tests, including the ones part of test_alot.
-# Please keep sorted up to test_alot.
-NEW_TESTS = \
-	test_arglist \
-	test_arabic \
-	test_assert \
-	test_assign \
-	test_autochdir \
-	test_autocmd \
-	test_autoload \
-	test_backspace_opt \
-	test_backup \
-	test_behave \
-	test_blockedit \
-	test_breakindent \
-	test_bufline \
-	test_bufwintabinfo \
-	test_cd \
-	test_cdo \
-	test_changedtick \
-	test_changelist \
-	test_channel \
-	test_charsearch \
-	test_charsearch_utf8 \
-	test_cindent \
-	test_clientserver \
-	test_close_count \
-	test_cmdline \
-	test_command_count \
-	test_comparators \
-	test_compiler \
-	test_conceal \
-	test_crypt \
-	test_cscope \
-	test_cursor_func \
-	test_curswant \
-	test_delete \
-	test_diffmode \
-	test_digraph \
-	test_display \
-	test_edit \
-	test_erasebackword \
-	test_escaped_glob \
-	test_eval_stuff \
-	test_ex_undo \
-	test_ex_z \
-	test_exit \
-	test_exec_while_if \
-	test_execute_func \
-	test_exists \
-	test_exists_autocmd \
-	test_expand \
-	test_expand_dllpath \
-	test_expand_func \
-	test_expr \
-	test_expr_utf8 \
-	test_farsi \
-	test_feedkeys \
-	test_file_perm \
-	test_file_size \
-	test_fileformat \
-	test_filetype \
-	test_filter_cmd \
-	test_filter_map \
-	test_find_complete \
-	test_findfile \
-	test_fixeol \
-	test_float_func \
-	test_fnameescape \
-	test_fnamemodify \
-	test_fold \
-	test_functions \
-	test_ga \
-	test_getcwd \
-	test_getvar \
-	test_gf \
-	test_glob2regpat \
-	test_global \
-	test_gn \
-	test_goto \
-	test_gui \
-	test_gui_init \
-	test_hardcopy \
-	test_help \
-	test_help_tagjump \
-	test_hide \
-	test_highlight \
-	test_history \
-	test_hlsearch \
-	test_iminsert \
-	test_increment \
-	test_increment_dbcs \
-	test_ins_complete \
-	test_job_fails \
-	test_join \
-	test_json \
-	test_jumplist \
-	test_jumps \
-	test_lambda \
-	test_langmap \
-	test_largefile \
-	test_let \
-	test_lineending \
-	test_lispwords \
-	test_listchars \
-	test_listdict \
-	test_listlbr \
-	test_listlbr_utf8 \
-	test_lua \
-	test_makeencoding \
-	test_man \
-	test_maparg \
-	test_mapping \
-	test_marks \
-	test_match \
-	test_matchadd_conceal \
-	test_matchadd_conceal_utf8 \
-	test_menu \
-	test_messages \
-	test_mksession \
-	test_mksession_utf8 \
-	test_modeline \
-	test_move \
-	test_nested_function \
-	test_netbeans \
-	test_normal \
-	test_number \
-	test_options \
-	test_packadd \
-	test_partial \
-	test_paste \
-	test_perl \
-	test_plus_arg_edit \
-	test_popup \
-	test_preview \
-	test_profile \
-	test_prompt_buffer \
-	test_put \
-	test_python2 \
-	test_python3 \
-	test_pyx2 \
-	test_pyx3 \
-	test_quickfix \
-	test_quotestar \
-	test_recover \
-	test_regex_char_classes \
-	test_regexp_latin \
-	test_regexp_utf8 \
-	test_registers \
-	test_reltime \
-	test_retab \
-	test_ruby \
-	test_scriptnames \
-	test_scroll_opt \
-	test_scrollbind \
-	test_search \
-	test_searchpos \
-	test_set \
-	test_sha256 \
-	test_signs \
-	test_smartindent \
-	test_sort \
-	test_source_utf8 \
-	test_spell \
-	test_startup \
-	test_startup_utf8 \
-	test_stat \
-	test_statusline \
-	test_substitute \
-	test_suspend \
-	test_swap \
-	test_syn_attr \
-	test_syntax \
-	test_system \
-	test_tab \
-	test_tabline \
-	test_tabpage \
-	test_tagcase \
-	test_tagjump \
-	test_taglist \
-	test_tcl \
-	test_terminal \
-	test_terminal_fail \
-	test_textformat \
-	test_textobjects \
-	test_textprop \
-	test_timers \
-	test_true_false \
-	test_undo \
-	test_unlet \
-	test_usercommands \
-	test_utf8 \
-	test_utf8_comparisons \
-	test_vartabs \
-	test_viminfo \
-	test_vimscript \
-	test_virtualedit \
-	test_visual \
-	test_winbar \
-	test_winbuf_close \
-	test_window_cmd \
-	test_window_id \
-	test_windows_home \
-	test_wordcount \
-	test_writefile \
-	test_xxd \
-	test_alot_latin \
-	test_alot_utf8 \
-	test_alot
-
 # Argument for running ctags.
 TAGS_FILES = \
 	*.c \
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -694,6 +694,7 @@ CFLAGS = $(CFLAGS) /Zl /MTd
 !endif # DEBUG
 
 !include Make_all.mak
+!include testdir\Make_all.mak
 
 INCL =	vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
 	keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
--- a/src/Makefile
+++ b/src/Makefile
@@ -1565,9 +1565,12 @@ DEST_MAN_PL_U = $(DEST_MAN_TOP)/pl.UTF-8
 DEST_MAN_RU = $(DEST_MAN_TOP)/ru.KOI8-R$(MAN1DIR)
 DEST_MAN_RU_U = $(DEST_MAN_TOP)/ru.UTF-8$(MAN1DIR)
 
-# The list of tests is common to all systems.
+# stuff common to all systems
 include Make_all.mak
 
+# get the list of tests
+include testdir/Make_all.mak
+
 #	     BASIC_SRC: files that are always used
 #	       GUI_SRC: extra GUI files for current configuration
 #	   ALL_GUI_SRC: all GUI files for Unix
@@ -2184,11 +2187,7 @@ test1 \
 # Run individual NEW style test.
 # These do not depend on the executable, compile it when needed.
 $(NEW_TESTS):
-	cd testdir; rm -f $@.res test.log messages; $(MAKE) -f Makefile $@.res VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
-	@if test -f testdir/test.log; then \
-		cat testdir/test.log; \
-	fi
-	cat testdir/messages
+	cd testdir; $(MAKE) $@ VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
 
 newtests:
 	cd testdir; rm -f $@.res test.log messages; $(MAKE) -f Makefile newtestssilent VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -60,142 +60,353 @@ SCRIPTS_WIN32 =
 # Tests for the GUI.
 SCRIPTS_GUI =
 
+# Individual tests, including the ones part of test_alot.
+# Please keep sorted up to test_alot.
+NEW_TESTS = \
+	test_arglist \
+	test_arabic \
+	test_assert \
+	test_assign \
+	test_autochdir \
+	test_autocmd \
+	test_autoload \
+	test_backspace_opt \
+	test_backup \
+	test_behave \
+	test_blockedit \
+	test_breakindent \
+	test_bufline \
+	test_bufwintabinfo \
+	test_cd \
+	test_cdo \
+	test_changedtick \
+	test_changelist \
+	test_channel \
+	test_charsearch \
+	test_charsearch_utf8 \
+	test_cindent \
+	test_clientserver \
+	test_close_count \
+	test_cmdline \
+	test_command_count \
+	test_comparators \
+	test_compiler \
+	test_conceal \
+	test_crypt \
+	test_cscope \
+	test_cursor_func \
+	test_curswant \
+	test_delete \
+	test_diffmode \
+	test_digraph \
+	test_display \
+	test_edit \
+	test_erasebackword \
+	test_escaped_glob \
+	test_eval_stuff \
+	test_ex_undo \
+	test_ex_z \
+	test_exit \
+	test_exec_while_if \
+	test_execute_func \
+	test_exists \
+	test_exists_autocmd \
+	test_expand \
+	test_expand_dllpath \
+	test_expand_func \
+	test_expr \
+	test_expr_utf8 \
+	test_farsi \
+	test_feedkeys \
+	test_file_perm \
+	test_file_size \
+	test_fileformat \
+	test_filetype \
+	test_filter_cmd \
+	test_filter_map \
+	test_find_complete \
+	test_findfile \
+	test_fixeol \
+	test_float_func \
+	test_fnameescape \
+	test_fnamemodify \
+	test_fold \
+	test_functions \
+	test_ga \
+	test_getcwd \
+	test_getvar \
+	test_gf \
+	test_glob2regpat \
+	test_global \
+	test_gn \
+	test_goto \
+	test_gui \
+	test_gui_init \
+	test_hardcopy \
+	test_help \
+	test_help_tagjump \
+	test_hide \
+	test_highlight \
+	test_history \
+	test_hlsearch \
+	test_iminsert \
+	test_increment \
+	test_increment_dbcs \
+	test_ins_complete \
+	test_job_fails \
+	test_join \
+	test_json \
+	test_jumplist \
+	test_jumps \
+	test_lambda \
+	test_langmap \
+	test_largefile \
+	test_let \
+	test_lineending \
+	test_lispwords \
+	test_listchars \
+	test_listdict \
+	test_listlbr \
+	test_listlbr_utf8 \
+	test_lua \
+	test_makeencoding \
+	test_man \
+	test_maparg \
+	test_mapping \
+	test_marks \
+	test_match \
+	test_matchadd_conceal \
+	test_matchadd_conceal_utf8 \
+	test_menu \
+	test_messages \
+	test_mksession \
+	test_mksession_utf8 \
+	test_modeline \
+	test_move \
+	test_nested_function \
+	test_netbeans \
+	test_normal \
+	test_number \
+	test_options \
+	test_packadd \
+	test_partial \
+	test_paste \
+	test_perl \
+	test_plus_arg_edit \
+	test_popup \
+	test_preview \
+	test_profile \
+	test_prompt_buffer \
+	test_put \
+	test_python2 \
+	test_python3 \
+	test_pyx2 \
+	test_pyx3 \
+	test_quickfix \
+	test_quotestar \
+	test_recover \
+	test_regex_char_classes \
+	test_regexp_latin \
+	test_regexp_utf8 \
+	test_registers \
+	test_reltime \
+	test_retab \
+	test_ruby \
+	test_scriptnames \
+	test_scroll_opt \
+	test_scrollbind \
+	test_search \
+	test_searchpos \
+	test_set \
+	test_sha256 \
+	test_signs \
+	test_smartindent \
+	test_sort \
+	test_source_utf8 \
+	test_spell \
+	test_startup \
+	test_startup_utf8 \
+	test_stat \
+	test_statusline \
+	test_substitute \
+	test_suspend \
+	test_swap \
+	test_syn_attr \
+	test_syntax \
+	test_system \
+	test_tab \
+	test_tabline \
+	test_tabpage \
+	test_tagcase \
+	test_tagjump \
+	test_taglist \
+	test_tcl \
+	test_terminal \
+	test_terminal_fail \
+	test_textformat \
+	test_textobjects \
+	test_textprop \
+	test_timers \
+	test_true_false \
+	test_undo \
+	test_unlet \
+	test_usercommands \
+	test_utf8 \
+	test_utf8_comparisons \
+	test_vartabs \
+	test_viminfo \
+	test_vimscript \
+	test_virtualedit \
+	test_visual \
+	test_winbar \
+	test_winbuf_close \
+	test_window_cmd \
+	test_window_id \
+	test_windows_home \
+	test_wordcount \
+	test_writefile \
+	test_xxd \
+	test_alot_latin \
+	test_alot_utf8 \
+	test_alot
 
-# Tests using runtest.vim
+
+# Test targets that use runtest.vim.
 # Keep test_alot*.res as the last one, sort the others.
 # test_largefile.res is omitted, it uses too much resources to run on CI.
-NEW_TESTS = test_arabic.res \
-	    test_arglist.res \
-	    test_assert.res \
-	    test_autochdir.res \
-	    test_autocmd.res \
-	    test_autoload.res \
-	    test_backspace_opt.res \
-	    test_blockedit.res \
-	    test_breakindent.res \
-	    test_bufwintabinfo.res \
-	    test_cdo.res \
-	    test_changelist.res \
-	    test_channel.res \
-	    test_charsearch.res \
-	    test_cindent.res \
-	    test_clientserver.res \
-	    test_close_count.res \
-	    test_cmdline.res \
-	    test_command_count.res \
-	    test_comparators.res \
-	    test_conceal.res \
-	    test_crypt.res \
-	    test_cscope.res \
-	    test_curswant.res \
-	    test_diffmode.res \
-	    test_digraph.res \
-	    test_display.res \
-	    test_edit.res \
-	    test_erasebackword.res \
-	    test_escaped_glob.res \
-	    test_eval_stuff.res \
-	    test_exec_while_if.res \
-	    test_exists.res \
-	    test_exists_autocmd.res \
-	    test_exit.res \
-	    test_farsi.res \
-	    test_file_size.res \
-	    test_find_complete.res \
-	    test_fixeol.res \
-	    test_fnameescape.res \
-	    test_fold.res \
-	    test_getcwd.res \
-	    test_getvar.res \
-	    test_gf.res \
-	    test_gn.res \
-	    test_gui.res \
-	    test_gui_init.res \
-	    test_hardcopy.res \
-	    test_help.res \
-	    test_hide.res \
-	    test_highlight.res \
-	    test_history.res \
-	    test_hlsearch.res \
-	    test_iminsert.res \
-	    test_increment.res \
-	    test_increment_dbcs.res \
-	    test_ins_complete.res \
-	    test_job_fails.res \
-	    test_json.res \
-	    test_jumplist.res \
-	    test_langmap.res \
-	    test_let.res \
-	    test_lineending.res \
-	    test_listchars.res \
-	    test_listdict.res \
-	    test_listlbr.res \
-	    test_lua.res \
-	    test_makeencoding.res \
-	    test_man.res \
-	    test_maparg.res \
-	    test_marks.res \
-	    test_matchadd_conceal.res \
-	    test_mksession.res \
-	    test_nested_function.res \
-	    test_netbeans.res \
-	    test_normal.res \
-	    test_number.res \
-	    test_options.res \
-	    test_packadd.res \
-	    test_paste.res \
-	    test_perl.res \
-	    test_plus_arg_edit.res \
-	    test_preview.res \
-	    test_profile.res \
-	    test_prompt_buffer.res \
-	    test_python2.res \
-	    test_python3.res \
-	    test_pyx2.res \
-	    test_pyx3.res \
-	    test_quickfix.res \
-	    test_quotestar.res \
-	    test_regex_char_classes.res \
-	    test_registers.res \
-	    test_retab.res \
-	    test_ruby.res \
-	    test_scriptnames.res \
-	    test_scrollbind.res \
-	    test_search.res \
-	    test_shortpathname.res \
-	    test_signs.res \
-	    test_smartindent.res \
-	    test_spell.res \
-	    test_startup.res \
-	    test_stat.res \
-	    test_substitute.res \
-	    test_swap.res \
-	    test_syntax.res \
-	    test_system.res \
-	    test_tab.res \
-	    test_tcl.res \
-	    test_terminal.res \
-	    test_terminal_fail.res \
-	    test_textformat.res \
-	    test_textobjects.res \
-	    test_textprop.res \
-	    test_undo.res \
-	    test_user_func.res \
-	    test_usercommands.res \
-	    test_vartabs.res \
-	    test_viminfo.res \
-	    test_vimscript.res \
-	    test_visual.res \
-	    test_winbar.res \
-	    test_winbuf_close.res \
-	    test_window_id.res \
-	    test_windows_home.res \
-	    test_wordcount.res \
-	    test_writefile.res \
-	    test_xxd.res \
-	    test_alot_latin.res \
-	    test_alot_utf8.res \
-	    test_alot.res
+NEW_TESTS_RES = \
+	test_arabic.res \
+	test_arglist.res \
+	test_assert.res \
+	test_autochdir.res \
+	test_autocmd.res \
+	test_autoload.res \
+	test_backspace_opt.res \
+	test_blockedit.res \
+	test_breakindent.res \
+	test_bufwintabinfo.res \
+	test_cdo.res \
+	test_changelist.res \
+	test_channel.res \
+	test_charsearch.res \
+	test_cindent.res \
+	test_clientserver.res \
+	test_close_count.res \
+	test_cmdline.res \
+	test_command_count.res \
+	test_comparators.res \
+	test_conceal.res \
+	test_crypt.res \
+	test_cscope.res \
+	test_curswant.res \
+	test_diffmode.res \
+	test_digraph.res \
+	test_display.res \
+	test_edit.res \
+	test_erasebackword.res \
+	test_escaped_glob.res \
+	test_eval_stuff.res \
+	test_exec_while_if.res \
+	test_exists.res \
+	test_exists_autocmd.res \
+	test_exit.res \
+	test_farsi.res \
+	test_file_size.res \
+	test_find_complete.res \
+	test_fixeol.res \
+	test_fnameescape.res \
+	test_fold.res \
+	test_getcwd.res \
+	test_getvar.res \
+	test_gf.res \
+	test_gn.res \
+	test_gui.res \
+	test_gui_init.res \
+	test_hardcopy.res \
+	test_help.res \
+	test_hide.res \
+	test_highlight.res \
+	test_history.res \
+	test_hlsearch.res \
+	test_iminsert.res \
+	test_increment.res \
+	test_increment_dbcs.res \
+	test_ins_complete.res \
+	test_job_fails.res \
+	test_json.res \
+	test_jumplist.res \
+	test_langmap.res \
+	test_let.res \
+	test_lineending.res \
+	test_listchars.res \
+	test_listdict.res \
+	test_listlbr.res \
+	test_lua.res \
+	test_makeencoding.res \
+	test_man.res \
+	test_maparg.res \
+	test_marks.res \
+	test_matchadd_conceal.res \
+	test_mksession.res \
+	test_nested_function.res \
+	test_netbeans.res \
+	test_normal.res \
+	test_number.res \
+	test_options.res \
+	test_packadd.res \
+	test_paste.res \
+	test_perl.res \
+	test_plus_arg_edit.res \
+	test_preview.res \
+	test_profile.res \
+	test_prompt_buffer.res \
+	test_python2.res \
+	test_python3.res \
+	test_pyx2.res \
+	test_pyx3.res \
+	test_quickfix.res \
+	test_quotestar.res \
+	test_regex_char_classes.res \
+	test_registers.res \
+	test_retab.res \
+	test_ruby.res \
+	test_scriptnames.res \
+	test_scrollbind.res \
+	test_search.res \
+	test_shortpathname.res \
+	test_signs.res \
+	test_smartindent.res \
+	test_spell.res \
+	test_startup.res \
+	test_stat.res \
+	test_substitute.res \
+	test_swap.res \
+	test_syntax.res \
+	test_system.res \
+	test_tab.res \
+	test_tcl.res \
+	test_terminal.res \
+	test_terminal_fail.res \
+	test_textformat.res \
+	test_textobjects.res \
+	test_textprop.res \
+	test_undo.res \
+	test_user_func.res \
+	test_usercommands.res \
+	test_vartabs.res \
+	test_viminfo.res \
+	test_vimscript.res \
+	test_visual.res \
+	test_winbar.res \
+	test_winbuf_close.res \
+	test_window_id.res \
+	test_windows_home.res \
+	test_wordcount.res \
+	test_writefile.res \
+	test_xxd.res \
+	test_alot_latin.res \
+	test_alot_utf8.res \
+	test_alot.res
 
 
 # Explicit dependencies.
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -19,7 +19,7 @@ include Make_all.mak
 SCRIPTS = $(SCRIPTS_ALL) $(SCRIPTS_MORE4)
 
 # Must run test1 first to create small.vim.
-$(SCRIPTS) $(SCRIPTS_GUI) $(NEW_TESTS): $(SCRIPTS_FIRST)
+$(SCRIPTS) $(SCRIPTS_GUI) $(NEW_TESTS_RES): $(SCRIPTS_FIRST)
 
 .SUFFIXES: .in .out
 
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -66,7 +66,7 @@ win32:	nolog $(SCRIPTS_FIRST) $(SCRIPTS)
 # 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): $(SCRIPTS_FIRST)
+$(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) $(NEW_TESTS_RES): $(SCRIPTS_FIRST)
 
 report:
 	@echo ""
@@ -115,7 +115,7 @@ bench_re_freeze.out: bench_re_freeze.vim
 newtests: newtestssilent
 	@if exist messages (findstr "SKIPPED FAILED" messages > nul) && type messages
 
-newtestssilent: $(NEW_TESTS)
+newtestssilent: $(NEW_TESTS_RES)
 
 .vim.res:
 	@echo $(VIMPROG) > vimcmd
--- a/src/testdir/Make_ming.mak
+++ b/src/testdir/Make_ming.mak
@@ -38,7 +38,7 @@ SCRIPTS = $(SCRIPTS_ALL) $(SCRIPTS_MORE1
 SCRIPTS_BENCH = bench_re_freeze.out
 
 # Must run test1 first to create small.vim.
-$(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) $(NEW_TESTS): $(SCRIPTS_FIRST)
+$(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) $(NEW_TESTS_RES): $(SCRIPTS_FIRST)
 
 .SUFFIXES: .in .out .res .vim
 
@@ -110,7 +110,7 @@ bench_re_freeze.out: bench_re_freeze.vim
 # to write and a lot easier to read and debug.
 # Limitation: Only works with the +eval feature.
 
-newtests: $(NEW_TESTS)
+newtests: $(NEW_TESTS_RES)
 
 .vim.res:
 	@echo $(VIMPROG) > vimcmd
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -23,7 +23,8 @@ REDIR_TEST_TO_NULL = --cmd 'au SwapExist
 default: nongui
 
 # The list of tests is common to all systems.
-# This defines NEW_TESTS, SCRIPTS_ALL, SCRIPTS_MORE* and SCRIPTS_GUI.
+# This defines NEW_TESTS, NEW_TESTS_RES, SCRIPTS_ALL, SCRIPTS_MORE* and
+# SCRIPTS_GUI.
 include Make_all.mak
 
 
@@ -50,10 +51,21 @@ report:
 		else echo ALL DONE; \
 		fi"
 
-$(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI) $(NEW_TESTS): $(VIMPROG)
+$(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI) $(NEW_TESTS_RES): $(VIMPROG)
 
 # Must run test1 first to create small.vim.
-$(SCRIPTS) $(SCRIPTS_GUI) $(NEW_TESTS): $(SCRIPTS_FIRST)
+$(SCRIPTS) $(SCRIPTS_GUI) $(NEW_TESTS_RES): $(SCRIPTS_FIRST)
+
+
+# Execute an individual new style test, e.g.:
+# 	make test_largefile
+$(NEW_TESTS):
+	rm -f $@.res test.log messages
+	$(MAKE) -f Makefile $@.res
+	@if test -f test.log; then \
+		cat test.log; \
+	fi
+	cat messages
 
 RM_ON_RUN = test.out X* viminfo
 RM_ON_START = tiny.vim small.vim mbyte.vim mzscheme.vim test.ok benchmark.out
@@ -128,7 +140,7 @@ RUN_VIMTEST = VIMRUNTIME=$(SCRIPTSOURCE)
 newtests: newtestssilent
 	@/bin/sh -c "if test -f messages && grep -q 'SKIPPED\|FAILED' messages; then cat messages; fi"
 
-newtestssilent: $(NEW_TESTS)
+newtestssilent: $(NEW_TESTS_RES)
 
 
 .vim.res: writevimcmd
--- a/src/testdir/README.txt
+++ b/src/testdir/README.txt
@@ -1,4 +1,5 @@
 This directory contains tests for various Vim features.
+For testing an indent script see runtime/indent/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.
@@ -14,10 +15,10 @@ can.  Use an old style test when it need
 TO ADD A NEW STYLE TEST:
 
 1) Create a test_<subject>.vim file.
-2) Add test_<subject>.res to NEW_TESTS in Make_all.mak in alphabetical order.
-3) Also add an entry "test_<subject>" in src/Make_all.mak.
-4) Use make test_<subject>.res to run a single test in src/testdir/.
-   Use make test_<subject>  to run a single test in src/.
+2) Add test_<subject>.res to NEW_TESTS_RES in Make_all.mak in alphabetical
+   order.
+3) Also add an entry "test_<subject>" to NEW_TESTS in Make_all.mak.
+4) Use make test_<subject> to run a single test.
 
 At 2), instead of running the test separately, it can be included in
 "test_alot".  Do this for quick tests without side effects.  The test runs a
--- a/src/version.c
+++ b/src/version.c
@@ -796,6 +796,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    723,
+/**/
     722,
 /**/
     721,