GeniusVentures / SuperGenius

MIT License
3 stars 3 forks source link

Fix failing tests #25

Open henriqueaklein opened 1 year ago

henriqueaklein commented 1 year ago

These tests are failing:

Investigate if they ever worked, and if so how they got broken. Fix it to pass all tests

henriqueaklein commented 1 year ago

@SuperGNUS I've started doing some digging on the vote_tracker_test. The failing test is the TestVoteEquivocator.

As far as I understood, this test is supposed to check if an equivocated message was pushed (since it loops 9 times generating 9 successful results and forces a equivocatory vote on index = 2 afterwards.

Do you have any record of it working? I've checked the push method on vote_tracker_impl.cpp and not much has changed in the past 3 years.

From what I could gather it infers that the push if successful every time, however when you try to push the equivocated value, the method instead classifies it as a DUPLICATED instead, therefore not really pushing it. It should classify it as a EQUIVOCATED since its the second atempt to push a value of index = 2, correct?

Super-Genius commented 1 year ago

@luizcarvalhohen Can you help Henrique out here. i haven't looked at this code in a long time and I know you had just been working with the consensus stuff

henriqueaklein commented 1 year ago

I asked just in case it was something on the back or you mind, really. No worries :)

henriqueaklein commented 1 year ago

I've created a branch "dev_fix_tests" with fixes on those 2 tests. I haven't really improved them, just made it work. The first issue was a minor test bug.

The second issue was in the "supergenius_trie_storage_test.cpp". The thing is that felt like it wasn't finished. I basically made the method that was there work but I'm sure the test is not ideal (to say the least).

Do you have any thoughts on it @Super-Genius @luizcarvalhohen ?