forked from winfsp/cgofuse
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.appveyor.yml
66 lines (56 loc) · 2.94 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
66
version: '{build}'
clone_folder: C:\projects\go\src\github.com\billziss-gh\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:
- choco install winfsp --version=1.0.17072 -y
- git clone -q --recurse-submodules https://github.com/billziss-gh/winfsp.git C:\projects\winfsp
- git -C C:\projects\winfsp checkout -q release/1.2
# build a custom Go!
- if %CGO_ENABLED%==0 set GOROOT_BOOTSTRAP=C:\go14
- if %CGO_ENABLED%==0 git clone -q https://github.com/golang/go C:\projects\golang
- if %CGO_ENABLED%==0 cd C:\projects\golang\src
- if %CGO_ENABLED%==0 make.bat
- if %CGO_ENABLED%==0 set GOROOT=C:\projects\golang
- if %CGO_ENABLED%==0 set PATH=C:\projects\golang\bin;%PATH%
- if %CGO_ENABLED%==0 cd C:\projects\go\src\github.com\billziss-gh\cgofuse
build_script:
- 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\billziss-gh\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\billziss-gh\cgofuse
- copy C:\projects\winfsp\build\VStudio\build\Release\winfsp-x86.dll C:\projects\go\src\github.com\billziss-gh\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'