Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
9ca433a
Everything works
Nov 11, 2019
0e3a6bb
Everything works except dropall
Nov 11, 2019
f3f5f58
dropall works
Nov 12, 2019
47e81b4
refactor code and add comments
Nov 12, 2019
54aa58e
Add option
Nov 12, 2019
1c69649
Enable backup in diskless mode
Nov 12, 2019
be0fe0a
Change variable name to make Deepsouce happy
Nov 12, 2019
77cc961
Remove return from test
Nov 12, 2019
418d2dd
Show golang version in build
Nov 13, 2019
fc43f7a
Test travis
Nov 13, 2019
4510d7e
Revert "Test travis"
Nov 13, 2019
dd0a91c
re-run GoroutineLeak test
Nov 13, 2019
c089082
Refactor stream writer tests
Nov 13, 2019
c67572f
Fix failing test
Nov 13, 2019
d7fd436
Remove goroutine leak test
Nov 13, 2019
571e461
attempt to fix travis
Nov 14, 2019
376674d
Attempt to fix travis #2
Nov 14, 2019
cfbfb5f
Reset req.Ptrs
Nov 15, 2019
f69f749
Merge branch 'master' into ibrahim/diskless-mode
Nov 15, 2019
49f839a
Add DiskLessOptions method
Nov 15, 2019
b024f76
Refactor code
Nov 19, 2019
95e498a
fixup
Nov 19, 2019
d1f965f
fix failing test
Nov 19, 2019
2f55883
Rename diskless => inmemory
Nov 20, 2019
467a7ce
Address review comments
Nov 20, 2019
216f942
Fix manifestfile
Nov 20, 2019
b49c1c9
Fix txn checksize
Nov 20, 2019
5719ffe
fixup
Nov 20, 2019
a0e60a3
fixup
Nov 20, 2019
8c81b93
Merge branch 'master' into ibrahim/diskless-mode
Nov 20, 2019
d83804a
fix goroutine leak test
Nov 20, 2019
7a33f08
Remove requestPool
Nov 20, 2019
e2fb2a9
Merge branch 'master' into ibrahim/diskless-mode
Nov 23, 2019
b080d0a
Skip testLargeKeys test
Nov 25, 2019
159c6eb
Enable TestLargeKeys test
Nov 25, 2019
1b4b6eb
Pass opt to openOrCreateManifestFile
Nov 25, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 44 additions & 36 deletions backup_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -276,48 +276,56 @@ func populateEntries(db *DB, entries []*pb.KV) error {
}

func TestBackup(t *testing.T) {
var bb bytes.Buffer

tmpdir, err := ioutil.TempDir("", "badger-test")
if err != nil {
t.Fatal(err)
}
defer removeDir(tmpdir)

db1, err := Open(DefaultOptions(filepath.Join(tmpdir, "backup0")))
if err != nil {
t.Fatal(err)
}
test := func(t *testing.T, db *DB) {
var bb bytes.Buffer
N := 1000
entries := createEntries(N)
require.NoError(t, populateEntries(db, entries))

N := 1000
entries := createEntries(N)
require.NoError(t, populateEntries(db1, entries))

_, err = db1.Backup(&bb, 0)
require.NoError(t, err)
_, err := db.Backup(&bb, 0)
require.NoError(t, err)

err = db1.View(func(txn *Txn) error {
opts := DefaultIteratorOptions
it := txn.NewIterator(opts)
defer it.Close()
var count int
for it.Rewind(); it.Valid(); it.Next() {
item := it.Item()
idx, err := strconv.Atoi(string(item.Key())[3:])
if err != nil {
return err
err = db.View(func(txn *Txn) error {
opts := DefaultIteratorOptions
it := txn.NewIterator(opts)
defer it.Close()
var count int
for it.Rewind(); it.Valid(); it.Next() {
item := it.Item()
idx, err := strconv.Atoi(string(item.Key())[3:])
if err != nil {
return err
}
if idx > N || !bytes.Equal(entries[idx].Key, item.Key()) {
return fmt.Errorf("%s: %s", string(item.Key()), ErrKeyNotFound)
}
count++
}
if idx > N || !bytes.Equal(entries[idx].Key, item.Key()) {
return fmt.Errorf("%s: %s", string(item.Key()), ErrKeyNotFound)
if N != count {
return fmt.Errorf("wrong number of items: %d expected, %d actual", N, count)
}
count++
}
if N != count {
return fmt.Errorf("wrong number of items: %d expected, %d actual", N, count)
return nil
})
require.NoError(t, err)
}
t.Run("disk mode", func(t *testing.T) {
tmpdir, err := ioutil.TempDir("", "badger-test")
if err != nil {
t.Fatal(err)
}
return nil
defer removeDir(tmpdir)
opt := DefaultOptions(filepath.Join(tmpdir, "backup0"))
runBadgerTest(t, &opt, func(t *testing.T, db *DB) {
test(t, db)
})
})
t.Run("InMemory mode", func(t *testing.T) {
opt := DefaultOptions("")
opt.InMemory = true
runBadgerTest(t, &opt, func(t *testing.T, db *DB) {
test(t, db)
})
})
require.NoError(t, err)
}

func TestBackupRestore3(t *testing.T) {
Expand Down
15 changes: 14 additions & 1 deletion batch_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func TestWriteBatch(t *testing.T) {
return []byte(fmt.Sprintf("%128d", i))
}

runBadgerTest(t, nil, func(t *testing.T, db *DB) {
test := func(t *testing.T, db *DB) {
wb := db.NewWriteBatch()
defer wb.Cancel()

Expand Down Expand Up @@ -65,5 +65,18 @@ func TestWriteBatch(t *testing.T) {
return nil
})
require.NoError(t, err)
}
t.Run("disk mode", func(t *testing.T) {
runBadgerTest(t, nil, func(t *testing.T, db *DB) {
test(t, db)
})
})
t.Run("InMemory mode", func(t *testing.T) {
opt := getTestOptions("")
opt.InMemory = true
db, err := Open(opt)
require.NoError(t, err)
test(t, db)
require.NoError(t, db.Close())
})
}
1 change: 1 addition & 0 deletions contrib/cover.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ for PKG in $(go list ./...|grep -v -E 'vendor'); do
tail -n +2 $TMP >> $OUT
done

echo "Running test with vlog_mmap false"
# Another round of tests after turning off mmap
go test -v -vlog_mmap=false github.com/dgraph-io/badger

Expand Down
Loading