/usr/share/gocode/src/github.com/DCSO/bloom/io_test.go is in golang-github-dcso-bloom-dev 0.2.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | // DCSO go bloom filter
// Copyright (c) 2017, DCSO GmbH
package bloom
import (
"io/ioutil"
"os"
"testing"
)
func checkResults(t *testing.T, bf *BloomFilter) {
for _, v := range []string{"foo", "bar", "baz"} {
if !bf.Check([]byte(v)) {
t.Fatalf("value %s expected in filter but wasn't found", v)
}
}
if bf.Check([]byte("")) {
t.Fatal("empty value not expected in filter but was found")
}
if bf.Check([]byte("12345")) {
t.Fatal("missing value not expected in filter but was found")
}
}
func TestFromReaderFile(t *testing.T) {
f, err := os.Open("testdata/test.bloom")
if err != nil {
t.Fatal(err)
}
defer f.Close()
bf, err := LoadFromReader(f, false)
if err != nil {
t.Fatal(err)
}
checkResults(t, bf)
}
func testFromSerialized(t *testing.T, gzip bool) {
bf := Initialize(100, 0.0001)
for _, v := range []string{"foo", "bar", "baz"} {
bf.Add([]byte(v))
}
tmpfile, err := ioutil.TempFile("", "test")
if err != nil {
t.Fatal(err)
}
defer os.Remove(tmpfile.Name())
err = WriteFilter(&bf, tmpfile.Name(), gzip)
if err != nil {
t.Fatal(err)
}
loadedBf, err := LoadFilter(tmpfile.Name(), gzip)
if err != nil {
t.Fatal(err)
}
checkResults(t, loadedBf)
}
func TestFromSerialized(t *testing.T) {
testFromSerialized(t, false)
}
func TestFromSerializedZip(t *testing.T) {
testFromSerialized(t, true)
}
func TestFromReaderFileZip(t *testing.T) {
f, err := os.Open("testdata/test.bloom.gz")
if err != nil {
t.Fatal(err)
}
defer f.Close()
bf, err := LoadFromReader(f, true)
if err != nil {
t.Fatal(err)
}
checkResults(t, bf)
}
func TestFromBytes(t *testing.T) {
testBytes, err := ioutil.ReadFile("testdata/test.bloom")
if err != nil {
t.Fatal(err)
}
bf, err := LoadFromBytes(testBytes, false)
if err != nil {
t.Fatal(err)
}
checkResults(t, bf)
}
func TestFromFile(t *testing.T) {
bf, err := LoadFilter("testdata/test.bloom", false)
if err != nil {
t.Fatal(err)
}
checkResults(t, bf)
}
|