Skip to content
This repository was archived by the owner on Mar 8, 2026. It is now read-only.

Enhance dry-run diagnostics and gRPC error handling in run.sh#36

Merged
rez1dent3 merged 22 commits intomasterfrom
v1-dev
Sep 12, 2025
Merged

Enhance dry-run diagnostics and gRPC error handling in run.sh#36
rez1dent3 merged 22 commits intomasterfrom
v1-dev

Conversation

@rez1dent3
Copy link
Contributor

  • Improved dry-run mode output with detailed command previews, request information, and effective options for better clarity during testing.
  • Added checks for multiple request blocks to provide hints for streaming RPCs.
  • Enhanced error detection by capturing gRPC response codes and messages, allowing for more precise error handling and reporting.
  • Introduced timing measurements for gRPC calls, enabling performance analysis and overhead statistics in test results.

These changes aim to improve the usability and reliability of the testing framework for gRPC interactions.

- Improved dry-run mode output with detailed command previews, request information, and effective options for better clarity during testing.
- Added checks for multiple request blocks to provide hints for streaming RPCs.
- Enhanced error detection by capturing gRPC response codes and messages, allowing for more precise error handling and reporting.
- Introduced timing measurements for gRPC calls, enabling performance analysis and overhead statistics in test results.

These changes aim to improve the usability and reliability of the testing framework for gRPC interactions.
- Updated various scripts to create temporary files using a consistent naming convention, enhancing clarity and avoiding potential conflicts.
- Removed reliance on `mktemp` in favor of a simpler approach for creating temporary files, improving portability and reducing dependencies.
- Refactored resource pool management to utilize in-memory tokens instead of temporary files, streamlining the resource acquisition and release process.
- Enhanced error handling and logging for resource pool operations, improving the overall reliability of the resource management system.

These changes aim to improve the maintainability and efficiency of the testing framework while ensuring consistent behavior across different environments.
- Updated `bashly.yml` to rename the `test_path` argument to `test_paths`, allowing for multiple test files or directories to be specified.
- Refactored `root_command.sh` to handle multiple test paths, improving the flexibility of the test execution process.
- Cleaned up `compatibility_stubs.sh` by removing unused functions and exports, streamlining the codebase.
- Enhanced `run.sh` to validate all provided test paths and collect test files from each specified path, improving error handling and usability.
- Removed deprecated assertion plugins and system files, simplifying the plugin architecture and reducing clutter.

These changes aim to improve the functionality and maintainability of the gRPC testing framework.
- Added parsing for TLS and PROTO sections in the `run_single_test` function, allowing for more flexible gRPC configurations.
- Introduced shared helper functions to build gRPC command arguments and execute calls with improved error handling and timeout management.
- Enhanced dry-run diagnostics to include detailed command previews and effective options, improving clarity during testing.
- Implemented global timeout management to prevent excessive test execution time, ensuring better resource management.

These changes aim to improve the functionality, usability, and reliability of the gRPC testing framework.
- Moved shared gRPC helper functions from `run.sh` to `src/lib/plugins/grpc/helpers.sh`, enhancing code organization and reusability.
- Deleted legacy `grpc_client.sh` and `test_orchestrator.sh` files to streamline the execution process and reduce redundancy.
- Updated `run.sh` to utilize the new shared helper functions for building gRPC command arguments and executing calls, improving maintainability.
- Enhanced dry-run functionality to provide clearer command previews and error simulation, improving testing diagnostics.

These changes aim to enhance the modularity, clarity, and maintainability of the gRPC testing framework.
…cy timers/dedup/debug-overhead; fix ERROR matching; unify trace format; drop trace_time; clean comments
…output

- Added a function to trim trailing spaces and tabs from processed lines, improving data cleanliness.
- Introduced a new section for handling ASSERTS in the run_single_test function, enhancing test output clarity.
- Refactored dry-run mode to delegate command preview rendering to a shared helper, streamlining the code and improving maintainability.

These changes aim to enhance the functionality and readability of the gRPC testing framework.
- Replaced direct command checks with utility functions for CPU count retrieval, enhancing cross-platform compatibility and maintainability.
- Streamlined timeout handling by utilizing cached execution methods, reducing redundancy in timeout logic.
- Updated documentation for clarity on function purposes and return values, improving code readability.

