tools,tst: backwards compat testing for FUSE layer

This commit is contained in:
Bill Zissimopoulos 2017-11-15 13:41:17 -08:00
parent 3cc9697248
commit a9080208d9
No known key found for this signature in database
GPG Key ID: 3D4F95D52C7B3EA3
5 changed files with 46 additions and 4 deletions

View File

@ -6,10 +6,10 @@ environment:
TESTING: Func TESTING: Func
- CONFIGURATION: Release - CONFIGURATION: Release
TESTING: Func TESTING: Func
- CONFIGURATION: Release #- CONFIGURATION: Release
TESTING: Avast # TESTING: Avast
- CONFIGURATION: Release #- CONFIGURATION: Release
TESTING: Perf # TESTING: Perf
install: install:
- git submodule update --init --recursive - git submodule update --init --recursive
@ -32,6 +32,7 @@ test_script:
- if %TESTING%==Func tools\run-tests.bat %CONFIGURATION% - if %TESTING%==Func tools\run-tests.bat %CONFIGURATION%
- if %TESTING%==Func tools\run-tests.bat %CONFIGURATION% ifstest - if %TESTING%==Func tools\run-tests.bat %CONFIGURATION% ifstest
- if %TESTING%==Func tools\run-tests.bat %CONFIGURATION% sample - if %TESTING%==Func tools\run-tests.bat %CONFIGURATION% sample
- if %TESTING%==Func tools\run-tests.bat %CONFIGURATION% compat
- if %TESTING%==Avast choco install avastfreeantivirus && fltmc instances -v "C:" - if %TESTING%==Avast choco install avastfreeantivirus && fltmc instances -v "C:"
- if %TESTING%==Avast tools\run-tests.bat %CONFIGURATION% avast-tests - if %TESTING%==Avast tools\run-tests.bat %CONFIGURATION% avast-tests
- if %TESTING%==Perf tools\run-perf-tests.bat %CONFIGURATION% baseline > perf-tests.csv && type perf-tests.csv & appveyor PushArtifact perf-tests.csv - if %TESTING%==Perf tools\run-perf-tests.bat %CONFIGURATION% baseline > perf-tests.csv && type perf-tests.csv & appveyor PushArtifact perf-tests.csv

View File

@ -80,6 +80,8 @@ set opt_tests=^
sample-passthrough-fuse-x86 ^ sample-passthrough-fuse-x86 ^
sample-fsx-passthrough-fuse-x86 ^ sample-fsx-passthrough-fuse-x86 ^
sample-passthrough-dotnet ^ sample-passthrough-dotnet ^
compat-v1.1-passthrough-fuse-x64 ^
compat-v1.1-passthrough-fuse-x86 ^
avast-tests-x64 ^ avast-tests-x64 ^
avast-tests-x86 ^ avast-tests-x86 ^
avast-tests-dotnet avast-tests-dotnet
@ -757,6 +759,42 @@ call "%ProjRoot%\tools\fsreg" -u %1
rmdir /s/q "%TMP%\%1" rmdir /s/q "%TMP%\%1"
exit /b !RunSampleTestExit! exit /b !RunSampleTestExit!
:compat-v1.1-passthrough-fuse-x64
call :__run_compat_fuse_test passthrough-fuse v1.1\passthrough-fuse\passthrough-fuse-x64 winfsp-tests-x64
if !ERRORLEVEL! neq 0 goto fail
exit /b 0
:compat-v1.1-passthrough-fuse-x86
call :__run_compat_fuse_test passthrough-fuse v1.1\passthrough-fuse\passthrough-fuse-x86 winfsp-tests-x86
if !ERRORLEVEL! neq 0 goto fail
exit /b 0
:__run_compat_fuse_test
set RunSampleTestExit=0
mkdir "%TMP%\%1\test"
call "%ProjRoot%\tools\fsreg" %1 "%ProjRoot%\tst\compat\%2.exe" ^
"-ouid=11,gid=65792 --VolumePrefix=%%%%1 %%%%2" "D:P(A;;RPWPLC;;;WD)"
echo net use L: "\\%1\%TMP::=$%\%1\test"
net use L: "\\%1\%TMP::=$%\%1\test"
if !ERRORLEVEL! neq 0 goto fail
echo net use ^| findstr L:
net use | findstr L:
pushd >nul
cd L: >nul 2>nul || (echo Unable to find drive L: >&2 & goto fail)
L:
"%ProjRoot%\build\VStudio\build\%Configuration%\%3.exe" ^
--external --resilient --case-insensitive-cmp --share-prefix="\%1\%TMP::=$%\%1\test" ^
-create_allocation_test -create_notraverse_test -create_backup_test -create_restore_test -create_namelen_test ^
-getfileinfo_name_test -setfileinfo_test -delete_access_test -delete_mmap_test -rename_flipflop_test -rename_mmap_test -setsecurity_test -exec_rename_dir_test ^
-reparse* -stream*
if !ERRORLEVEL! neq 0 set RunSampleTestExit=1
popd
echo net use L: /delete
net use L: /delete
call "%ProjRoot%\tools\fsreg" -u %1
rmdir /s/q "%TMP%\%1"
exit /b !RunSampleTestExit!
:avast-tests-x64 :avast-tests-x64
call :winfsp-tests-x64-external call :winfsp-tests-x64-external
if !ERRORLEVEL! neq 0 goto fail if !ERRORLEVEL! neq 0 goto fail

View File

@ -0,0 +1,3 @@
This directory contains binaries of `passthrough-fuse` from release `v1.2B2`. Both `x64` and `x86` binaries are provided.
The WinFsp-FUSE layer added support for `struct fuse_stat_ex` in `v1.2B3` which was a potentially breaking change for backwards compatibility. These binaries are used to verify that WinFsp-FUSE remains backwards compatible.