mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-09-06 16:45:55 +00:00
fix dumb issue on storage manager test
changed empty snapshots/writelogs to return nil which was causing NPE
This commit is contained in:
parent
797b8bc31f
commit
bee666c07c
1 changed files with 10 additions and 14 deletions
|
|
@ -41,44 +41,40 @@ func TestManagerManager(t *testing.T) {
|
|||
ID: dax.TableID("blah"),
|
||||
Name: "blah",
|
||||
}
|
||||
var n int
|
||||
var d, wld io.ReadCloser
|
||||
|
||||
// get a manager and perform normal startup routine on empty data
|
||||
mgr := mm.GetShardManager(qtid, dax.PartitionNum(1), dax.ShardNum(1))
|
||||
|
||||
d, err := mgr.LoadLatestSnapshot()
|
||||
d, err = mgr.LoadLatestSnapshot()
|
||||
assert.NoError(t, err)
|
||||
n, err := d.Read(make([]byte, 8))
|
||||
assert.Equal(t, 0, n)
|
||||
assert.Equal(t, err, io.EOF)
|
||||
assert.Nil(t, d)
|
||||
|
||||
wld, err := mgr.LoadWriteLog()
|
||||
wld, err = mgr.LoadWriteLog()
|
||||
assert.NoError(t, err)
|
||||
n, err = wld.Read(make([]byte, 8))
|
||||
assert.Equal(t, 0, n)
|
||||
assert.Equal(t, io.EOF, err)
|
||||
assert.Nil(t, wld)
|
||||
|
||||
err = mgr.Lock()
|
||||
assert.NoError(t, err)
|
||||
|
||||
wld, err = mgr.LoadWriteLog()
|
||||
assert.NoError(t, err)
|
||||
n, err = wld.Read(make([]byte, 8))
|
||||
assert.Equal(t, 0, n)
|
||||
assert.Equal(t, io.EOF, err)
|
||||
assert.Nil(t, wld)
|
||||
|
||||
// append some data
|
||||
err = mgr.Append([]byte("blahblah"))
|
||||
assert.NoError(t, err)
|
||||
|
||||
// a new ManagerManager is necessary so we get a new Manager with
|
||||
// new internal state instead of a cached Manager.
|
||||
mm2 := NewManagerManager(sn, wl, logger.NewStandardLogger(os.Stderr))
|
||||
// get second manager for same stuff
|
||||
mgr2 := mm2.GetShardManager(qtid, dax.PartitionNum(1), dax.ShardNum(1))
|
||||
// load snapshot on 2nd manager (empty)
|
||||
d, err = mgr2.LoadLatestSnapshot()
|
||||
assert.NoError(t, err)
|
||||
n, err = d.Read(make([]byte, 8))
|
||||
assert.Equal(t, 0, n)
|
||||
assert.Equal(t, io.EOF, err)
|
||||
assert.Nil(t, d)
|
||||
|
||||
// load WL on 2nd manager (blahblah)
|
||||
wld, err = mgr2.LoadWriteLog()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue