-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run Zebra's unit tests with the scanner enabled #8037
Comments
shielded-scan
to the RUST_EXPERIMENTAL_FEATURES GitHub repository variable
Instructions to revert:
|
It looks like this is going to take a significant number of changes:
So I'll revert the experimental features variable for now. |
Some of these failures could be caused by a panic in one test, let's try to fix the config test first. |
Hey team! Please add your planning poker estimate with Zenhub @arya2 @oxarbitrage @teor2345 @upbqdn |
The config test will fail because we don't have the right version stored but there is also a lot of:
Meaning i think the scanner database is not closing properly. |
And we need to check that version parses, but we can only do that when the shielded-scan feature is enabled.
We need to shut down the database in a storage Drop impl, like we do in the FinalizedState. Let me know if you want help with that. |
Actually shutdown is being correctly called: zebra/zebra-state/src/service/finalized_state/zebra_db.rs Lines 321 to 325 in ba58d63
It looks like all the tests are using the default production scanner db path, but they should be using the ephemeral config. That can be fixed here: zebra/zebrad/tests/common/config.rs Line 32 in ba58d63
|
Yes, i am trying to make this work. I already fixed the Failures are happening only when all the tests are run together, they all pass individually. |
I am moving to a (maybe temporal) solution that involves not starting the task if the feature is enabled and |
That might be ok for a temporary solution, but I think we will need the actual fix before we release the MVP. (Because it could be a bug in the production config handling.) I am happy to look at your PR with the ephemeral fix. |
I also think it will help to merge this PR before we do much testing in CI, because it makes CI errors much easier to find: |
You can do that if you want but it is not needed, the errors are visible locally running I already mentioned the temporal solution i have, if you think it will not worth it please let me know and ill leave it to you, i was not planning to work on this ticket anyways and i think i am putting more effort than i was expected already. |
It seems like a good idea to make progress for now. Here are the benefits and drawbacks I see: Benefits:
Drawbacks:
But we need do both these tests anyway. If we are just doing them by accident, it's easy to accidentally remove those tests when we change other tests. We can open a separate ticket for them. |
This is now #8069 |
I'm going to pick this up because it seems like we'll need it to make sure our code is working. |
I've added the repository variable again, here are the instructions to revert:
|
Motivation
We're not running the shielded scanner tests in CI, leading to bugs like:
9a7848e
Required Changes
shielded-scan
feature is enabled: Run Zebra's unit tests with the scanner enabled #8037 (comment)shielded-scan
to the RUST_EXPERIMENTAL_FEATURES GitHub repository variablezebra/.github/workflows/ci-unit-tests-docker.yml
Lines 133 to 135 in 1708f9d
The text was updated successfully, but these errors were encountered: