appveyor: run-perf-tests

This commit is contained in:
Bill Zissimopoulos 2017-01-04 16:04:43 -08:00
parent 40735c4687
commit 56873406e3
2 changed files with 63 additions and 31 deletions

View File

@ -2,26 +2,32 @@ version: '{build}'
environment:
matrix:
- CONFIGURATION: Debug
- CONFIGURATION: Release
TESTING: Perf
install:
- git submodule update --init --recursive
- appveyor AddMessage "Change boot configuration and reboot" -Category Information
- verifier /standard /driver winfsp-x64.sys
- bcdedit /set testsigning on
- if %TESTING%==Func verifier /standard /driver winfsp-x64.sys
- if exist %SystemRoot%\memory.dmp del %SystemRoot%\memory.dmp
- ps: Restart-Computer -Force
- ps: Start-Sleep -s 10
- ps: Start-Sleep -s 60
build_script:
- appveyor AddMessage "Reboot complete" -Category Information
- bcdedit | findstr /i "testsigning"
- tools\build.bat %CONFIGURATION%
test_script:
- for %%f in ("build\VStudio\build\%CONFIGURATION%\winfsp-*.msi") do start /wait msiexec /i %%f /qn INSTALLLEVEL=1000
- tools\nmake-ext-test.bat %CONFIGURATION%
- tools\run-tests.bat %CONFIGURATION%
- if %TESTING%==Func appveyor DownloadFile http://www.secfs.net/winfsp/resources/Test.Filter.Driver.zip && 7z x Test.Filter.Driver.zip
- if %TESTING%==Func start /wait msiexec /i "Test.Filter.Driver\HCK Filter.Driver Content-x86_en-us.msi" /qn
- if %TESTING%==Func tools\nmake-ext-test.bat %CONFIGURATION%
- if %TESTING%==Func tools\run-tests.bat %CONFIGURATION%
- if %TESTING%==Func tools\run-tests.bat %CONFIGURATION% ifstest
- if %TESTING%==Perf tools\run-perf-tests.bat %CONFIGURATION% baseline > perf-tests.csv && type perf-tests.csv & appveyor PushArtifact perf-tests.csv
- if exist %SystemRoot%\memory.dmp exit 1
on_finish:
- if exist %SystemRoot%\memory.dmp (7z a memory.dmp.zip %SystemRoot%\memory.dmp && appveyor PushArtifact memory.dmp.zip)
- verifier /query

View File

@ -14,31 +14,57 @@ popd
verifier /query | findstr winfsp >nul 2>nul
if !ERRORLEVEL! equ 0 echo warning: verifier for winfsp is ON >&2
set launchctl="%ProjRoot%\build\VStudio\build\%Configuration%\launchctl-x64.exe"
set fsbench="%ProjRoot%\build\VStudio\build\%Configuration%\fsbench-x64.exe"
if X%2==Xbaseline (
%launchctl% start memfs64 testdsk "" M: >nul
rem Cannot use timeout under cygwin/mintty: "Input redirection is not supported"
waitfor 7BF47D72F6664550B03248ECFE77C7DD /t 3 2>nul
cd M: >nul 2>nul || (echo === Unable to find drive M: >&2 & goto fail)
)
mkdir fsbench
pushd fsbench
for %%a in (1000 2000 3000 4000 5000) do (
set OptFiles=1000 2000 3000 4000 5000
if X%2==Xbaseline set OptFiles=10000
for %%a in (%OptFiles%) do (
call :csv %%a "%fsbench% --files=%%a file_*"
)
for %%a in (100 200 300 400 500) do (
set OptRdwrCc=100 200 300 400 500
if X%2==Xbaseline set OptRdwrCc=1000
for %%a in (%OptRdwrCc%) do (
call :csv %%a "%fsbench% --rdwr-cc=%%a rdwr_cc_*"
)
for %%a in (100 200 300 400 500) do (
set OptRdwrNc=100 200 300 400 500
if X%2==Xbaseline set OptRdwrNc=100
for %%a in (%OptRdwrNc%) do (
call :csv %%a "%fsbench% --rdwr-nc=%%a rdwr_nc_*"
)
for %%a in (100 200 300 400 500) do (
set OptMmap=100 200 300 400 500
if X%2==Xbaseline set OptMmap=1000
for %%a in (%OptMmap%) do (
call :csv %%a "%fsbench% --mmap=%%a mmap_*"
)
popd
rmdir fsbench
if X%2==Xbaseline (
%launchctl% stop memfs64 testdsk >nul
rem Cannot use timeout under cygwin/mintty: "Input redirection is not supported"
waitfor 7BF47D72F6664550B03248ECFE77C7DD /t 3 2>nul
)
exit /b 0
:fail
exit /b 1
:csv
set Iter=%1
for /F "tokens=1,2,3" %%i in ('%2') do (