Hi Bram,

2015/12/29 Tue 6:25:06 UTC+9 Bram Moolenaar wrote:
> Christian Brabandt wrote:
> 
> > On Mo, 28 Dez 2015, Bram Moolenaar wrote:
> > 
> > > Patch 7.4.982
> > > Problem:    Keeping the list of tests updated is a hassle.
> > > Solution:   Move the list to a separate file, so that it only needs to be
> > >             udpated in one place.
> > > Files:      src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
> > >             src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
> > >             src/testdir/Make_vms.mms, src/testdir/Makefile,
> > >             src/testdir/Make_all.mak
> > 
> > Starting from this patch, this breaks appveyor:
> > This built timed out after 60 minutes when trying to run test49: 
> > https://ci.appveyor.com/project/chrisbra/vim/build/204
> > After that patch, it fails when copying test49.in:
> > https://ci.appveyor.com/project/chrisbra/vim/build/205
> > https://ci.appveyor.com/project/chrisbra/vim/build/206
> > 
> > Don't know, what the problem is and how to solve it.
> 
> I noticed.  Somehow test49.in wasn't processed.  It was not in the list
> of tests for MS-Windows before, so I removed it in patch 7.4.986.
> 
> Now it appears it doesn't run any tests...
> OK, I can reproduce it locally.
> It's because appveyor doesn't specify a target, and the first dependency
> is in Make_all.mak:
> 
>       test49.out: test49.vim
> 
> I'll specify a default target before including Make_all.mak

After 7.4.988, still something strange happen. When running a single test
as the following:

  nmake -f Make_dos.mak clean
  nmake -f Make_dos.mak VIMPROG=..\gvim test86.out

Copy command fails like this:

> > https://ci.appveyor.com/project/chrisbra/vim/build/206

Maybe this is caused by that testXX.out has multiple dependency rules.
Attached patch fixes this.

Regards,
Ken Takata

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.
# HG changeset patch
# Parent  237fbabaa9ffac7c4b71dfb5bc9a69e633de3438

diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -20,16 +20,13 @@ default: nongui
 
 SCRIPTS = $(SCRIPTS_ALL) $(SCRIPTS_MORE1) $(SCRIPTS_MORE3) $(SCRIPTS_MORE4)
 
-TEST_OUTFILES = $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_WIN32) $(SCRIPTS_GUI)
+TEST_OUTFILES = $(SCRIPTS) $(SCRIPTS_WIN32) $(SCRIPTS_GUI)
 DOSTMP = dostmp
 DOSTMP_OUTFILES = $(TEST_OUTFILES:test=dostmp\test)
 DOSTMP_INFILES = $(DOSTMP_OUTFILES:.out=.in)
 
 .SUFFIXES: .in .out
 
-# Must run test1 first to create small.vim.
-$(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) $(NEW_TESTS): $(SCRIPTS_FIRST)
-
 nongui:	nolog $(SCRIPTS_FIRST) $(SCRIPTS) report
 
 small:	nolog report
@@ -39,14 +36,19 @@ gui:	nolog $(SCRIPTS_FIRST) $(SCRIPTS) $
 win32:	nolog $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_WIN32) report
 
 # Copy the input files to dostmp, changing the fileformat to dos.
-$(DOSTMP_INFILES): $(*B).in
+{}.in{$(DOSTMP)}.in:
 	if not exist $(DOSTMP)\NUL md $(DOSTMP)
 	if exist $@ del $@
 	$(VIMPROG) -u dos.vim --noplugin "+set ff=dos|f $@|wq" $(*B).in
 
+# Must run test1 first to create small.vim.
+$(DOSTMP_INFILES): $(*B).in $(SCRIPTS_FIRST)
+
+$(DOSTMP)\$(SCRIPTS_FIRST:.out=.in): $(SCRIPTS_FIRST:.out=.in)
+
 # For each input file dostmp/test99.in run the tests.
 # This moves test99.in to test99.in.bak temporarily.
-$(TEST_OUTFILES): $(DOSTMP)\$(*B).in
+{$(DOSTMP)}.in{}.out:
 	-@if exist test.out DEL test.out
 	move $(*B).in $(*B).in.bak
 	copy $(DOSTMP)\$(*B).in $(*B).in
@@ -67,6 +69,10 @@ win32:	nolog $(SCRIPTS_FIRST) $(SCRIPTS)
 		 & echo $* FAILED >> test.log ) \
 		else ( move /y test.out $*.out )
 
+$(TEST_OUTFILES): $(DOSTMP)\$(*B).in
+
+$(SCRIPTS_FIRST): $(DOSTMP)\$(SCRIPTS_FIRST:.out=.in)
+
 report:
 	@echo ""
 	@echo Test results:

Raspunde prin e-mail lui