Skip to content

Commit

Permalink
We will no longer require disk access during tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
lemire committed Jan 16, 2023
1 parent 36e6729 commit f2d8e47
Show file tree
Hide file tree
Showing 6 changed files with 76 additions and 67 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,8 @@ Note that the smat library requires Go 1.6 or better.

````
$ git clone git@github.com:RoaringBitmap/roaring.git
$ go mod tidy
$ go test
$ GO111MODULE=on go mod tidy
$ go test -v
```
### Example
Expand Down
9 changes: 5 additions & 4 deletions byte_input_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (

"github.com/RoaringBitmap/roaring/internal"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

func TestByteInputFlow(t *testing.T) {
Expand Down Expand Up @@ -47,18 +48,18 @@ func TestByteInputFlow(t *testing.T) {
for _, input := range instances {
n, err := input.ReadUInt16()
assert.EqualValues(t, 1, n)
assert.NoError(t, err)
require.NoError(t, err)

p, err := input.ReadUInt32()
assert.EqualValues(t, 2097162, p) // 32 << 16 | 10
assert.NoError(t, err)
require.NoError(t, err)

b, err := input.Next(2)
assert.EqualValues(t, []byte{66, 0}, b)
assert.NoError(t, err)
require.NoError(t, err)

err = input.SkipBytes(2)
assert.NoError(t, err)
require.NoError(t, err)

b, err = input.Next(1)
assert.Nil(t, b)
Expand Down
35 changes: 20 additions & 15 deletions roaring64/serialization_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

func TestSerializationOfEmptyBitmap(t *testing.T) {
Expand All @@ -18,13 +19,13 @@ func TestSerializationOfEmptyBitmap(t *testing.T) {
buf := &bytes.Buffer{}
_, err := rb.WriteTo(buf)

assert.NoError(t, err)
require.NoError(t, err)
assert.EqualValues(t, buf.Len(), rb.GetSerializedSizeInBytes())

newrb := NewBitmap()
_, err = newrb.ReadFrom(buf)

assert.NoError(t, err)
require.NoError(t, err)
assert.True(t, rb.Equals(newrb))
}

Expand All @@ -38,7 +39,7 @@ func TestBase64_036(t *testing.T) {

_, err := newrb.FromBase64(bstr)

assert.NoError(t, err)
require.NoError(t, err)
assert.True(t, rb.Equals(newrb))
}

Expand All @@ -48,39 +49,43 @@ func TestSerializationBasic037(t *testing.T) {
buf := &bytes.Buffer{}
_, err := rb.WriteTo(buf)

assert.NoError(t, err)
require.NoError(t, err)
assert.EqualValues(t, buf.Len(), rb.GetSerializedSizeInBytes())

newrb := NewBitmap()
_, err = newrb.ReadFrom(buf)

assert.NoError(t, err)
require.NoError(t, err)
assert.True(t, rb.Equals(newrb))
}

func TestSerializationToFile038(t *testing.T) {
rb := BitmapOf(1, 2, 3, 4, 5, 100, 1000)
fname := "myfile.bin"
fout, err := os.OpenFile(fname, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0660)
if(err != nil) {
fmt.Println("IMPORTANT: For testing file IO, the roaring library requires disk access.")
return
}

assert.NoError(t, err)
require.NoError(t, err)

var l int64
l, err = rb.WriteTo(fout)

assert.NoError(t, err)
require.NoError(t, err)
assert.EqualValues(t, l, rb.GetSerializedSizeInBytes())

fout.Close()

newrb := NewBitmap()
fin, err := os.Open(fname)

assert.NoError(t, err)
require.NoError(t, err)

defer func() {
fin.Close()
assert.NoError(t, os.Remove(fname))
require.NoError(t, os.Remove(fname))
}()

_, _ = newrb.ReadFrom(fin)
Expand All @@ -94,13 +99,13 @@ func TestSerializationBasic2_041(t *testing.T) {
l := int(rb.GetSerializedSizeInBytes())
_, err := rb.WriteTo(buf)

assert.NoError(t, err)
require.NoError(t, err)
assert.Equal(t, l, buf.Len())

newrb := NewBitmap()
_, err = newrb.ReadFrom(buf)

assert.NoError(t, err)
require.NoError(t, err)
assert.True(t, rb.Equals(newrb))
}

Expand All @@ -114,13 +119,13 @@ func TestSerializationBasic3_042(t *testing.T) {
var buf bytes.Buffer
_, err := rb.WriteTo(&buf)

assert.NoError(t, err)
require.NoError(t, err)
assert.EqualValues(t, buf.Len(), int(rb.GetSerializedSizeInBytes()))

newrb := NewBitmap()
_, err = newrb.ReadFrom(&buf)

assert.NoError(t, err)
require.NoError(t, err)
assert.True(t, newrb.Equals(rb))
}

Expand All @@ -134,13 +139,13 @@ func TestHoldReference(t *testing.T) {
}

_, err := rb.WriteTo(buf)
assert.NoError(t, err)
require.NoError(t, err)

nb := New()
data := buf.Bytes()
_, err = nb.ReadFrom(bytes.NewReader(data))

assert.NoError(t, err)
require.NoError(t, err)

buf = nil
rb = nil
Expand Down
5 changes: 2 additions & 3 deletions roaring_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (

"github.com/bits-and-blooms/bitset"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

func checkValidity(t *testing.T, rb *Bitmap) {
Expand Down Expand Up @@ -321,7 +322,7 @@ func TestRoaringInPlaceAndNotBitmapContainer(t *testing.T) {
var b bytes.Buffer
_, err := bm.WriteTo(&b)

assert.NoError(t, err)
require.NoError(t, err)

bm2 := NewBitmap()
bm2.ReadFrom(bytes.NewBuffer(b.Bytes()))
Expand Down Expand Up @@ -1825,8 +1826,6 @@ func TestHash(t *testing.T) {
hashTest(t, 4095)
hashTest(t, 4096)
hashTest(t, 4097)
hashTest(t, 65536)
hashTest(t, 65536*16)
}

func rTest(t *testing.T, N int) {
Expand Down
1 change: 0 additions & 1 deletion runcontainer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2198,7 +2198,6 @@ type twofer struct {

func TestAllContainerMethodsAllContainerTypesWithData067(t *testing.T) {
t.Run("each of the container methods that takes two containers should handle all 3x3==9 possible ways of being called -- and return results that agree with each other", func(t *testing.T) {
//rleVerbose = true

seed := int64(42)
rand.Seed(seed)
Expand Down
Loading

0 comments on commit f2d8e47

Please sign in to comment.