Skip to content

Commit

Permalink
Update computeStateSlotsToDelete test
Browse files Browse the repository at this point in the history
  • Loading branch information
dapplion committed Sep 5, 2022
1 parent b646747 commit 73f26a4
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions packages/beacon-node/test/unit/chain/archive/stateArchiver.test.ts
Original file line number Diff line number Diff line change
@@ -1,42 +1,46 @@
import {expect} from "chai";
import {computeEpochsToDelete} from "../../../../src/chain/archiver/archiveStates.js";
import {computeStartSlotAtEpoch} from "@lodestar/state-transition";
import {computeStateSlotsToDelete} from "../../../../src/chain/archiver/archiveStates.js";

describe("state archiver task", () => {
describe("computeEpochsToDelete", () => {
describe("computeStateSlotsToDelete", () => {
const testCases: {
id: string;
storedEpochs: number[];
persistEveryEpochs?: number;
toDelete: number[];
persistEveryEpochs: number;
epochsToDelete: number[];
}[] = [
{
id: "Empty",
storedEpochs: [],
toDelete: [],
persistEveryEpochs: 8,
epochsToDelete: [],
},
{
id: "Equally spaced, delete x%8 != 0",
storedEpochs: [0, 2, 4, 6, 8, 10, 12, 14, 16],
persistEveryEpochs: 8,
toDelete: [2, 4, 6, 10, 12, 14],
epochsToDelete: [2, 4, 6, 10, 12, 14],
},
{
id: "Equally spaced with offset",
storedEpochs: [0, 3, 5, 7, 9, 11, 13, 15, 17],
persistEveryEpochs: 8,
toDelete: [3, 5, 7, 11, 13, 15],
epochsToDelete: [3, 5, 7, 11, 13, 15],
},
{
id: "Edge case with offset that causes a very large gap between epochs",
storedEpochs: [7, 8, 23, 24],
persistEveryEpochs: 8,
toDelete: [],
epochsToDelete: [],
},
];

for (const {id, storedEpochs, persistEveryEpochs, toDelete} of testCases) {
for (const {id, storedEpochs, persistEveryEpochs, epochsToDelete} of testCases) {
it(id, () => {
expect(computeEpochsToDelete(storedEpochs, persistEveryEpochs ?? 1024)).to.deep.equal(toDelete);
const storedStateSlots = storedEpochs.map((epoch) => computeStartSlotAtEpoch(epoch));
const stateSlotsToDelete = epochsToDelete.map((epoch) => computeStartSlotAtEpoch(epoch));
expect(computeStateSlotsToDelete(storedStateSlots, persistEveryEpochs)).to.deep.equal(stateSlotsToDelete);
});
}
});
Expand Down

0 comments on commit 73f26a4

Please sign in to comment.