Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Fix node initialization in snowman test #3398

Merged
merged 2 commits into from
Sep 18, 2024

Conversation

yacovm
Copy link
Contributor

@yacovm yacovm commented Sep 18, 2024

Why this should be merged

The topological consensus tests were supposed to have the instances initialized with a random tree of blocks, where each block points to a random set of descendants.

Instead, because of a bug that influenced the parent reference, the blocks were added to the consensus instance as a single block with the rest of the blocks as descendants.

That's not what we want to test, so this commit fixes this and further simplifies the initialization logic.

How this works

Properly sets the parent of the block.

@yacovm yacovm changed the title Fix node initialization in test Fix node initialization in snowman test Sep 18, 2024
Comment on lines 78 to 88
myBlock := &snowmantest.Block{
Decidable: snowtest.Decidable{
IDV: blk.ID(),
Status: blk.Status,
},
ParentV: myDep,
ParentV: blk.ParentV,
HeightV: blk.Height(),
VerifyV: blk.Verify(context.Background()),
BytesV: blk.Bytes(),
}
if err := sm.Add(myBlock); err != nil {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can simplify this copy further by doing:

copiedBlk := *blk
if err := sm.Add(&copiedBlk); err != nil {

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, done!

The topological consensus tests were supposed to have the instances initialized with a random tree of blocks,
where each block points to a random set of descendants.

Instead, because of a bug that influenced the parent reference, the blocks were added to the consensus instance
as a single block with the rest of the blocks as descendants.

That's not what we want to test, so this commit fixes this and further simplifies the initialization logic.

Signed-off-by: Yacov Manevich <yacov.manevich@avalabs.org>
@StephenButtolph StephenButtolph added the bug Something isn't working label Sep 18, 2024
@StephenButtolph StephenButtolph added this to the v1.11.12 milestone Sep 18, 2024
@StephenButtolph StephenButtolph added this pull request to the merge queue Sep 18, 2024
Merged via the queue into ava-labs:master with commit c18d475 Sep 18, 2024
20 of 21 checks passed
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants