appveyor: run ifstest

This commit is contained in:
Bill Zissimopoulos 2016-12-22 13:23:03 -08:00
parent 7b94f2bebf
commit 2212d021e1
3 changed files with 86 additions and 56 deletions

View File

@ -7,6 +7,8 @@ environment:
install: install:
- git submodule update --init --recursive - git submodule update --init --recursive
- appveyor DownloadFile http://www.secfs.net/winfsp/resources/Test.Filter.Driver.zip
- 7z x Test.Filter.Driver.zip
- appveyor AddMessage "Change boot configuration and reboot" -Category Information - appveyor AddMessage "Change boot configuration and reboot" -Category Information
- verifier /standard /driver winfsp-x64.sys - verifier /standard /driver winfsp-x64.sys
- bcdedit /set testsigning on - bcdedit /set testsigning on
@ -20,8 +22,10 @@ build_script:
test_script: test_script:
- for %%f in ("build\VStudio\build\%CONFIGURATION%\winfsp-*.msi") do start /wait msiexec /i %%f /qn INSTALLLEVEL=1000 - for %%f in ("build\VStudio\build\%CONFIGURATION%\winfsp-*.msi") do start /wait msiexec /i %%f /qn INSTALLLEVEL=1000
- start /wait msiexec /i "Test.Filter.Driver\HCK Filter.Driver Content-x86_en-us.msi" /qn
- tools\nmake-ext-test.bat %CONFIGURATION% - tools\nmake-ext-test.bat %CONFIGURATION%
- tools\run-tests.bat %CONFIGURATION% - tools\run-tests.bat %CONFIGURATION%
- tools\run-tests.bat %CONFIGURATION% ifstest
on_finish: on_finish:
- verifier /query - verifier /query

View File

@ -12,10 +12,10 @@ if !ERRORLEVEL! equ 0 (
for /f "tokens=2,*" %%i in ('reg query %RegKey% /v %RegVal% ^| findstr %RegVal%') do ( for /f "tokens=2,*" %%i in ('reg query %RegKey% /v %RegVal% ^| findstr %RegVal%') do (
set KitRoot=%%jHardware Lab Kit\ set KitRoot=%%jHardware Lab Kit\
) )
) else (
set "KitRoot=C:\Program Files (x86)\Windows Kits\8.1\Hardware Certification Kit\"
) )
if not exist "%KitRoot%" set "KitRoot=C:\Program Files (x86)\Windows Kits\8.1\Hardware Certification Kit\"
set BaseDir=%KitRoot%Tests\%Arch% set BaseDir=%KitRoot%Tests\%Arch%
set PATH=%BaseDir%\nttest\commontest\ntlog;%BaseDir%\nttest\basetest\core_file_services\shared_libs\fbslog;%PATH% set PATH=%BaseDir%\nttest\commontest\ntlog;%BaseDir%\nttest\basetest\core_file_services\shared_libs\fbslog;%PATH%
"%BaseDir%\nttest\basetest\core_file_services\ifs_test_kit\ifstest.exe" %* "%BaseDir%\nttest\basetest\core_file_services\ifs_test_kit\ifstest.exe" %*

View File

@ -24,40 +24,57 @@ cd N: >nul 2>nul || (echo === Unable to find drive N: >&2 & goto fail)
cd O: >nul 2>nul || (echo === Unable to find drive O: >&2 & goto fail) cd O: >nul 2>nul || (echo === Unable to find drive O: >&2 & goto fail)
cd P: >nul 2>nul || (echo === Unable to find drive P: >&2 & goto fail) cd P: >nul 2>nul || (echo === Unable to find drive P: >&2 & goto fail)
if not X%2==X ( set dfl_tests=^
set tests=%2 winfsp-tests-x64 ^
) else ( winfsp-tests-x64-case-randomize ^
set tests=^ winfsp-tests-x64-mountpoint-drive ^
winfsp-tests-x64 ^ winfsp-tests-x64-mountpoint-dir ^
winfsp-tests-x64-case-randomize ^ winfsp-tests-x64-no-traverse ^
winfsp-tests-x64-mountpoint-drive ^ winfsp-tests-x64-oplock ^
winfsp-tests-x64-mountpoint-dir ^ winfsp-tests-x64-external-share ^
winfsp-tests-x64-no-traverse ^ fsx-memfs-x64-disk ^
winfsp-tests-x64-oplock ^ fsx-memfs-x64-net ^
winfsp-tests-x64-external-share ^ standby-memfs-x64-disk ^
fsx-memfs-x64-disk ^ standby-memfs-x64-net ^
fsx-memfs-x64-net ^ net-use-memfs-x64 ^
standby-memfs-x64-disk ^ winfstest-memfs-x64-disk ^
standby-memfs-x64-net ^ winfstest-memfs-x64-net ^
net-use-memfs-x64 ^ fscrash-x64 ^
winfstest-memfs-x64-disk ^ winfsp-tests-x86 ^
winfstest-memfs-x64-net ^ winfsp-tests-x86-case-randomize ^
fscrash-x64 ^ winfsp-tests-x86-mountpoint-drive ^
winfsp-tests-x86 ^ winfsp-tests-x86-mountpoint-dir ^
winfsp-tests-x86-case-randomize ^ winfsp-tests-x86-no-traverse ^
winfsp-tests-x86-mountpoint-drive ^ winfsp-tests-x86-oplock ^
winfsp-tests-x86-mountpoint-dir ^ winfsp-tests-x86-external-share ^
winfsp-tests-x86-no-traverse ^ fsx-memfs-x86-disk ^
winfsp-tests-x86-oplock ^ fsx-memfs-x86-net ^
winfsp-tests-x86-external-share ^ standby-memfs-x86-disk ^
fsx-memfs-x86-disk ^ standby-memfs-x86-net ^
fsx-memfs-x86-net ^ net-use-memfs-x86 ^
standby-memfs-x86-disk ^ winfstest-memfs-x86-disk ^
standby-memfs-x86-net ^ winfstest-memfs-x86-net ^
net-use-memfs-x86 ^ fscrash-x86
winfstest-memfs-x86-disk ^ set opt_tests=^
winfstest-memfs-x86-net ^ ifstest-memfs-x64-disk ^
fscrash-x86 ifstest-memfs-x86-disk
set tests=
for %%f in (%dfl_tests%) do (
if X%2==X (
set tests=!tests! %%f
) else (
set test=%%f
if not "X!test:%2=!"=="X!test!" set tests=!tests! %%f
)
)
for %%f in (%opt_tests%) do (
if X%2==X (
rem
) else (
set test=%%f
if not "X!test:%2=!"=="X!test!" set tests=!tests! %%f
)
) )
set testpass=0 set testpass=0
@ -333,6 +350,12 @@ call :__ifstest-memfs M: \Device\WinFsp.Disk
if !ERRORLEVEL! neq 0 goto fail if !ERRORLEVEL! neq 0 goto fail
exit /b 0 exit /b 0
:ifstest-memfs-x86-disk
O:
call :__ifstest-memfs O: \Device\WinFsp.Disk
if !ERRORLEVEL! neq 0 goto fail
exit /b 0
:__ifstest-memfs :__ifstest-memfs
set IfsTestMemfsExit=0 set IfsTestMemfsExit=0
M: M:
@ -340,31 +363,32 @@ call :__ifstest %1 /d %2 /g OpenCreateGeneral -t FileOpenByIDTest -t OpenVolumeT
if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1 if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
call :__ifstest %1 /d %2 /g OpenCreateParameters /z /v call :__ifstest %1 /d %2 /g OpenCreateParameters /z /v
if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1 if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
call :__ifstest %1 /d %2 /g CloseCleanupDelete /z /v rem call :__ifstest %1 /d %2 /g CloseCleanupDelete /z /v
if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1 rem if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
call :__ifstest %1 /d %2 /g VolumeInformation /z /v rem call :__ifstest %1 /d %2 /g VolumeInformation /z /v
if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1 rem if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
call :__ifstest %1 /d %2 /g FileInformation /z /v rem call :__ifstest %1 /d %2 /g FileInformation /z /v
if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1 rem if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
call :__ifstest %1 /d %2 /g DirectoryInformation /z /v rem call :__ifstest %1 /d %2 /g DirectoryInformation /z /v
if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1 rem if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
call :__ifstest %1 /d %2 /g FileLocking /z /v rem call :__ifstest %1 /d %2 /g FileLocking /z /v
if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1 rem if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
call :__ifstest %1 /d %2 /g OpLocks /z /v rem call :__ifstest %1 /d %2 /g OpLocks /z /v
if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1 rem if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
rem call :__ifstest %1 /d %2 /g ChangeNotification /z /v rem call :__ifstest %1 /d %2 /g ChangeNotification /z /v
rem if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1 rem if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
call :__ifstest %1 /d %2 /g ReadWrite /z /v rem call :__ifstest %1 /d %2 /g ReadWrite /z /v
if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1 rem if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
call :__ifstest %1 /d %2 /g SectionsCaching /z /v rem call :__ifstest %1 /d %2 /g SectionsCaching /z /v
if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1 rem if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
call :__ifstest %1 /d %2 /g ReparsePoints /z /v rem call :__ifstest %1 /d %2 /g ReparsePoints /z /v
if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1 rem if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
call :__ifstest %1 /d %2 /g StreamEnhancements /z /v rem call :__ifstest %1 /d %2 /g StreamEnhancements /z /v
if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1 rem if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
exit /b !IfsTestMemfsExit! exit /b !IfsTestMemfsExit!
:__ifstest :__ifstest
set IfsTestFound=
set IfsTestName= set IfsTestName=
set IfsTestGroup= set IfsTestGroup=
set IfsTestStatus= set IfsTestStatus=
@ -387,6 +411,7 @@ for /F "delims=" %%l in ('call "%ProjRoot%\tools\ifstest.bat" %* ^| findstr /n "
if X!FieldName!==XTest ( if X!FieldName!==XTest (
set IfsTestName=!FieldValue! set IfsTestName=!FieldValue!
set IfsTestFound=YES
) else if X!FieldName!==XGroup ( ) else if X!FieldName!==XGroup (
set IfsTestGroup=!FieldValue! set IfsTestGroup=!FieldValue!
) else if X!FieldName!==XStatus ( ) else if X!FieldName!==XStatus (
@ -416,6 +441,7 @@ for /F "delims=" %%l in ('call "%ProjRoot%\tools\ifstest.bat" %* ^| findstr /n "
) )
) )
) )
if not X!IfsTestFound!==XYES set IfsTestExit=1
exit /b !IfsTestExit! exit /b !IfsTestExit!
:leak-test :leak-test