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:
- 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
- verifier /standard /driver winfsp-x64.sys
- bcdedit /set testsigning on
@ -20,8 +22,10 @@ build_script:
test_script:
- 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\run-tests.bat %CONFIGURATION%
- tools\run-tests.bat %CONFIGURATION% ifstest
on_finish:
- 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 (
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 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" %*

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