MCPcopy
hub / github.com/dgraph-io/dgraph / TestMultiPartListWriteToDisk

Function TestMultiPartListWriteToDisk

posting/list_test.go:1355–1377  ·  view source on GitHub ↗

Verify that writing a multi-part list to disk works correctly.

(t *testing.T)

Source from the content-addressed store, hash-verified

1353
1354// Verify that writing a multi-part list to disk works correctly.
1355func TestMultiPartListWriteToDisk(t *testing.T) {
1356 size := int(1e5)
1357 originalList, commits := createMultiPartList(t, size, false)
1358
1359 kvs, err := originalList.Rollup(nil, math.MaxUint64)
1360 require.NoError(t, err)
1361 require.Equal(t, len(kvs), len(originalList.plist.Splits)+1)
1362
1363 require.NoError(t, writePostingListToDisk(kvs))
1364 newList, err := readPostingListFromDisk(kvs[0].Key, ps, math.MaxUint64)
1365 require.NoError(t, err)
1366
1367 opt := ListOptions{ReadTs: uint64(size) + 1}
1368 originalUids, err := originalList.Uids(opt)
1369 require.NoError(t, err)
1370 newUids, err := newList.Uids(opt)
1371 require.NoError(t, err)
1372 require.Equal(t, commits, len(originalUids.Uids))
1373 require.Equal(t, len(originalUids.Uids), len(newUids.Uids))
1374 for i := range originalUids.Uids {
1375 require.Equal(t, originalUids.Uids[i], newUids.Uids[i])
1376 }
1377}
1378
1379// Verify that adding and deleting all the entries returns an empty list.
1380func TestMultiPartListDelete(t *testing.T) {

Callers

nothing calls this directly

Calls 5

createMultiPartListFunction · 0.85
RollupMethod · 0.80
writePostingListToDiskFunction · 0.70
readPostingListFromDiskFunction · 0.70
UidsMethod · 0.45

Tested by

no test coverage detected