-
Notifications
You must be signed in to change notification settings - Fork 85
/
.appveyor.yml
65 lines (56 loc) · 3.08 KB
/
.appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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
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)"
# 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'
# 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'