On Do, 18 Feb 2016, Bram Moolenaar wrote:

> Christian Brabandt wrote:
> > On Mi, 17 Feb 2016, Bram Moolenaar wrote:
> > 
> > > Thanks.  I think we should also build a console version.  Since testing
> > > appears to the take bulk of the time we can run the tests once with
> > > HUGE-console features.  So perhaps we can build TINY-console with MSVC
> > > and HUGE-console with MingW and then run the tests with the MingW
> > > binary?  That way we cover more rows & columns in the build & test
> > > matrix.
> > 
> > Well, a console version is build for MSVC, since that appears to build 
> > faster than MingW. Testing happens with the gvim.exe build from MSVC, 
> > because first of all, the test I tried with MingW did stall on test47 
> > and second of all, last time I checked with the nightly windows builds, 
> > the gui version test was a lot faster than the console test.
> 
> Running the tests in the console is different from running them in the
> GUI, I think we should run both.

Okay, we can do this. Will take longer however.

> If a test stalls then we may have to skip it.  We already skip several
> tests for MS-Windows, either they are omitted in the Makefile or the
> test bails out early.

This only happened for the tiny version. Interestingly, it does not 
stall, when I run it locally. Hm, let's see, if WINVER=0x501 as Ken 
suggested fixes this. Also the tiny mingw version stalled at compiling 
here:
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/48/job/2ayvxobvq80uc551
,----
| mingw32-make.exe -C GvimExt -f Make_ming.mak CROSS=no CROSS_COMPILE= 
CXX='g++' STATIC_STDCPLUS=no
| mingw32-make.exe[1]: Entering directory 'C:/projects/vim-ch0ci/src/GvimExt'
| g++ -O2 -DFEAT_GETTEXT -c gvimext.cpp -o gvimext.o
| windres --preprocessor="g++ -E -xc" -DRC_INVOKED --input-format=rc 
--output-format=coff -DMING gvimext_ming.rc -o gvimext.res
| g++ -shared -O2 -s -o gvimext.dll \
|     -Wl,--enable-auto-image-base \
|     -Wl,--enable-auto-import \
|     -Wl,--whole-archive \
|         gvimext.o gvimext.res gvimext_ming.def \
|     -Wl,--no-whole-archive \
|         -luuid -lgdi32
| mingw32-make.exe[1]: Leaving directory 'C:/projects/vim-ch0ci/src/GvimExt'
`----
Don't know, why this is happening.

(a little bit later...)
Hm, no does not help. The tiny version still stalls there:
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/job/fb8s0g2umwldgrue

Also, latest mingw version still shows some warnings:
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/55/job/nbyergs228easqat#L127

And since we are at it, the console version fails:
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/55/job/nbyergs228easqat#L2538
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/55/job/nbyergs228easqat#L4062
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/55/job/nbyergs228easqat#L4157
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/55/job/nbyergs228easqat#L4662
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/55/job/nbyergs228easqat#L4666
https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/55/job/nbyergs228easqat#L4670


> I'm surprised the console tests are slower, the GUI has to open a new
> window, create menus, etc.  Perhaps it's because console I/O is being
> slow.

Yes, it is veeery slow. One Feature Set test (building gvim and vim 
versions for MingW and MSVC and Testing MingW vim.exe and MSVC gvim.exe) 
now takes about 20 Minutes. Hm, perhaps, we should add some time stamps, 
before the test starts.

> 
> > > Perhaps the build can be made faster by not using -O3.  -O2 should be
> > > sufficient to get useful warnings.  Even -O1 should be enough and quite
> > > a bit faster.
> > 
> > I did change that.  Now MingW builds with -O2 which is indeed quite 
> > faster and I believe it did generate some more warnings.
> > https://ci.appveyor.com/project/chrisbra/vim-ch0ci/build/47
> 
> Hmm, I would expect fewer warnings.  Looks like they are easy to fix
> though.
> 
> > Updated patch attached.
> 
> This builds four versions and tests two? 

Building gui Mingw, gui MSVC and console MSVC each for huge and normal 
feature set. The huge feature set also enables CHANNEL and PYTHON 
version.

> I do think we also want MingW-console and MSVC-GUI.

Okay. Updated patch attached.


Mit freundlichen Grüßen
Christian
-- 
Das sogenannte "verkannte Genie" ist eine zweifelhafte Erscheinung.
Meist entpuppt es sich als Untauglichkeit.
                -- Carl Gustav Jung

-- 
-- 
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.
diff --git a/appveyor.yml b/appveyor.yml
index ab379f9..934f785 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,20 +1,32 @@
 version: "{build}"
 
-skip_tags: true
+environment:
+  matrix:
+    - FEATURE: HUGE
+    - FEATURE: NORMAL
+# disabled
+#    - FEATURE: TINY
+#    - FEATURE: SMALL
+#    - FEATURE: BIG
+
+matrix:
+  fast_finish: true
 
 before_build:
   - '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
-  # Work around for Python 2.7.11's bug
+# Work around for Python 2.7.11
   - reg copy HKLM\SOFTWARE\Python\PythonCore\2.7 HKLM\SOFTWARE\Python\PythonCore\2.7-32 /s /reg:32
   - reg copy HKLM\SOFTWARE\Python\PythonCore\2.7 HKLM\SOFTWARE\Python\PythonCore\2.7-32 /s /reg:64
 
 build_script:
-  - cd src
-  - sed -e "s/\$(LINKARGS2)/\$(LINKARGS2) | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
-  - nmake -f Make_mvc2.mak CPU=AMD64 GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 PYTHON3_VER=34 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python34-x64
-  - .\gvim -u NONE -c "redir @a | ver | 0put a | wq!" ver.txt
-  - type ver.txt
+  - src/appveyor.bat
 
 test_script:
-  - cd testdir
+  - cd src/testdir
+    # Testing with MSVC gvim
   - nmake -f Make_dos.mak VIMPROG=..\gvim
+  - nmake -f Make_dos.mak clean
+    # Testing with MingW console version
+  - nmake -f Make_dos.mak VIMPROG=vim
+
+# vim: sw=2 sts=2 et ts=2 sr
diff --git a/src/appveyor.bat b/src/appveyor.bat
new file mode 100644
index 0000000..48ecf19
--- /dev/null
+++ b/src/appveyor.bat
@@ -0,0 +1,41 @@
+@echo off
+:: Batch file for building/testing Vim on AppVeyor
+
+setlocal ENABLEDELAYEDEXPANSION
+cd %APPVEYOR_BUILD_FOLDER%
+
+cd src
+echo "Building MinGW 32bit Version"
+:: Build Mingw version
+set PATH=c:\msys64\mingw32\bin;%PATH%
+:: Disabled for now, console version is build with MVC below
+: mingw32-make.exe -f Make_ming.mak GUI=no OPTIMIZE=speed IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
+copy vim.exe testdir
+: mingw32-make.exe -f Make_ming.mak clean
+:: build huge version with python and channel support
+if "%FEATURE%" == "HUGE" (
+    mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed CHANNEL=yes GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no WINVER=0x501 PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27 PYTHON3_VER=34 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python34 FEATURES=%FEATURE% || exit 1
+) ELSE (
+    mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no WINVER=0x501 FEATURES=%FEATURE% || exit 1
+)
+.\gvim -u NONE -c "redir @a | ver |0put a | wq!" ver_ming.txt
+:: Build MSVC Version
+echo "Building MSVC 64bit Version"
+sed -e "s/\$(LINKARGS2)/\$(LINKARGS2) | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
+nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
+nmake -f Make_mvc2.mak clean
+:: build huge version with python and channel support
+:: GUI needs to be last, to that testing works
+if "%FEATURE%" == "HUGE" (
+    nmake -f Make_mvc2.mak DIRECTX=yes CPU=AMD64 CHANNEL=yes OLE=no GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 PYTHON3_VER=34 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python34-x64 FEATURES=%FEATURE% || exit 1
+) ELSE (
+    nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
+)
+.\gvim -u NONE -c "redir @a | ver |0put a | wq!" ver_msvc.txt
+echo "version output MinGW"
+type ver_ming.txt
+echo "version output MVC"
+type ver_msvc.txt
+cd ..
+
+:eof

Raspunde prin e-mail lui