From 062d8f59a9b7205a8eab47d11b76edae15930aa4 Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Wed, 11 Oct 2017 10:35:29 +0200 Subject: [PATCH 1/9] + extend: regression tests --- appveyor.yml | 1 + test/TestAhkNotepad3.cmd | 41 ++++++++------------ test/TestFileVersion.cmd | 83 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 101 insertions(+), 24 deletions(-) create mode 100644 test/TestFileVersion.cmd diff --git a/appveyor.yml b/appveyor.yml index c1b861192..c47544787 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -180,6 +180,7 @@ before_test: # to run your custom scripts instead of automatic tests test_script: + - TestFileVersion.cmd - TestAhkNotepad3.cmd # scripts to run after tests diff --git a/test/TestAhkNotepad3.cmd b/test/TestAhkNotepad3.cmd index 2c61462a0..52397deba 100644 --- a/test/TestAhkNotepad3.cmd +++ b/test/TestAhkNotepad3.cmd @@ -6,7 +6,7 @@ set CWD=%CD% set TEST_DIR=%SCRIPTDIR%_TESTDIR\ set TEST_LOG=test.log -set NP3_DISTRIB_DIR=%SCRIPT_DIR%..\distrib\ +set NP3_CONFIG_DIR=%SCRIPT_DIR%config\ set NP3_WIN32_DIR=%SCRIPT_DIR%..\Bin\Release_x86_v141\ set NP3_X64_DIR=%SCRIPT_DIR%..\Bin\Release_x64_v141\ @@ -16,34 +16,30 @@ set AHK_EXE64=%ProgramFiles%/AutoHotkey/AutoHotkeyU32.exe if not exist "%AHK_EXE%" set AHK_EXE=%AHK_EXE32% if not exist "%AHK_EXE%" set AHK_EXE=%AHK_EXE64% -set EXITCODE=0 - :: -------------------------------------------------------------------------------------------------------------------- :: prepare tests if not exist "%TEST_DIR%" mkdir "%TEST_DIR%" -copy "%NP3_DISTRIB_DIR%Notepad3.ini" "%TEST_DIR%Notepad3.ini" /Y /V +if not exist "%TEST_DIR%Favorites\" mkdir "%TEST_DIR%Favorites\" +copy "%NP3_CONFIG_DIR%Notepad3_distrib.ini" "%TEST_DIR%Notepad3.ini" /Y /V if exist "%NP3_WIN32_DIR%Notepad3.exe" copy /B "%NP3_WIN32_DIR%Notepad3.exe" /B "%TEST_DIR%Notepad3.exe" /Y /V if exist "%NP3_X64_DIR%Notepad3.exe" copy /B "%NP3_X64_DIR%Notepad3.exe" /B "%TEST_DIR%Notepad3.exe" /Y /V -rem Loop over all ahk files in tests directory -rem for /r %%i in (*.ahk) do ( -rem echo ** Running %%~nxi ** -rem start "testing" /B /wait "%AHK_EXE%" /ErrorStdOut %%~nxi > %TEST_LOG% 2>&1 -rem if errorlevel 1 ( -rem set err_level=%ERRORLEVEL% -rem echo *** Test file %%~nxi failed *** -rem ) -rem type testoutput.txt -rem echo. -rem ) - -:: START Testing -start "Testing" /B /Wait "%AHK_EXE%" /ErrorStdOut "%~dpn0.ahk" > "%TEST_LOG%" 2>&1 -if errorlevel 1 ( - set EXITCODE=%ERRORLEVEL% - echo *** Test failed *** >> "%TEST_LOG%" +::Loop over all ahk files in tests directory +echo. > "%TEST_LOG%" +set EXITCODE=0 +::for /r %%i in (*.ahk) do ( +for %%i in (*.ahk) do ( + echo. ** Running %%~nxi ** + echo ** Running %%~nxi ** >> "%TEST_LOG%" + start "Testing Suite" /B /Wait "%AHK_EXE%" /ErrorStdOut "%%~nxi" >> "%TEST_LOG%" 2>&1 + if errorlevel 1 ( + set EXITCODE=%ERRORLEVEL% + echo *** Testsuite %%~nxi failed *** + echo *** Testsuite %%~nxi failed *** >> "%TEST_LOG%" + ) ) +echo. :: -------------------------------------------------------------------------------------------------------------------- :END @@ -53,7 +49,4 @@ endlocal & set EXITCODE=%EXITCODE% ::echo.EXITCODE=%EXITCODE% ::pause if [%EXITCODE%] NEQ [0] exit /B %EXITCODE% - -:: -------------------------------------------------------------------------------------------------------------------- :: ==================================================================================================================== - \ No newline at end of file diff --git a/test/TestFileVersion.cmd b/test/TestFileVersion.cmd new file mode 100644 index 000000000..671363901 --- /dev/null +++ b/test/TestFileVersion.cmd @@ -0,0 +1,83 @@ +@echo off +setlocal enableextensions +set SCRIPT_DIR=%~dp0 + +set NP3_WIN32_DIR=%SCRIPT_DIR%..\Bin\Release_x86_v141\ +set NP3_X64_DIR=%SCRIPT_DIR%..\Bin\Release_x64_v141\ +set NP3_BUILD_VER=%SCRIPT_DIR%..\Versions\build.txt + +:: -------------------------------------------------------------------------------------------------------------------- + +set YY=00 +set MM=00 +set DD=00 +call :GETDATE +set BUILD=0 +call :GETBUILD +set VERSHOULD=2.%YY%.%MM%%DD%.%BUILD% + +:: -------------------------------------------------------------------------------------------------------------------- + +set TEST_SUCCEEDED=false + +set FILEVER= +if exist "%NP3_WIN32_DIR%Notepad3.exe" call :GETFILEVER "%NP3_WIN32_DIR%Notepad3.exe" +if defined FILEVER call :COMPAREVER "%VERSHOULD%" "%FILEVER%" + +set FILEVER= +if exist "%NP3_X64_DIR%Notepad3.exe" call :GETFILEVER "%NP3_X64_DIR%Notepad3.exe" +if defined FILEVER call :COMPAREVER "%VERSHOULD%" "%FILEVER%" + +:: ==================================================================================================================== +goto :END +:: -------------------------------------------------------------------------------------------------------------------- + +:COMPAREVER +if ["%~1"] EQU ["%~2"] ( + set TEST_SUCCEEDED=true +) +goto:EOF +:: -------------------------------------------------------------------------------------------------------------------- + +:GETDATE +for /f "tokens=2 delims==" %%a in (' + wmic OS Get localdatetime /value +') do set "dt=%%a" +set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%" +set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%" +::set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%" +::set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%" +::echo datestamp: "%datestamp%" +::echo timestamp: "%timestamp%" +::echo fullstamp: "%fullstamp%" +goto:EOF +:: -------------------------------------------------------------------------------------------------------------------- + +:GETFILEVER +set "file=%~1" +if not defined file goto:EOF +if not exist "%file%" goto:EOF +set "FILEVER=" +for /F "tokens=2 delims==" %%a in (' + wmic datafile where name^="%file:\=\\%" Get Version /value +') do set "FILEVER=%%a" +::echo %file% = %FILEVER% +goto:EOF +:: -------------------------------------------------------------------------------------------------------------------- + +:GETBUILD +set /p nxbuild=<%NP3_BUILD_VER% +set /a BUILD = %nxbuild% - 1 +goto:EOF +:: -------------------------------------------------------------------------------------------------------------------- + +:: ==================================================================================================================== +:END +echo.VERSHOULD = %VERSHOULD% +echo.FILEVER = %FILEVER% +echo.TEST_SUCCEEDED = %TEST_SUCCEEDED% +:: - make TEST_SUCCEEDED survive 'endlocal' +endlocal & set TEST_SUCCEEDED=%TEST_SUCCEEDED% +::pause +if [%TEST_SUCCEEDED%] NEQ [true] exit /B 1 +:: ==================================================================================================================== From 719dc2ca7f757227498d0150f5859a9c9aecdb5e Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Wed, 11 Oct 2017 10:40:53 +0200 Subject: [PATCH 2/9] + add test text-files and test config --- test/config/Notepad3_distrib.ini | Bin 0 -> 1150 bytes test/txtfiles/korean-Win-949.txt | 5 +++++ test/txtfiles/regex_find.txt | 26 ++++++++++++++++++++++++++ test/txtfiles/strange.txt | 9 +++++++++ 4 files changed, 40 insertions(+) create mode 100644 test/config/Notepad3_distrib.ini create mode 100644 test/txtfiles/korean-Win-949.txt create mode 100644 test/txtfiles/regex_find.txt create mode 100644 test/txtfiles/strange.txt diff --git a/test/config/Notepad3_distrib.ini b/test/config/Notepad3_distrib.ini new file mode 100644 index 0000000000000000000000000000000000000000..3a5f01638a1c502fd1f3a985da4e89f106cfccfc GIT binary patch literal 1150 zcmZvbQBT`Y42940r2U7y@Hil08y!+L!MaLF6agvfL*XH`86XPn+AzVN2R{4urddHz znp^wWKF9WbeHrRlQ&lQ8Q=zeTbg9q!q@i+b70<06bgjkGo`d>_XWiRY>T%J324=+j zK!z?kCY%?Fs1veOx}kQVdpun@%sH7gV!B?*?6+7$^rkMr8iS_&!YlW&Ur}S9H+MBw z-)e3*`~$L$y>?q)-QFW^t~(u()07^$;wIbo9>d%_ueMst{OhP5`NlAaddzPf-iO^U z9r6^gJ69h?t(v9v>Z#`N8%AU2V-r{@nUZUQT4R2oNAy(AK6E%yrUZ2f(@bEO=o|0% z<$0HHi}%O!f9i;o`2}q1(H50?j&QP!S)DKSQ(F5|uMm({%TB3wy}$1_DXVuW?3V3D z+>t{RFHlqPwfV*F)UL*yowD`xt_g7$qaisBiE|R zh;Day=VTwjW56lwU*9b^V87J6ZfM(G+wxQ9P{7a7&kfXoxGSb?)n@o@$4fG_QDk$Q z!DUZdJlABJ@@xIrr23SIE!Syt9)bU Date: Wed, 11 Oct 2017 10:59:37 +0200 Subject: [PATCH 3/9] + fix: test file version script --- test/TestFileVersion.cmd | 3 --- 1 file changed, 3 deletions(-) diff --git a/test/TestFileVersion.cmd b/test/TestFileVersion.cmd index 671363901..07ec5b60c 100644 --- a/test/TestFileVersion.cmd +++ b/test/TestFileVersion.cmd @@ -22,9 +22,6 @@ set TEST_SUCCEEDED=false set FILEVER= if exist "%NP3_WIN32_DIR%Notepad3.exe" call :GETFILEVER "%NP3_WIN32_DIR%Notepad3.exe" -if defined FILEVER call :COMPAREVER "%VERSHOULD%" "%FILEVER%" - -set FILEVER= if exist "%NP3_X64_DIR%Notepad3.exe" call :GETFILEVER "%NP3_X64_DIR%Notepad3.exe" if defined FILEVER call :COMPAREVER "%VERSHOULD%" "%FILEVER%" From c7f6f50020ba3ed0bb46939a3e98ac465f63c0db Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Wed, 11 Oct 2017 11:10:23 +0200 Subject: [PATCH 4/9] + fix: fetching wrong build number --- appveyor.yml | 2 +- test/TestFileVersion.cmd | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index c47544787..380716ae5 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -180,7 +180,7 @@ before_test: # to run your custom scripts instead of automatic tests test_script: - - TestFileVersion.cmd + - TestFileVersion.cmd {build} - TestAhkNotepad3.cmd # scripts to run after tests diff --git a/test/TestFileVersion.cmd b/test/TestFileVersion.cmd index 07ec5b60c..7c757a0ad 100644 --- a/test/TestFileVersion.cmd +++ b/test/TestFileVersion.cmd @@ -13,7 +13,7 @@ set MM=00 set DD=00 call :GETDATE set BUILD=0 -call :GETBUILD +call :GETBUILD "%~1" set VERSHOULD=2.%YY%.%MM%%DD%.%BUILD% :: -------------------------------------------------------------------------------------------------------------------- @@ -63,6 +63,11 @@ goto:EOF :: -------------------------------------------------------------------------------------------------------------------- :GETBUILD +set argbuild=%~1 +if defined argbuild ( + set BUILD=%argbuild% + goto:EOF +) set /p nxbuild=<%NP3_BUILD_VER% set /a BUILD = %nxbuild% - 1 goto:EOF From b99f65ca4f14b36ae4dc5c9a490736752e57ddad Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Wed, 11 Oct 2017 11:25:39 +0200 Subject: [PATCH 5/9] + fix: inconsistent build number file vs. AppVeyor env --- Version.ps1 | 6 ++---- Versions/build.txt | 2 +- appveyor.yml | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Version.ps1 b/Version.ps1 index 6f00b162f..d31f6f9f2 100644 --- a/Version.ps1 +++ b/Version.ps1 @@ -38,7 +38,7 @@ try $Build = [int]($env:appveyor_build_number) } else { - $Build = [int](Get-Content "Versions\build.txt") + $Build = [int](Get-Content "Versions\build.txt") + 1 } if (!$Build) { $Build = 0 } $SciVer = [int](Get-Content "scintilla\version.txt") @@ -68,9 +68,7 @@ catch } finally { - if (-not $AppVeyorEnv) { - $Build + 1 | Set-Content "Versions\build.txt" - } + $Build | Set-Content "Versions\build.txt" [Environment]::SetEnvironmentVariable("LASTEXITCODE", $LastExitCode, "User") $host.SetShouldExit($LastExitCode) Write-Host "VersionPatching: Done! Elapsed time: $($stopwatch.Elapsed)." diff --git a/Versions/build.txt b/Versions/build.txt index 696290484..2550c37fd 100644 --- a/Versions/build.txt +++ b/Versions/build.txt @@ -1 +1 @@ -569 +586 diff --git a/appveyor.yml b/appveyor.yml index 380716ae5..c47544787 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -180,7 +180,7 @@ before_test: # to run your custom scripts instead of automatic tests test_script: - - TestFileVersion.cmd {build} + - TestFileVersion.cmd - TestAhkNotepad3.cmd # scripts to run after tests From 345f581d385388e81703b86e0072822f2cf027d4 Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Wed, 11 Oct 2017 12:31:18 +0200 Subject: [PATCH 6/9] + fix: wrong decreasing build number from file --- test/TestFileVersion.cmd | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/TestFileVersion.cmd b/test/TestFileVersion.cmd index 7c757a0ad..35d77d995 100644 --- a/test/TestFileVersion.cmd +++ b/test/TestFileVersion.cmd @@ -67,9 +67,11 @@ set argbuild=%~1 if defined argbuild ( set BUILD=%argbuild% goto:EOF +) else ( + set /p nxbuild=<%NP3_BUILD_VER% + set BUILD=%nxbuild% + ::set /a BUILD = %nxbuild% - 1 ) -set /p nxbuild=<%NP3_BUILD_VER% -set /a BUILD = %nxbuild% - 1 goto:EOF :: -------------------------------------------------------------------------------------------------------------------- From eadcd3dd390049b219fe81013687bb2ee5ea8c73 Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Wed, 11 Oct 2017 12:35:31 +0200 Subject: [PATCH 7/9] +fix: syntax error in batch --- test/TestFileVersion.cmd | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/test/TestFileVersion.cmd b/test/TestFileVersion.cmd index 35d77d995..cbdbe752e 100644 --- a/test/TestFileVersion.cmd +++ b/test/TestFileVersion.cmd @@ -67,11 +67,10 @@ set argbuild=%~1 if defined argbuild ( set BUILD=%argbuild% goto:EOF -) else ( - set /p nxbuild=<%NP3_BUILD_VER% - set BUILD=%nxbuild% - ::set /a BUILD = %nxbuild% - 1 ) +set /p nxbuild=<%NP3_BUILD_VER% +::set /a BUILD=%nxbuild% - 1 +set BUILD=%nxbuild% goto:EOF :: -------------------------------------------------------------------------------------------------------------------- From 81b5813dd5f9578f7d430c8081e36dd727747b38 Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Wed, 11 Oct 2017 12:43:34 +0200 Subject: [PATCH 8/9] + fix: file-version test batch error --- test/TestFileVersion.cmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/TestFileVersion.cmd b/test/TestFileVersion.cmd index cbdbe752e..6fd4f5727 100644 --- a/test/TestFileVersion.cmd +++ b/test/TestFileVersion.cmd @@ -68,9 +68,9 @@ if defined argbuild ( set BUILD=%argbuild% goto:EOF ) -set /p nxbuild=<%NP3_BUILD_VER% +::set /p nxbuild=<"%NP3_BUILD_VER%" ::set /a BUILD=%nxbuild% - 1 -set BUILD=%nxbuild% +set /p BUILD=<"%NP3_BUILD_VER%" goto:EOF :: -------------------------------------------------------------------------------------------------------------------- From 1c428be8ae1ae7cde2d0c4a4a55507e660ff1d8c Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Wed, 11 Oct 2017 14:14:36 +0200 Subject: [PATCH 9/9] - script and artifact cleanup --- test/TestAhkNotepad3.cmd | 14 ++++++++------ test/conf/Notepad3_test_X.ini | Bin 1150 -> 0 bytes test/txt/korean-Win-949.txt | 5 ----- test/txt/regex_find.txt | 26 -------------------------- test/txt/strange.txt | 9 --------- 5 files changed, 8 insertions(+), 46 deletions(-) delete mode 100644 test/conf/Notepad3_test_X.ini delete mode 100644 test/txt/korean-Win-949.txt delete mode 100644 test/txt/regex_find.txt delete mode 100644 test/txt/strange.txt diff --git a/test/TestAhkNotepad3.cmd b/test/TestAhkNotepad3.cmd index 52397deba..69e253ffb 100644 --- a/test/TestAhkNotepad3.cmd +++ b/test/TestAhkNotepad3.cmd @@ -30,16 +30,18 @@ echo. > "%TEST_LOG%" set EXITCODE=0 ::for /r %%i in (*.ahk) do ( for %%i in (*.ahk) do ( - echo. ** Running %%~nxi ** - echo ** Running %%~nxi ** >> "%TEST_LOG%" - start "Testing Suite" /B /Wait "%AHK_EXE%" /ErrorStdOut "%%~nxi" >> "%TEST_LOG%" 2>&1 + echo - Run Testsuite %%~nxi + echo +++ Run Testsuite %%~nxi +++ >> "%TEST_LOG%" + start "testing" /B /Wait "%AHK_EXE%" /ErrorStdOut "%%~nxi" >> "%TEST_LOG%" 2>&1 if errorlevel 1 ( set EXITCODE=%ERRORLEVEL% - echo *** Testsuite %%~nxi failed *** - echo *** Testsuite %%~nxi failed *** >> "%TEST_LOG%" + echo *** Testsuite %%~nxi failed! *** + echo *** ERROR: Testsuite %%~nxi failed! *** >> "%TEST_LOG%" + ) else ( + echo +++ Testsuite %%~nxi succeeded. +++ >> "%TEST_LOG%" ) + echo. >> "%TEST_LOG%" ) -echo. :: -------------------------------------------------------------------------------------------------------------------- :END diff --git a/test/conf/Notepad3_test_X.ini b/test/conf/Notepad3_test_X.ini deleted file mode 100644 index 3a5f01638a1c502fd1f3a985da4e89f106cfccfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmZvbQBT`Y42940r2U7y@Hil08y!+L!MaLF6agvfL*XH`86XPn+AzVN2R{4urddHz znp^wWKF9WbeHrRlQ&lQ8Q=zeTbg9q!q@i+b70<06bgjkGo`d>_XWiRY>T%J324=+j zK!z?kCY%?Fs1veOx}kQVdpun@%sH7gV!B?*?6+7$^rkMr8iS_&!YlW&Ur}S9H+MBw z-)e3*`~$L$y>?q)-QFW^t~(u()07^$;wIbo9>d%_ueMst{OhP5`NlAaddzPf-iO^U z9r6^gJ69h?t(v9v>Z#`N8%AU2V-r{@nUZUQT4R2oNAy(AK6E%yrUZ2f(@bEO=o|0% z<$0HHi}%O!f9i;o`2}q1(H50?j&QP!S)DKSQ(F5|uMm({%TB3wy}$1_DXVuW?3V3D z+>t{RFHlqPwfV*F)UL*yowD`xt_g7$qaisBiE|R zh;Day=VTwjW56lwU*9b^V87J6ZfM(G+wxQ9P{7a7&kfXoxGSb?)n@o@$4fG_QDk$Q z!DUZdJlABJ@@xIrr23SIE!Syt9)bU