Skip to content

Commit

Permalink
Fix int overflow for 32bit (#1216)
Browse files Browse the repository at this point in the history
- Fix tests for 32 bit systems
- Enable 32-bit builds on Travis
  • Loading branch information
vardhanapoorv committed Feb 24, 2020
1 parent e029e93 commit bce069c
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 13 deletions.
32 changes: 22 additions & 10 deletions .travis.yml
@@ -1,26 +1,38 @@
language: go

go:
- "1.11"
- "1.12"
- "1.13"
- tip
- "1.11"
- "1.12"
- "1.13"
- tip
os:
- osx

- 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.11, 1.12 and tip
# Since we don't want it to run for 32 bit
- go: "1.11"
env: GOARCH=386
- go: "1.12"
env: GOARCH=386
- go: tip
env: GOARCH=386

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=

env:
global:
- secure: CRkV2+/jlO0gXzzS50XGxfMS117FNwiVjxNY/LeWq06RKD+dDCPxTJl3JCNe3l0cYEPAglV2uMMYukDiTqJ7e+HI4nh4N4mv6lwx39N8dAvJe1x5ITS2T4qk4kTjuQb1Q1vw/ZOxoQqmvNKj2uRmBdJ/HHmysbRJ1OzCWML3OXdUwJf0AYlJzTjpMfkOKr7sTtE4rwyyQtd4tKH1fGdurgI9ZuFd9qvYxK2qcJhsQ6CNqMXt+7FkVkN1rIPmofjjBTNryzUr4COFXuWH95aDAif19DeBW4lbNgo1+FpDsrgmqtuhl6NAuptI8q/imow2KXBYJ8JPXsxW8DVFj0IIp0RCd3GjaEnwBEbxAyiIHLfW7AudyTS/dJOvZffPqXnuJ8xj3OPIdNe4xY0hWl8Ju2HhKfLOAHq7VadHZWd3IHLil70EiL4/JLD1rNbMImUZisFaA8pyrcIvYYebjOnk4TscwKFLedClRSX1XsMjWWd0oykQtrdkHM2IxknnBpaLu7mFnfE07f6dkG0nlpyu4SCLey7hr5FdcEmljA0nIxTSYDg6035fQkBEAbe7hlESOekkVNT9IZPwG+lmt3vU4ofi6NqNbJecOuSB+h36IiZ9s4YQtxYNnLgW14zjuFGGyT5smc3IjBT7qngDjKIgyrSVoRkY/8udy9qbUgvBeW8=

before_script:
- go get github.com/mattn/goveralls
script:
Expand Down
3 changes: 2 additions & 1 deletion db2_test.go
Expand Up @@ -23,6 +23,7 @@ import (
"fmt"
"io/ioutil"
"log"
"math"
"math/rand"
"os"
"path"
Expand Down Expand Up @@ -310,7 +311,7 @@ func TestPushValueLogLimit(t *testing.T) {

for i := 0; i < 32; i++ {
if i == 4 {
v := make([]byte, 2<<30)
v := make([]byte, math.MaxInt32)
err := db.Update(func(txn *Txn) error {
return txn.SetEntry(NewEntry([]byte(key(i)), v))
})
Expand Down
2 changes: 1 addition & 1 deletion levels_test.go
Expand Up @@ -393,7 +393,7 @@ func TestDiscardTs(t *testing.T) {
func TestDiscardFirstVersion(t *testing.T) {
opt := DefaultOptions("")
opt.NumCompactors = 0
opt.NumVersionsToKeep = math.MaxUint32
opt.NumVersionsToKeep = math.MaxInt32
opt.managedTxns = true

runBadgerTest(t, &opt, func(t *testing.T, db *DB) {
Expand Down
2 changes: 1 addition & 1 deletion table/builder_test.go
Expand Up @@ -80,11 +80,11 @@ func TestTableIndex(t *testing.T) {
require.NoError(t, err, "unable to write to file")

tbl, err := OpenTable(f, opt)
require.NoError(t, err, "unable to open table")
if opt.DataKey == nil {
// key id is zero if thre is no datakey.
require.Equal(t, tbl.KeyID(), uint64(0))
}
require.NoError(t, err, "unable to open table")

// Ensure index is built correctly
require.Equal(t, blockCount, len(tbl.blockIndex))
Expand Down

0 comments on commit bce069c

Please sign in to comment.