These changes aim to enhance the efficiency and reliability of the kernel's resource management and execution control.
- Added a shebang for better script execution compatibility.
- Introduced a new function to calculate test duration, reducing redundant date calls.
- Enhanced whitespace handling in the run_single_test function to trim leading and trailing spaces.
- Replaced legacy logging and report generation functions with plugin-based implementations for better maintainability.

These changes aim to enhance the clarity, efficiency, and modularity of the gRPC testing framework.
- Simplified expected and actual error field extraction by leveraging jq for JSON parsing, ensuring consistent handling of gRPC responses.
- Improved whitespace normalization for error messages, enhancing comparison accuracy.
- Streamlined test output formatting to ensure consistent display and flushing behavior during execution.

These changes aim to enhance the clarity, reliability, and maintainability of the gRPC testing framework.
…ncing code clarity

- Deleted the `wrap_and_indent` and `indent_only` functions to streamline the script and reduce redundancy.
- Simplified the `run_single_test` function calls in dry-run mode by removing unnecessary exit code handling.
- Improved variable handling for gRPC timing statistics, enhancing readability and maintainability.

These changes aim to enhance the clarity and efficiency of the gRPC testing framework.
… utility scripts

- Added a new function to automatically detect the optimal number of parallel jobs based on CPU cores, enhancing performance and resource utilization.
- Removed several unused utility scripts related to error recovery, custom IO, and process mutex management, streamlining the codebase and improving maintainability.
- This refactor aims to enhance the efficiency and clarity of the gRPC testing framework by consolidating functionality and reducing redundancy.
- Standardized whitespace handling across various functions in compatibility_stubs.sh, enhancing code readability.
- Removed unused functions and streamlined the structure of the script to improve maintainability.
- Updated help and command files to ensure consistent formatting and clarity in function definitions.

These changes aim to enhance the clarity and efficiency of the gRPC testing framework.
…ariations across systems

- Updated the test to recognize multiple potential error messages related to file access, improving robustness in CI/CD environments.
- This change aims to enhance the reliability of error handling in the testing framework.
…ious example tests

- Deleted the examples-config.json file to streamline the examples directory.
- Updated port configurations in multiple test files to ensure consistency, changing ports from 50054 and 50055 to 50056 and 50057 as needed.
- Adjusted server startup messages to reflect the new port assignments for the media streaming and shopflow e-commerce services.

These changes aim to enhance the organization and clarity of the example configurations in the project.
…validation

- Introduced verbose logging capabilities in run.sh to provide detailed execution insights, including parsing and gRPC call details.
- Enhanced the handling of ASSERTS sections in test files, allowing for structured validation of assertions against gRPC responses.
- Improved overall clarity and maintainability of the test execution process by organizing asserts and logging relevant information.

These changes aim to enhance the robustness and transparency of the gRPC testing framework.
- Deleted various example files related to AI chat, media streaming, and shopflow e-commerce to streamline the examples directory.
- Updated the README and documentation to reflect the removal of these examples and to enhance clarity on available features and contributions.
- Improved links in the guides to point to relevant examples, ensuring users have access to the most current and relevant resources.

These changes aim to enhance the organization and usability of the project's documentation and examples.
- Modified the grpctestify command in both gripmock-integration.yml and real-time-chat-example.yml to include the --verbose flag, enhancing the output detail during test execution.
- This change aims to improve debugging and provide clearer insights into the testing process.
- Changed the gripmock installation command from version 2 to version 3 in the real-time-chat-example.yml workflow file to ensure compatibility with the latest features and improvements.
- This update aims to enhance the functionality and reliability of the real-time chat example.
- Modified the gripmock command in the real-time-chat-example.yml workflow file to include the 'server/' argument, ensuring the correct server path is used during execution.
- This change aims to improve the functionality and reliability of the real-time chat example by properly initializing the server.
@rez1dent3 rez1dent3 merged commit 10a8917 into master Sep 12, 2025
4 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant