• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

c-ares / c-ares / 28628343107
90%

Build:
DEFAULT BRANCH: main
Ran 02 Jul 2026 11:38PM UTC
Jobs 1
Files 177
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 Jul 2026 11:35PM UTC coverage: 91.548% (-0.003%) from 91.551%
28628343107

push

github

web-flow
ci(qnx): fix flaky SDP download + MockUDPMaxQueriesTest datagram loss (#1180)

Two independent fixes for the QNX CI job, which fails both at setup
(flaky download) and at the test step. Consolidated from #1178 + #1179
into one PR. Both were validated together on the real QNX runner (all
steps green, suite **992/992**).

## 1. `test:` enlarge mock server UDP recv buffer — fixes
`MockUDPMaxQueriesTest`

The QNX test step failed on 6 tests, all
`MockUDPMaxQueriesTest.GetHostByNameParallelLookups` (+ event-thread
twin):

```
Expected equality of these values:
  32 / 8      Which is: 4
  sock_cb_count   Which is: 16
```

**Root cause — UDP datagram loss in the test harness, not a library
defect.** The test fires 32 parallel UDP queries with `udp_max_queries =
8` and asserts exactly `32/8 = 4` sockets. The harness is
single-threaded and drains one datagram per event-loop iteration, but
the client bursts all 32 query datagrams into the mock server's
**single** UDP socket before any are read. On QNX-under-QEMU the small
default UDP receive buffer overflows and drops some queries; those time
out, which bumps the server's consecutive-failure count →
`ares_fetch_connection()` refuses to reuse the UDP conn and
`ares_close_sockets()` tears it down → a fresh socket per subsequent
query (16 instead of 4). The queries requeue and still resolve, so only
the socket-count assertion failed.

**Fix:** enlarge the mock server's `udpfd_` `SO_RCVBUF` (1 MB) so the
burst is buffered until drained. The exact-count assertion is
**preserved**. (A widened query timeout was tried first and ruled out —
queries still timed out at the new boundary, proving the datagrams are
lost, not late.)

## 2. `ci(qnx):` retry SDP download/licensing steps

The job frequently failed in *"Download SDP 8.0"* with `curl: (28) ...
Connection timed out` when QNX's servers were briefly unreachable —
wasting an ~11-minute run during setup. A small `retry()` helper wraps
the licensing/mirror steps, and bo... (continued)

2 of 2 new or added lines in 1 file covered. (100.0%)

1 existing line in 1 file now uncovered.

23753 of 25946 relevant lines covered (91.55%)

12123.51 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
88.28
-0.09% src/lib/record/ares_dns_record.c
Jobs
ID Job ID Ran Files Coverage
1 28628343107.1 02 Jul 2026 11:38PM UTC 935
61.6
GitHub Action Run
Source Files on build 28628343107
  • Tree
  • List 177
  • Changed 55
  • Source Changed 0
  • Coverage Changed 55
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 8c198493 on github
  • Prev Build on main (#28594042315)
  • Next Build on main (#28673989834)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc