Conversation
The @pie test was failing with 'Could not parse balance' because the wallet_benchmark.feature was missing a 'When I check the balance for account "default"' step between the scan and balance assertion. Without it, parse_balance_from_output() was trying to parse balance from scan output which doesn't contain balance formatting. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The step was registered as #[then] but the feature file uses it as 'And' after a 'When' step. In Cucumber, 'And' inherits the preceding keyword, so it was looking for a #[when] match and skipping the step. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Adds a 'Then I print the benchmark results' step that displays scan and confirmation timings in a formatted summary. Stores durations in a new benchmark_timings field on MinotariWorld. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace 'Then all transactions should be confirmed' with 'Then N transactions of X uT should be confirmed' which verifies that the balance decreased by at least N*X µT by: - Capturing pre-send balance before sending transactions - Sending to a different random wallet (not self) - Checking post-send balance accounts for the sent amount Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces a comprehensive benchmarking suite for the wallet, enabling the measurement of key performance indicators such as block scanning duration and the time required for transaction confirmation. This enhancement provides valuable insights into wallet efficiency and helps track performance over time. Highlights
Changelog
Ignored Files
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a new benchmark test for wallet scanning and transaction confirmation. The implementation includes a new Gherkin feature file, corresponding step definitions, and updates to the shared test world. The code is generally well-structured for a test environment. However, I've identified a few areas for improvement to enhance robustness and maintainability. My review includes suggestions to handle potential panics from unwrap() calls, remove an unused import, and improve a brittle error check, with one suggestion referencing a repository rule on brittle code. Addressing these points will make the new benchmark tests more reliable.
Description