[GH-ISSUE #2279] Random test failing that sends request to Google's DNS server #951

Open
opened 2026-03-16 01:04:32 +03:00 by kerem · 3 comments
Owner

Originally created by @justahero on GitHub (Jul 3, 2024).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/2279

Describe the bug
A test in the CI job test / platform (ubuntu-latest) failed in PR #2244, see CI logs. The failing test in question is h3::h3_client_stream::tests::test_h3_google_with_pure_ip_address_server.

There are a number of tests sendings requests to Google's DNS server (8.8.8.8), so any of these tests could potentially fail.

To Reproduce
Unlikely to get reproduced as this depends on responses from the Google DNS server.

Expected behavior
The tests pass successfully

System:

  • OS: Ubuntu using ubuntu-latest on Github CI
  • Architecture: x86_64
  • Version: 22.04
  • rustc version: stable-x86_64-unknown-linux-gnu unchanged - rustc 1.79.0 (129f3b996 2024-06-10)

Version:
Crate: proto
Version: commit 2e07855e697014c1e5fdd495256b5a750846fe77

Additional context
The call of runtime.block_on(..) panicked.

It's worthwhile to evaluate what an alternative way to test the hickory related logic could look like, one without the dependency to the external name server.

Originally created by @justahero on GitHub (Jul 3, 2024). Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/2279 **Describe the bug** A test in the CI job `test / platform (ubuntu-latest)` failed in PR #2244, see [CI logs](https://github.com/hickory-dns/hickory-dns/actions/runs/9778320205/job/26994876597?pr=2244#step:6:1253). The failing test in question is [`h3::h3_client_stream::tests::test_h3_google_with_pure_ip_address_server`](https://github.com/hickory-dns/hickory-dns/blob/main/crates/proto/src/h3/h3_client_stream.rs#L546). There are a number of tests sendings requests to Google's DNS server (`8.8.8.8`), so any of these tests could potentially fail. **To Reproduce** Unlikely to get reproduced as this depends on responses from the Google DNS server. **Expected behavior** The tests pass successfully **System:** - OS: Ubuntu using `ubuntu-latest` on Github CI - Architecture: x86_64 - Version: 22.04 - rustc version: stable-x86_64-unknown-linux-gnu unchanged - rustc 1.79.0 (129f3b996 2024-06-10) **Version:** Crate: `proto` Version: commit 2e07855e697014c1e5fdd495256b5a750846fe77 **Additional context** The call of [runtime.block_on(..)](https://github.com/hickory-dns/hickory-dns/blob/main/crates/proto/src/h3/h3_client_stream.rs#L587-L589) panicked. It's worthwhile to evaluate what an alternative way to test the hickory related logic could look like, one without the dependency to the external name server.
Author
Owner

@GICodeWarrior commented on GitHub (Jul 5, 2024):

Would a mock-based approach be useful/welcome?

For example:
https://docs.rs/socket-server-mocker/latest/socket_server_mocker/

<!-- gh-comment-id:2211109196 --> @GICodeWarrior commented on GitHub (Jul 5, 2024): Would a mock-based approach be useful/welcome? For example: https://docs.rs/socket-server-mocker/latest/socket_server_mocker/
Author
Owner

@djc commented on GitHub (Jul 8, 2024):

Maybe the quick fix would be to retry this like 3 times?

<!-- gh-comment-id:2213482840 --> @djc commented on GitHub (Jul 8, 2024): Maybe the quick fix would be to retry this like 3 times?
Author
Owner

@justahero commented on GitHub (Jul 8, 2024):

The test retries the request 3 times already :(

My guess is the best option for now is to re-run the affected CI job again.

<!-- gh-comment-id:2213511403 --> @justahero commented on GitHub (Jul 8, 2024): The test retries the request 3 times already :( My guess is the best option for now is to re-run the affected CI job again.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hickory-dns#951
No description provided.