mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-22 08:23:05 -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:
|
||||
# Disable the winfsp-tests built-in exception filter to allow WER to collect dumps.
|
||||
WINFSP_TESTS_EXCEPTION_FILTER_DISABLE: 1
|
||||
|
||||
matrix:
|
||||
- CONFIGURATION: Debug
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
CONFIGURATION: Debug
|
||||
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
|
||||
#- CONFIGURATION: Release
|
||||
# TESTING: Avast
|
||||
#- CONFIGURATION: Release
|
||||
# TESTING: Perf
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
|
||||
init:
|
||||
#- 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.
|
||||
# See https://github.com/appveyor-tests/WDK-10.0.14393.0/blob/31cf12217fe0c92b218c70d7027dfe145be4f4cb/appveyor.yml#L7
|
||||
- ps: |
|
||||
[xml]$targets = get-content "C:\Program Files (x86)\Windows Kits\10\build\WindowsDriver.Common.targets"
|
||||
$usingTask = $targets.ChildNodes[1].UsingTask | ? {$_.TaskName -eq "ValidateNTTargetVersion"}
|
||||
$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")
|
||||
if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015") {
|
||||
[xml]$targets = get-content "C:\Program Files (x86)\Windows Kits\10\build\WindowsDriver.Common.targets"
|
||||
$usingTask = $targets.ChildNodes[1].UsingTask | ? {$_.TaskName -eq "ValidateNTTargetVersion"}
|
||||
$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
|
||||
- git submodule update --init --recursive
|
||||
# Kernel and user mode dumps
|
||||
@ -35,7 +50,7 @@ install:
|
||||
# Boot configuration
|
||||
- appveyor AddMessage "Change boot configuration and reboot" -Category Information
|
||||
- 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: Start-Sleep -s 60
|
||||
|
||||
@ -46,8 +61,9 @@ build_script:
|
||||
#- C:\cygwin64\bin\bash --login -c "make -C '%CD%\opt\cygfuse' dist"
|
||||
#- C:\cygwin\setup-x86.exe -qnNd -P cygport
|
||||
#- C:\cygwin\bin\bash --login -c "make -C '%CD%\opt\cygfuse' dist"
|
||||
# remove ARM64 project configurations to build in VS2015
|
||||
- tools\gensrc\remove-build-arm64.bat
|
||||
# remove ARM64 project configurations to build in VS2015/VS2017
|
||||
- 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
|
||||
- tools\build.bat %CONFIGURATION%
|
||||
|
||||
|
@ -13,6 +13,9 @@
|
||||
<ClCompile>
|
||||
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<DriverSign>
|
||||
<FileDigestAlgorithm>sha256</FileDigestAlgorithm>
|
||||
</DriverSign>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(DefaultPlatformToolset)'=='v140'">
|
||||
<Link>
|
||||
|
@ -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 (
|
||||
|
@ -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
|
||||
|
@ -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% %*
|
||||
|
@ -1111,6 +1111,12 @@ void delete_ex_test(void)
|
||||
{
|
||||
if (OptLegacyUnlinkRename)
|
||||
return;
|
||||
if (OptShareName)
|
||||
/*
|
||||
* This test fails with shares on Server 2019. It returns
|
||||
* STATUS_INVALID_PARAMETER for FileDispositionInformationEx.
|
||||
*/
|
||||
return;
|
||||
|
||||
if (NtfsTests)
|
||||
{
|
||||
@ -2225,6 +2231,12 @@ void rename_ex_test(void)
|
||||
{
|
||||
if (OptLegacyUnlinkRename)
|
||||
return;
|
||||
if (OptShareName)
|
||||
/*
|
||||
* This test fails with shares on Server 2019. It returns
|
||||
* STATUS_INVALID_PARAMETER for FileRenameInformationEx.
|
||||
*/
|
||||
return;
|
||||
|
||||
if (NtfsTests)
|
||||
{
|
||||
@ -2512,7 +2524,7 @@ void info_tests(void)
|
||||
if (!OptShareName)
|
||||
TEST(delete_mmap_test);
|
||||
TEST(delete_standby_test);
|
||||
if (!OptLegacyUnlinkRename)
|
||||
if (!OptLegacyUnlinkRename && !OptShareName)
|
||||
TEST(delete_ex_test);
|
||||
TEST(rename_test);
|
||||
TEST(rename_backslash_test);
|
||||
@ -2523,7 +2535,7 @@ void info_tests(void)
|
||||
if (!OptShareName)
|
||||
TEST(rename_mmap_test);
|
||||
TEST(rename_standby_test);
|
||||
if (!OptLegacyUnlinkRename)
|
||||
if (!OptLegacyUnlinkRename && !OptShareName)
|
||||
TEST(rename_ex_test);
|
||||
if (!NtfsTests)
|
||||
TEST(rename_pid_test);
|
||||
|
Loading…
x
Reference in New Issue
Block a user