mirror of
https://github.com/winfsp/winfsp.git
synced 2025-06-07 20:42:09 -05:00
Merge branch 'pvt-gauntlet-vs2019' into pvt-gauntlet-merge
This commit is contained in:
commit
24e6f1a2f6
34
appveyor.yml
34
appveyor.yml
@ -3,16 +3,28 @@ version: '{build}'
|
|||||||
environment:
|
environment:
|
||||||
# Disable the winfsp-tests built-in exception filter to allow WER to collect dumps.
|
# Disable the winfsp-tests built-in exception filter to allow WER to collect dumps.
|
||||||
WINFSP_TESTS_EXCEPTION_FILTER_DISABLE: 1
|
WINFSP_TESTS_EXCEPTION_FILTER_DISABLE: 1
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
- CONFIGURATION: Debug
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
|
CONFIGURATION: Debug
|
||||||
TESTING: Func
|
TESTING: Func
|
||||||
- CONFIGURATION: Release
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
|
CONFIGURATION: Release
|
||||||
|
TESTING: Func
|
||||||
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||||
|
CONFIGURATION: Release
|
||||||
|
TESTING: Func
|
||||||
|
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
||||||
|
CONFIGURATION: Release
|
||||||
TESTING: Func
|
TESTING: Func
|
||||||
#- CONFIGURATION: Release
|
#- CONFIGURATION: Release
|
||||||
# TESTING: Avast
|
# TESTING: Avast
|
||||||
#- CONFIGURATION: Release
|
#- CONFIGURATION: Release
|
||||||
# TESTING: Perf
|
# TESTING: Perf
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
fast_finish: true
|
||||||
|
|
||||||
init:
|
init:
|
||||||
#- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
#- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
||||||
|
|
||||||
@ -20,10 +32,13 @@ install:
|
|||||||
# Hack to make WDK 1903 work on VS2015.
|
# Hack to make WDK 1903 work on VS2015.
|
||||||
# See https://github.com/appveyor-tests/WDK-10.0.14393.0/blob/31cf12217fe0c92b218c70d7027dfe145be4f4cb/appveyor.yml#L7
|
# See https://github.com/appveyor-tests/WDK-10.0.14393.0/blob/31cf12217fe0c92b218c70d7027dfe145be4f4cb/appveyor.yml#L7
|
||||||
- ps: |
|
- ps: |
|
||||||
[xml]$targets = get-content "C:\Program Files (x86)\Windows Kits\10\build\WindowsDriver.Common.targets"
|
if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015") {
|
||||||
$usingTask = $targets.ChildNodes[1].UsingTask | ? {$_.TaskName -eq "ValidateNTTargetVersion"}
|
[xml]$targets = get-content "C:\Program Files (x86)\Windows Kits\10\build\WindowsDriver.Common.targets"
|
||||||
$usingTask.AssemblyFile = '$(WDKContentRoot)build\bin\Microsoft.DriverKit.Build.Tasks.16.0.dll'
|
$usingTask = $targets.ChildNodes[1].UsingTask | ? {$_.TaskName -eq "ValidateNTTargetVersion"}
|
||||||
$targets.Save("C:\Program Files (x86)\Windows Kits\10\build\WindowsDriver.Common.targets")
|
$usingTask.AssemblyFile = '$(WDKContentRoot)build\bin\Microsoft.DriverKit.Build.Tasks.16.0.dll'
|
||||||
|
$targets.Save("C:\Program Files (x86)\Windows Kits\10\build\WindowsDriver.Common.targets")
|
||||||
|
Add-AppveyorMessage "Hack to make WDK 1903 work on VS2015"
|
||||||
|
}
|
||||||
# Submodules
|
# Submodules
|
||||||
- git submodule update --init --recursive
|
- git submodule update --init --recursive
|
||||||
# Kernel and user mode dumps
|
# Kernel and user mode dumps
|
||||||
@ -35,7 +50,7 @@ install:
|
|||||||
# Boot configuration
|
# Boot configuration
|
||||||
- appveyor AddMessage "Change boot configuration and reboot" -Category Information
|
- appveyor AddMessage "Change boot configuration and reboot" -Category Information
|
||||||
- bcdedit /set testsigning on
|
- bcdedit /set testsigning on
|
||||||
- if %TESTING%==Func verifier /standard /driver winfsp-x64.sys
|
- if %TESTING%==Func verifier /standard /driver winfsp-x64.sys & exit 0
|
||||||
- ps: Restart-Computer -Force
|
- ps: Restart-Computer -Force
|
||||||
- ps: Start-Sleep -s 60
|
- ps: Start-Sleep -s 60
|
||||||
|
|
||||||
@ -46,8 +61,9 @@ build_script:
|
|||||||
#- C:\cygwin64\bin\bash --login -c "make -C '%CD%\opt\cygfuse' dist"
|
#- C:\cygwin64\bin\bash --login -c "make -C '%CD%\opt\cygfuse' dist"
|
||||||
#- C:\cygwin\setup-x86.exe -qnNd -P cygport
|
#- C:\cygwin\setup-x86.exe -qnNd -P cygport
|
||||||
#- C:\cygwin\bin\bash --login -c "make -C '%CD%\opt\cygfuse' dist"
|
#- C:\cygwin\bin\bash --login -c "make -C '%CD%\opt\cygfuse' dist"
|
||||||
# remove ARM64 project configurations to build in VS2015
|
# remove ARM64 project configurations to build in VS2015/VS2017
|
||||||
- tools\gensrc\remove-build-arm64.bat
|
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" tools\gensrc\remove-build-arm64.bat
|
||||||
|
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" tools\gensrc\remove-build-arm64.bat
|
||||||
# build winfsp
|
# build winfsp
|
||||||
- tools\build.bat %CONFIGURATION%
|
- tools\build.bat %CONFIGURATION%
|
||||||
|
|
||||||
|
@ -13,6 +13,9 @@
|
|||||||
<ClCompile>
|
<ClCompile>
|
||||||
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
|
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<DriverSign>
|
||||||
|
<FileDigestAlgorithm>sha256</FileDigestAlgorithm>
|
||||||
|
</DriverSign>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(DefaultPlatformToolset)'=='v140'">
|
<ItemDefinitionGroup Condition="'$(DefaultPlatformToolset)'=='v140'">
|
||||||
<Link>
|
<Link>
|
||||||
|
@ -26,10 +26,16 @@ if X%~nx0==Xbuild-choco.bat (
|
|||||||
|
|
||||||
set BuildArm64=yes
|
set BuildArm64=yes
|
||||||
if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (
|
if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (
|
||||||
echo WARNING: APPVEYOR BUILD ON UNSUPPORTED VERSION OF VISUAL STUDIO.
|
|
||||||
echo:
|
|
||||||
set BuildArm64=no
|
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
|
call "%~dp0vcvarsall.bat" x64
|
||||||
|
|
||||||
@ -60,11 +66,8 @@ if X%SignedPackage%==X (
|
|||||||
devenv winfsp.sln /build "%Configuration%|x86"
|
devenv winfsp.sln /build "%Configuration%|x86"
|
||||||
if errorlevel 1 goto fail
|
if errorlevel 1 goto fail
|
||||||
if X%BuildArm64%==Xno (
|
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
|
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 (
|
for %%f in (build\%Configuration%\%MyProductFileName%-a64.sys build\%Configuration%\%MyProductFileName%-x64.sys build\%Configuration%\%MyProductFileName%-x86.sys) do (
|
||||||
|
@ -643,7 +643,16 @@ if !ERRORLEVEL! neq 0 set IfsTestMemfsExit=1
|
|||||||
rem ReparsePoints.SetPointEASNotSupportedTest: EA's not supported
|
rem ReparsePoints.SetPointEASNotSupportedTest: EA's not supported
|
||||||
rem ReparsePoints.EnumReparsePointsTest: enumeration of reparse points not supported
|
rem ReparsePoints.EnumReparsePointsTest: enumeration of reparse points not supported
|
||||||
rem ReparsePoints.ChangeNotificationReparseTest: change notifications 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
|
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
|
rem IfsTest ReparsePoints seems to have a bug in that it cannot handle STATUS_PENDING for FSCTL_GET_REPARSE_POINT
|
||||||
rmdir /s/q reparspt
|
rmdir /s/q reparspt
|
||||||
|
@ -3,8 +3,14 @@
|
|||||||
set vcvarsall="%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat"
|
set vcvarsall="%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat"
|
||||||
set vswhere="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
|
set vswhere="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
|
||||||
if exist %vswhere% (
|
if exist %vswhere% (
|
||||||
for /f "usebackq tokens=*" %%i in (`%vswhere% -find VC\**\vcvarsall.bat`) do (
|
for /f "usebackq tokens=*" %%i in (`%vswhere% -latest -find VC\**\vcvarsall.bat`) do (
|
||||||
set vcvarsall="%%i"
|
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% %*
|
call %vcvarsall% %*
|
||||||
|
@ -1111,6 +1111,12 @@ void delete_ex_test(void)
|
|||||||
{
|
{
|
||||||
if (OptLegacyUnlinkRename)
|
if (OptLegacyUnlinkRename)
|
||||||
return;
|
return;
|
||||||
|
if (OptShareName)
|
||||||
|
/*
|
||||||
|
* This test fails with shares on Server 2019. It returns
|
||||||
|
* STATUS_INVALID_PARAMETER for FileDispositionInformationEx.
|
||||||
|
*/
|
||||||
|
return;
|
||||||
|
|
||||||
if (NtfsTests)
|
if (NtfsTests)
|
||||||
{
|
{
|
||||||
@ -2225,6 +2231,12 @@ void rename_ex_test(void)
|
|||||||
{
|
{
|
||||||
if (OptLegacyUnlinkRename)
|
if (OptLegacyUnlinkRename)
|
||||||
return;
|
return;
|
||||||
|
if (OptShareName)
|
||||||
|
/*
|
||||||
|
* This test fails with shares on Server 2019. It returns
|
||||||
|
* STATUS_INVALID_PARAMETER for FileRenameInformationEx.
|
||||||
|
*/
|
||||||
|
return;
|
||||||
|
|
||||||
if (NtfsTests)
|
if (NtfsTests)
|
||||||
{
|
{
|
||||||
@ -2512,7 +2524,7 @@ void info_tests(void)
|
|||||||
if (!OptShareName)
|
if (!OptShareName)
|
||||||
TEST(delete_mmap_test);
|
TEST(delete_mmap_test);
|
||||||
TEST(delete_standby_test);
|
TEST(delete_standby_test);
|
||||||
if (!OptLegacyUnlinkRename)
|
if (!OptLegacyUnlinkRename && !OptShareName)
|
||||||
TEST(delete_ex_test);
|
TEST(delete_ex_test);
|
||||||
TEST(rename_test);
|
TEST(rename_test);
|
||||||
TEST(rename_backslash_test);
|
TEST(rename_backslash_test);
|
||||||
@ -2523,7 +2535,7 @@ void info_tests(void)
|
|||||||
if (!OptShareName)
|
if (!OptShareName)
|
||||||
TEST(rename_mmap_test);
|
TEST(rename_mmap_test);
|
||||||
TEST(rename_standby_test);
|
TEST(rename_standby_test);
|
||||||
if (!OptLegacyUnlinkRename)
|
if (!OptLegacyUnlinkRename && !OptShareName)
|
||||||
TEST(rename_ex_test);
|
TEST(rename_ex_test);
|
||||||
if (!NtfsTests)
|
if (!NtfsTests)
|
||||||
TEST(rename_pid_test);
|
TEST(rename_pid_test);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user