diff --git a/.travis.yml b/.travis.yml index 46e70cb..ac1d7e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,19 +1,147 @@ language: go -sudo: required -dist: trusty + +os: + - linux + - osx + +addons: + apt: + update: true + env: - - GOTAGS= - - GOTAGS=libsqlite3 - - GOTAGS=trace - - GOTAGS=vtable + matrix: + - GOTAGS= + - GOTAGS=libsqlite3 + - GOTAGS=trace + - GOTAGS=vtable + go: - 1.7.x - 1.8.x - 1.9.x + - 1.10.x - master + +matrix: + allow_failures: + - go: master + exclude: + - os: osx + go: 1.7.x + include: + - os: linux + go: 1.7.x + env: GOTAGS= GOOS=windows GOARCH=386 + - os: linux + go: 1.7.x + env: GOTAGS= GOOS=windows GOARCH=amd64 + - os: linux + go: 1.7.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=386 + - os: linux + go: 1.7.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=amd64 + - os: linux + go: 1.7.x + env: GOTAGS=trace GOOS=windows GOARCH=386 + - os: linux + go: 1.7.x + env: GOTAGS=trace GOOS=windows GOARCH=amd64 + - os: linux + go: 1.7.x + env: GOTAGS=vtable GOOS=windows GOARCH=386 + - os: linux + go: 1.7.x + env: GOTAGS=vtable GOOS=windows GOARCH=amd64 + - os: linux + go: 1.8.x + env: GOTAGS= GOOS=windows GOARCH=386 + - os: linux + go: 1.8.x + env: GOTAGS= GOOS=windows GOARCH=amd64 + - os: linux + go: 1.8.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=386 + - os: linux + go: 1.8.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=amd64 + - os: linux + go: 1.8.x + env: GOTAGS=trace GOOS=windows GOARCH=386 + - os: linux + go: 1.8.x + env: GOTAGS=trace GOOS=windows GOARCH=amd64 + - os: linux + go: 1.8.x + env: GOTAGS=vtable GOOS=windows GOARCH=386 + - os: linux + go: 1.8.x + env: GOTAGS=vtable GOOS=windows GOARCH=amd64 + - os: linux + go: 1.9.x + env: GOTAGS= GOOS=windows GOARCH=386 + - os: linux + go: 1.9.x + env: GOTAGS= GOOS=windows GOARCH=amd64 + - os: linux + go: 1.9.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=386 + - os: linux + go: 1.9.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=amd64 + - os: linux + go: 1.9.x + env: GOTAGS=trace GOOS=windows GOARCH=386 + - os: linux + go: 1.9.x + env: GOTAGS=trace GOOS=windows GOARCH=amd64 + - os: linux + go: 1.9.x + env: GOTAGS=vtable GOOS=windows GOARCH=386 + - os: linux + go: 1.9.x + env: GOTAGS=vtable GOOS=windows GOARCH=amd64 + - os: linux + go: 1.10.x + env: GOTAGS= GOOS=windows GOARCH=386 + - os: linux + go: 1.10.x + env: GOTAGS= GOOS=windows GOARCH=amd64 + - os: linux + go: 1.10.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=386 + - os: linux + go: 1.10.x + env: GOTAGS=libsqlite3 GOOS=windows GOARCH=amd64 + - os: linux + go: 1.10.x + env: GOTAGS=trace GOOS=windows GOARCH=386 + - os: linux + go: 1.10.x + env: GOTAGS=trace GOOS=windows GOARCH=amd64 + - os: linux + go: 1.10.x + env: GOTAGS=vtable GOOS=windows GOARCH=386 + - os: linux + go: 1.10.x + env: GOTAGS=vtable GOOS=windows GOARCH=amd64 + + before_install: - - go get github.com/mattn/goveralls - - go get golang.org/x/tools/cmd/cover + - | + if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then + brew update + fi + - | + if [[ "${GOOS}" != "windows" ]]; then + go get github.com/mattn/goveralls + go get golang.org/x/tools/cmd/cover + fi + script: - - $HOME/gopath/bin/goveralls -repotoken 3qJVUE0iQwqnCbmNcDsjYu1nh4J4KIFXx - - go test -race -v . -tags "$GOTAGS" + - GOOS=$(go env GOOS) GOARCH=$(go env GOARCH) go build -v -tags "${GOTAGS}" . + - | + if [[ "${GOOS}" != "windows" ]]; then + $HOME/gopath/bin/goveralls -repotoken 3qJVUE0iQwqnCbmNcDsjYu1nh4J4KIFXx + go test -race -v . -tags "${GOTAGS}" + fi diff --git a/sqlite3.go b/sqlite3.go index 2edeb2f..7b9df9f 100644 --- a/sqlite3.go +++ b/sqlite3.go @@ -13,7 +13,10 @@ package sqlite3 #cgo linux,!android CFLAGS: -DHAVE_PREAD64=1 -DHAVE_PWRITE64=1 #cgo CFLAGS: -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4_UNICODE61 #cgo CFLAGS: -DSQLITE_TRACE_SIZE_LIMIT=15 +#cgo CFLAGS: -DSQLITE_OMIT_DEPRECATED #cgo CFLAGS: -DSQLITE_DISABLE_INTRINSIC +#cgo CFLAGS: -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 +#cgo CFLAGS: -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT #cgo CFLAGS: -Wno-deprecated-declarations #ifndef USE_LIBSQLITE3 #include