Merge branch 'pvt-gauntlet-vs2019' into pvt-gauntlet-merge

This commit is contained in:
Bill Zissimopoulos
2022-01-08 09:51:41 +00:00
6 changed files with 69 additions and 20 deletions

View File

@ -26,10 +26,16 @@ if X%~nx0==Xbuild-choco.bat (
set BuildArm64=yes
if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (
echo WARNING: APPVEYOR BUILD ON UNSUPPORTED VERSION OF VISUAL STUDIO.
echo:
set BuildArm64=no
)
if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" (
set BuildArm64=no
)
if X%BuildArm64%==Xno (
echo WARNING: APPVEYOR BUILD ON UNSUPPORTED VERSION OF VISUAL STUDIO.
echo WARNING: ARM64 BUILD PRODUCTS ARE COPIES OF X64 BUILD PRODUCTS.
echo:
)
call "%~dp0vcvarsall.bat" x64
@ -60,11 +66,8 @@ if X%SignedPackage%==X (
devenv winfsp.sln /build "%Configuration%|x86"
if errorlevel 1 goto fail
if X%BuildArm64%==Xno (
echo:
echo WARNING: APPVEYOR BUILD ON UNSUPPORTED VERSION OF VISUAL STUDIO.
echo WARNING: ARM64 BUILD PRODUCTS ARE COPIES OF X64 BUILD PRODUCTS.
echo:
copy build\%Configuration%\*-x64.* build\%Configuration%\*-a64.* >nul
if errorlevel 1 goto fail
)
for %%f in (build\%Configuration%\%MyProductFileName%-a64.sys build\%Configuration%\%MyProductFileName%-x64.sys build\%Configuration%\%MyProductFileName%-x86.sys) do (

View File

@ -643,7 +643,16 @@ if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
rem ReparsePoints.SetPointEASNotSupportedTest: EA's not supported
rem ReparsePoints.EnumReparsePointsTest: enumeration of reparse points not supported
rem ReparsePoints.ChangeNotificationReparseTest: change notifications of reparse points not supported
call :__ifstest %1 /g ReparsePoints -t SetPointEASNotSupportedTest -t EnumReparsePointsTest -t ChangeNotificationReparseTest /c
rem ReparsePoints.SetPointIoReparseDataInvalidTest:
rem This test succeeds on Server 2012 and fails on Server 2016/2019.
rem Investigation on Server 2019 showed that the FSCTL_SET_REPARSE_POINT
rem input buffer length was 23 instead of less than
rem REPARSE_DATA_BUFFER_HEADER_SIZE(==8) like ifstest claims. This
rem suggests that WinFsp is not the problem here, but perhaps some OS
rem changes between Server 2012 and Server 2016. NOTE that we are still
rem using the ifstest from Server 2012 HCK, which may account for the
rem difference.
call :__ifstest %1 /g ReparsePoints -t SetPointEASNotSupportedTest -t EnumReparsePointsTest -t ChangeNotificationReparseTest -t SetPointIoReparseDataInvalidTest /c
if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
rem IfsTest ReparsePoints seems to have a bug in that it cannot handle STATUS_PENDING for FSCTL_GET_REPARSE_POINT
rmdir /s/q reparspt

View File

@ -3,8 +3,14 @@
set vcvarsall="%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat"
set vswhere="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
if exist %vswhere% (
for /f "usebackq tokens=*" %%i in (`%vswhere% -find VC\**\vcvarsall.bat`) do (
set vcvarsall="%%i"
for /f "usebackq tokens=*" %%i in (`%vswhere% -latest -find VC\**\vcvarsall.bat`) do (
if exist "%%i" (
set vcvarsall="%%i"
) else (
for /f "usebackq tokens=*" %%i in (`%vswhere% -latest -property installationPath`) do (
set vcvarsall="%%i\VC\Auxiliary\Build\vcvarsall.bat"
)
)
)
)
call %vcvarsall% %*