Verify that writing a multi-part list to disk works correctly.
(t *testing.T)
| 1353 | |
| 1354 | // Verify that writing a multi-part list to disk works correctly. |
| 1355 | func 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. |
| 1380 | func TestMultiPartListDelete(t *testing.T) { |
nothing calls this directly
no test coverage detected