version: '{build}' clone_folder: C:\projects\go\src\github.com\winfsp\cgofuse environment: CPATH: C:\projects\winfsp\inc\fuse GODEBUG: cgocheck=2 GOPATH: C:\projects\go PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH% matrix: - GOARCH: amd64 CGO_ENABLED: 1 - GOARCH: amd64 CGO_ENABLED: 0 - GOARCH: 386 CGO_ENABLED: 0 install: - ps: | # Hack to make WDK 1903 work on VS2015. # See https://github.com/appveyor-tests/WDK-10.0.14393.0/blob/31cf12217fe0c92b218c70d7027dfe145be4f4cb/appveyor.yml#L7 [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") - choco install winfsp --version=1.0.17072 -y - git clone -q --recurse-submodules https://github.com/winfsp/winfsp.git C:\projects\winfsp - git -C C:\projects\winfsp checkout -q release/1.2 build_script: - go version - go build -v ./... - go build -v ./examples/memfs - go build -tags=memfs3 -v -o memfs3.exe ./examples/memfs test_script: - go test -v ./fuse - call "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" x64 - dumpbin /headers /dependents memfs.exe | findstr "x64 x86 msvcrt" - devenv C:\projects\winfsp\build\VStudio\winfsp.sln /build "Release|x64" - devenv C:\projects\winfsp\build\VStudio\winfsp.sln /build "Release|x86" - C:\projects\winfsp\tools\nmake-ext-test.bat # hard code fsreg parameters because appveyor does not like percents ("--VolumePrefix=%1 %2") - C:\projects\winfsp\tools\fsreg.bat gomemfs "C:\projects\go\src\github.com\winfsp\cgofuse\memfs.exe" "--VolumePrefix=\gomemfs\share M:" "D:P(A;;RPWPLC;;;WD)" - C:\projects\winfsp\tools\fsreg.bat gomemfs3 "C:\projects\go\src\github.com\winfsp\cgofuse\memfs3.exe" "--VolumePrefix=\gomemfs3\share N:" "D:P(A;;RPWPLC;;;WD)" # test against WinFsp v1.0 - 'net use M: \\gomemfs\share' - 'M: & cd' - C:\projects\winfsp\build\VStudio\build\Release\winfsp-tests-x64.exe --external --resilient --share-prefix=\gomemfs\share -create_allocation_test -create_fileattr_test -getfileinfo_name_test -setfileinfo_test -delete_access_test -setsecurity_test -querydir_namelen_test -reparse* -stream* # disable fsx test on WinFsp v1.0, as there was a bug in FUSE write. # - C:\Projects\winfsp\ext\test\fstools\src\fsx\fsx.exe -N 10000 test xxxxxx - 'C: & cd' - 'net use M: /delete' - 'net use N: \\gomemfs3\share' - 'N: & cd' - C:\projects\winfsp\build\VStudio\build\Release\winfsp-tests-x64.exe --external --resilient --share-prefix=\gomemfs3\share -create_allocation_test -create_fileattr_test -getfileinfo_name_test -setfileinfo_test -delete_access_test -setsecurity_test -querydir_namelen_test -reparse* -stream* # disable fsx test on WinFsp v1.0, as there was a bug in FUSE write. # - C:\Projects\winfsp\ext\test\fstools\src\fsx\fsx.exe -N 10000 test xxxxxx - 'C: & cd' - 'net use N: /delete' # test against WinFsp v1.2 DLL with chflags, setcrtime and setchgtime # HACK: mixing DLL and FSD versions; do not try this at home - copy C:\projects\winfsp\build\VStudio\build\Release\winfsp-x64.dll C:\projects\go\src\github.com\winfsp\cgofuse - copy C:\projects\winfsp\build\VStudio\build\Release\winfsp-x86.dll C:\projects\go\src\github.com\winfsp\cgofuse - 'net use M: \\gomemfs\share' - 'M: & cd' - C:\projects\winfsp\build\VStudio\build\Release\winfsp-tests-x64.exe --external --resilient --share-prefix=\gomemfs\share -create_allocation_test -create_fileattr_test -getfileinfo_name_test -delete_access_test -setsecurity_test -querydir_namelen_test -reparse* -stream* - C:\Projects\winfsp\ext\test\fstools\src\fsx\fsx.exe -N 10000 test xxxxxx - 'C: & cd' - 'net use M: /delete' - 'net use N: \\gomemfs3\share' - 'N: & cd' - C:\projects\winfsp\build\VStudio\build\Release\winfsp-tests-x64.exe --external --resilient --share-prefix=\gomemfs3\share -create_allocation_test -create_fileattr_test -getfileinfo_name_test -delete_access_test -setsecurity_test -querydir_namelen_test -reparse* -stream* - C:\Projects\winfsp\ext\test\fstools\src\fsx\fsx.exe -N 10000 test xxxxxx - 'C: & cd' - 'net use N: /delete'