Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-datastore
Commits
623ad02e
Commit
623ad02e
authored
Jul 06, 2015
by
Jeromy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add a few tests
parent
09045306
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
128 additions
and
0 deletions
+128
-0
batch_test.go
batch_test.go
+84
-0
flatfs/flatfs_test.go
flatfs/flatfs_test.go
+44
-0
No files found.
batch_test.go
0 → 100644
View file @
623ad02e
package
datastore
import
(
"bytes"
"encoding/base32"
"testing"
rand
"github.com/jbenet/go-datastore/Godeps/_workspace/src/github.com/dustin/randbo"
)
func
TestBasicBatch
(
t
*
testing
.
T
)
{
ds
:=
NewMapDatastore
()
batch
:=
NewBasicBatch
(
ds
)
r
:=
rand
.
New
()
var
blocks
[][]
byte
var
keys
[]
Key
for
i
:=
0
;
i
<
20
;
i
++
{
blk
:=
make
([]
byte
,
256
*
1024
)
r
.
Read
(
blk
)
blocks
=
append
(
blocks
,
blk
)
key
:=
NewKey
(
base32
.
StdEncoding
.
EncodeToString
(
blk
[
:
8
]))
keys
=
append
(
keys
,
key
)
err
:=
batch
.
Put
(
key
,
blk
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
}
err
:=
batch
.
Commit
()
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
for
i
,
k
:=
range
keys
{
blk
,
err
:=
ds
.
Get
(
k
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
if
!
bytes
.
Equal
(
blk
.
([]
byte
),
blocks
[
i
])
{
t
.
Fatal
(
"blocks not correct!"
)
}
}
}
func
TestBasicBatchDelete
(
t
*
testing
.
T
)
{
ds
:=
NewMapDatastore
()
r
:=
rand
.
New
()
var
keys
[]
Key
for
i
:=
0
;
i
<
20
;
i
++
{
blk
:=
make
([]
byte
,
16
)
r
.
Read
(
blk
)
key
:=
NewKey
(
base32
.
StdEncoding
.
EncodeToString
(
blk
[
:
8
]))
keys
=
append
(
keys
,
key
)
err
:=
ds
.
Put
(
key
,
blk
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
}
batch
:=
NewBasicBatch
(
ds
)
for
_
,
k
:=
range
keys
{
err
:=
batch
.
Delete
(
k
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
}
err
:=
batch
.
Commit
()
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
for
_
,
k
:=
range
keys
{
_
,
err
:=
ds
.
Get
(
k
)
if
err
==
nil
{
t
.
Fatal
(
"shouldnt have found block"
)
}
}
}
flatfs/flatfs_test.go
View file @
623ad02e
package
flatfs_test
package
flatfs_test
import
(
import
(
"bytes"
"encoding/base32"
"encoding/base32"
"io/ioutil"
"io/ioutil"
"os"
"os"
...
@@ -320,6 +321,49 @@ func TestQuerySimple(t *testing.T) {
...
@@ -320,6 +321,49 @@ func TestQuerySimple(t *testing.T) {
}
}
}
}
func
TestBatchPut
(
t
*
testing
.
T
)
{
temp
,
cleanup
:=
tempdir
(
t
)
defer
cleanup
()
fs
,
err
:=
flatfs
.
New
(
temp
,
2
)
if
err
!=
nil
{
t
.
Fatalf
(
"New fail: %v
\n
"
,
err
)
}
batch
:=
fs
.
Batch
()
r
:=
rand
.
New
()
var
blocks
[][]
byte
var
keys
[]
datastore
.
Key
for
i
:=
0
;
i
<
20
;
i
++
{
blk
:=
make
([]
byte
,
256
*
1024
)
r
.
Read
(
blk
)
blocks
=
append
(
blocks
,
blk
)
key
:=
datastore
.
NewKey
(
base32
.
StdEncoding
.
EncodeToString
(
blk
[
:
8
]))
keys
=
append
(
keys
,
key
)
err
:=
batch
.
Put
(
key
,
blk
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
}
err
=
batch
.
Commit
()
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
for
i
,
k
:=
range
keys
{
blk
,
err
:=
fs
.
Get
(
k
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
if
!
bytes
.
Equal
(
blk
.
([]
byte
),
blocks
[
i
])
{
t
.
Fatal
(
"blocks not correct!"
)
}
}
}
func
BenchmarkConsecutivePut
(
b
*
testing
.
B
)
{
func
BenchmarkConsecutivePut
(
b
*
testing
.
B
)
{
r
:=
rand
.
New
()
r
:=
rand
.
New
()
var
blocks
[][]
byte
var
blocks
[][]
byte
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment