mirror of
https://github.com/luxfi/zapdb.git
synced 2026-11-02 06:01:15 +00:00
Plan 9 doesn't have mmap, so we just return an error.
File locking is implemented using the exclusive mode bit.
From http://man.cat-v.org/plan_9/5/open:
If the file is marked for exclusive use (see stat(5)), only
one client can have the file open at any time. That is,
after such a file has been opened, further opens will fail
until fid has been clunked.
Initial attempt at implementing directory locking using this method was
not successful because badger seems to be opening the directory multiple
times (at least while running the test suite). As a workaround, we lock
the pid lock file instead of the directory itself, same as the windows
implementation.
Co-authored-by: Ibrahim Jarif <[email protected]>
(cherry picked from commit 7b076d6874)
Co-authored-by: Fazlul Shahriar <[email protected]>
Co-authored-by: Fazlul Shahriar <[email protected]>
53 lines
2.4 KiB
YAML
53 lines
2.4 KiB
YAML
language: go
|
|
|
|
go:
|
|
- "1.12"
|
|
- "1.13"
|
|
- tip
|
|
os:
|
|
- osx
|
|
env:
|
|
jobs:
|
|
- GOARCH=386
|
|
- GOARCH=amd64
|
|
global:
|
|
- secure: CRkV2+/jlO0gXzzS50XGxfMS117FNwiVjxNY/LeWq06RKD+dDCPxTJl3JCNe3l0cYEPAglV2uMMYukDiTqJ7e+HI4nh4N4mv6lwx39N8dAvJe1x5ITS2T4qk4kTjuQb1Q1vw/ZOxoQqmvNKj2uRmBdJ/HHmysbRJ1OzCWML3OXdUwJf0AYlJzTjpMfkOKr7sTtE4rwyyQtd4tKH1fGdurgI9ZuFd9qvYxK2qcJhsQ6CNqMXt+7FkVkN1rIPmofjjBTNryzUr4COFXuWH95aDAif19DeBW4lbNgo1+FpDsrgmqtuhl6NAuptI8q/imow2KXBYJ8JPXsxW8DVFj0IIp0RCd3GjaEnwBEbxAyiIHLfW7AudyTS/dJOvZffPqXnuJ8xj3OPIdNe4xY0hWl8Ju2HhKfLOAHq7VadHZWd3IHLil70EiL4/JLD1rNbMImUZisFaA8pyrcIvYYebjOnk4TscwKFLedClRSX1XsMjWWd0oykQtrdkHM2IxknnBpaLu7mFnfE07f6dkG0nlpyu4SCLey7hr5FdcEmljA0nIxTSYDg6035fQkBEAbe7hlESOekkVNT9IZPwG+lmt3vU4ofi6NqNbJecOuSB+h36IiZ9s4YQtxYNnLgW14zjuFGGyT5smc3IjBT7qngDjKIgyrSVoRkY/8udy9qbUgvBeW8=
|
|
|
|
|
|
jobs:
|
|
allow_failures:
|
|
- go: tip
|
|
exclude:
|
|
# Exclude builds for 386 architecture on go 1.12 and tip
|
|
# Since we don't want it to run for 32 bit
|
|
- go: "1.12"
|
|
env: GOARCH=386
|
|
- go: tip
|
|
env: GOARCH=386
|
|
include:
|
|
# Define one extra linux build, which we use to run cross
|
|
# compiled 32 bit tests
|
|
- os: linux
|
|
arch: arm64
|
|
go: "1.14"
|
|
env: go_32=yes
|
|
|
|
notifications:
|
|
email: false
|
|
slack:
|
|
secure: X7uBLWYbuUhf8QFE16CoS5z7WvFR8EN9j6cEectMW6mKZ3vwXGwVXRIPsgUq/606DsQdCCx34MR8MRWYGlu6TBolbSe9y0EP0i46yipPz22YtuT7umcVUbGEyx8MZKgG0v1u/zA0O4aCsOBpGAA3gxz8h3JlEHDt+hv6U8xRsSllVLzLSNb5lwxDtcfEDxVVqP47GMEgjLPM28Pyt5qwjk7o5a4YSVzkfdxBXxd3gWzFUWzJ5E3cTacli50dK4GVfiLcQY2aQYoYO7AAvDnvP+TPfjDkBlUEE4MUz5CDIN51Xb+WW33sX7g+r3Bj7V5IRcF973RiYkpEh+3eoiPnyWyxhDZBYilty3b+Hysp6d4Ov/3I3ll7Bcny5+cYjakjkMH3l9w3gs6Y82GlpSLSJshKWS8vPRsxFe0Pstj6QSJXTd9EBaFr+l1ScXjJv/Sya9j8N9FfTuOTESWuaL1auX4Y7zEEVHlA8SCNOO8K0eTfxGZnC/YcIHsR8rePEAcFxfOYQppkyLF/XvAtnb/LMUuu0g4y2qNdme6Oelvyar1tFEMRtbl4mRCdu/krXBFtkrsfUaVY6WTPdvXAGotsFJ0wuA53zGVhlcd3+xAlSlR3c1QX95HIMeivJKb5L4nTjP+xnrmQNtnVk+tG4LSH2ltuwcZSSczModtcBmRefrk=
|
|
|
|
script: >-
|
|
if [ $TRAVIS_OS_NAME = "linux" ] && [ $go_32 ]; then
|
|
uname -a
|
|
GOOS=linux GOARCH=arm go test -v ./...
|
|
# Another round of tests after turning off mmap.
|
|
GOOS=linux GOARCH=arm go test -v -vlog_mmap=false github.com/dgraph-io/badger
|
|
else
|
|
go test -v ./...
|
|
# Another round of tests after turning off mmap.
|
|
go test -v -vlog_mmap=false github.com/dgraph-io/badger
|
|
# Cross-compile for Plan 9
|
|
GOOS=plan9 go build ./...
|
|
fi
|