-
Notifications
You must be signed in to change notification settings - Fork 219
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
test: improvements for debugging integration tests #5402
Merged
SWvheerden
merged 10 commits into
tari-project:development
from
brianp:fix-node-dht-tables-in-tests
May 24, 2023
Merged
test: improvements for debugging integration tests #5402
SWvheerden
merged 10 commits into
tari-project:development
from
brianp:fix-node-dht-tables-in-tests
May 24, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
brianp
force-pushed
the
fix-node-dht-tables-in-tests
branch
from
May 23, 2023 15:04
a30a8b2
to
bd1a6b0
Compare
stringhandler
previously approved these changes
May 23, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice
ghpbot-tari-project
added
the
P-acks_required
Process - Requires more ACKs or utACKs
label
May 23, 2023
SWvheerden
previously approved these changes
May 24, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK
In memory databases are impossible to debug after the fact. Using file db's allows us to inspect them when we get strange results, and simulates real node use better.
Many of the files used for nodes and wallets were being spread accross multiple temp directories. This commit attempts to alleviate that and moves to using temporay, but persisted directories we can debug after the test run.
A logger was added to print the world client struct after a failure has occured. This was showing most collection as empty due to the fact we were purposfully clearing it after each singular test run. The purpose of clearing it was to ensure no crossover or spillage from one test to another but this isn't a real problem with cucumber. The world object is cloned new into every test run and isn't shared, so we don't need to clean it out.
Right now the logs will continue to ammend a single file. Sometimes this is bothersome when wanting to debug the last one, as the file may be quite large. This commit will move the logs into the temp directory of the last run isolating that runs logs for easier debugging.
The nodes weren't communicating yet when the first block becomes mined and as a result the LAG1 node never saw the block via propagation. Give just a bit more time for communication to be open before mining ensuring the nodes will gossip.
Validation is being run at import now which means the invalid UTXO's are never reflected in the balance. Remove the balance check step and carry on.
auto-merge was automatically disabled
May 24, 2023 06:37
Head branch was pushed to by a user without write access
brianp
force-pushed
the
fix-node-dht-tables-in-tests
branch
from
May 24, 2023 06:37
bd1a6b0
to
6a5dc8f
Compare
ghpbot-tari-project
added
the
P-reviews_required
Process - Requires a review from a lead maintainer to be merged
label
May 24, 2023
SWvheerden
pushed a commit
that referenced
this pull request
May 25, 2023
Description --- This PR does a small handful of refactoring to help when debugging the integration tests: - Better use of temporary directories for base node data - Print base node identity files - Better use of temporary directories for wallet data - Move logs from each test run into the last run directory for easier to search and more isolated logs - Fix 2 features so they'll run now - Stop using in memory databases for DHT, it's possible for their reference to be dropped and the DHT tables to be wiped causing weird behaviour in the tests - Stop manual cleaning of the World after a test runs, there is no need to do this, and it produced undesired behavior when printing panic data - Miner was attempting to connect to Esme, ensure it stays on the localnetwork Motivation and Context --- The suite can be difficult to debug, hopefully this makes it easier How Has This Been Tested? --- Locally What process can a PR reviewer use to test or verify this change? --- See if it passes CI <!-- Checklist --> <!-- 1. Is the title of your PR in the form that would make nice release notes? The title, excluding the conventional commit tag, will be included exactly as is in the CHANGELOG, so please think about it carefully. --> Breaking Changes --- - [x] None - [ ] Requires data directory on base node to be deleted - [ ] Requires hard fork - [ ] Other - Please specify <!-- Does this include a breaking change? If so, include this line as a footer --> <!-- BREAKING CHANGE: Description what the user should do, e.g. delete a database, resync the chain -->
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
P-acks_required
Process - Requires more ACKs or utACKs
P-reviews_required
Process - Requires a review from a lead maintainer to be merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR does a small handful of refactoring to help when debugging the integration tests:
Motivation and Context
The suite can be difficult to debug, hopefully this makes it easier
How Has This Been Tested?
Locally
What process can a PR reviewer use to test or verify this change?
See if it passes CI
Breaking Changes