Skip to content
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

*: Added End-to End Style Test Coverage for LRS Scenarios in xDS Client #7953

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

RyanBlaney
Copy link

Addresses #7704

This pull request adds test coverage for Load Reporting Service (LRS) scenarios within the xdsclient package. The tests address various cases, such as stream failures, backoff mechanisms, and resource request handling when streams are unavailable.

Release Notes:

Potential Pitfalls

  1. Not Exclusively for LRS Messages:

    • The tests currently use version.V3ListenerURL for listener resources. While functional, this generalization doesn't strictly isolate LRS-specific cases. Future refinement could focus explicitly on load-report resources.
  2. Unimplemented Watcher (newListenerWatcher):

    • Some tests rely on a placeholder implementation for xdsresource.WatchListener due to the absence of a dedicated LRS watcher. This workaround aligns with existing test patterns but might need better abstraction for LRS-specific functionality.
  3. Error Handling and Edge Cases:

    • The tests simulate various failure scenarios, but additional validation is necessary to ensure exhaustive edge case coverage.
  4. Overhead of Repeated Backoff:

    • Current tests use controlled backoff via channels to reduce runtime. This approach might need further optimization for more extensive test runs.

Request for Feedback

  • Suggestions for refining the WatchListener implementation or introducing an LRS-specific watcher.
  • Recommendations for isolating load-report cases from general listener tests.
  • Feedback on error simulation and handling mechanisms.

Copy link

codecov bot commented Dec 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 82.21%. Comparing base (4c07bca) to head (0ec410c).
Report is 29 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #7953      +/-   ##
==========================================
+ Coverage   81.84%   82.21%   +0.36%     
==========================================
  Files         377      379       +2     
  Lines       38120    38261     +141     
==========================================
+ Hits        31201    31457     +256     
+ Misses       5603     5513      -90     
+ Partials     1316     1291      -25     

see 48 files with indirect coverage changes

@RyanBlaney RyanBlaney marked this pull request as ready for review December 21, 2024 22:12
@RyanBlaney
Copy link
Author

Don't review yet. I'm refactoring the tests for specificity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant