-
Notifications
You must be signed in to change notification settings - Fork 0
Merging from Dev #79
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
Merging from Dev #79
Conversation
…comprehensive tests for pairwise mode scenarios
- Introduced TrafficManagerConfig class to manage traffic demand placement settings. - Updated default rounds handling in TrafficManager to use configuration values. - Added tests for configuration defaults and estimation logic.
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.
Pull Request Overview
This PR merges a large suite of improvements and new test cases from the development branch. Key changes include:
- Addition of extensive tests for integration, graph conversion, enhanced max flow methods, and basic network operations.
- Refactoring to handle self-loop scenarios and improved infinite loop detection in flow placement algorithms.
- Updates to configuration management and workflow registration to improve consistency and maintainability.
Reviewed Changes
Copilot reviewed 29 out of 29 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/*.py | New and updated test cases covering integration, graph conversion, max flow, and basics. |
| tests/lib/algorithms/*.py | Added tests for self-loop handling, sensitivity analysis, and flow placement edge cases. |
| pyproject.toml | Version bump and added pytest timeout configuration. |
| ngraph/workflow/*.py | Adjustment of workflow step registration to mitigate decorator ordering issues. |
| ngraph/traffic_manager.py | Refactored rounds estimation to leverage TrafficManagerConfig instead of hardcoded values. |
| ngraph/lib/flow_policy.py | Updated flow placement termination logic with enhanced progress tracking parameters. |
| ngraph/lib/algorithms/*.py | Added self-loop handling blocks for max flow, calc capacity, and flow placement methods. |
| ngraph/config.py | New configuration module for traffic manager settings. |
| dev/generate_api_docs.py | Enhanced module discovery mechanism for API documentation generation. |
| ngraph/init.py | Updated to export the new config module. |
Comments suppressed due to low confidence (3)
tests/lib/test_flow_policy.py:575
- The updated error message in the FlowPolicy now includes extra context. Verify that the test's regex match remains robust against the new multi-line error message format.
with pytest.raises(RuntimeError, match="Infinite loop detected in place_demand"):
ngraph/traffic_manager.py:534
- The change from hardcoded default rounds to using TRAFFIC_CONFIG improves consistency. Please update the corresponding docstring to reflect that the estimate now leverages configuration settings.
return TRAFFIC_CONFIG.estimate_rounds(ratio)
dev/generate_api_docs.py:38
- The new auto-discovery of modules using glob is a great improvement; however, please ensure that it adequately excludes non-documentable files and internal modules that should not appear in public API docs.
modules.append(module_path)
No description provided.