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

Alan-Jowett / sonde / 24483890787
82%

Build:
DEFAULT BRANCH: main
Ran 15 Apr 2026 11:39PM UTC
Jobs 1
Files 113
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

15 Apr 2026 11:36PM UTC coverage: 80.278% (-0.2%) from 80.474%
24483890787

push

github

web-flow
fix(pair): enrich PairingError variants with device context (PT-1215) (#726)

* fix(pair): enrich PairingError variants with device context (PT-1215)

Add device address context to 9 PairingError variants so error messages
satisfy PT-1215 AC1 (triggering input/parameters) and AC3 (stale pairing
hint for connection-dropped errors).

Variant changes:
- \ConnectionFailed(String)\ → \ConnectionFailed { device, reason }\
- \ConnectionDropped\ → \ConnectionDropped { device }\  (+ stale pairing hint)
- \MtuTooLow { negotiated, required }\ → adds \device: String\
- \Timeout { operation, duration_secs }\ → adds \device: Option<String>\
- \GattWriteFailed(String)\ → \GattWriteFailed { device, reason }\
- \GattReadFailed(String)\ → \GattReadFailed { device, reason }\
- \IndicationTimeout\ → \IndicationTimeout { device }\
- \DeviceNotFound\ → \DeviceNotFound { device }\
- \DeviceOutOfRange\ → \DeviceOutOfRange { device }\

Implementation:
- Add \ormat_device_address(&[u8; 6]) -> String\ helper
- Add \OptionalDevice\ newtype for clean \Option<String>\ display
- \BtleplugTransport\: store \connected_address\ on connect, clear on
  disconnect, thread through \post_connect_setup\ and \ind_characteristic\
- \AndroidBleTransport\: store address in \JniState\ via \Mutex\
- Update all construction sites in btleplug, android, loopback, mock
  transports, phase1, phase2, and e2e harness
- Add 7 unit tests covering format, display, and stale-pairing hint

Spec changes:
- Update \le-pairing-tool-design.md\ §8.1 PairingError enum
- Add 5 validation test cases T-PT-1215a–e to \le-pairing-tool-validation.md\

Closes #694

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* fix(pair): fix double-wrapped Result in Android connect()

The spawn_blocking closure returns Result<u16, PairingError>, so
.await.map_err(join_err)? yields Result<u16, PairingError>, not u16.
Add a second ? to unwrap the inner Res... (continued)

94 of 245 new or added lines in 7 files covered. (38.37%)

4 existing lines in 3 files now uncovered.

23808 of 29657 relevant lines covered (80.28%)

184.01 hits per line

Uncovered Changes

Lines Coverage ∆ File
113
0.0
0.0% crates/sonde-pair/src/btleplug_transport.rs
13
81.55
-0.37% crates/sonde-e2e/src/harness.rs
13
87.22
-6.11% crates/sonde-pair/src/loopback_transport.rs
11
84.3
-3.09% crates/sonde-pair/src/transport.rs
1
82.18
-0.41% crates/sonde-pair/src/phase1.rs

Coverage Regressions

Lines Coverage ∆ File
2
84.3
-3.09% crates/sonde-pair/src/transport.rs
1
0.0
0.0% crates/sonde-pair/src/btleplug_transport.rs
1
87.22
-6.11% crates/sonde-pair/src/loopback_transport.rs
Jobs
ID Job ID Ran Files Coverage
1 24483890787.1 15 Apr 2026 11:39PM UTC 113
80.28
GitHub Action Run
Source Files on build 24483890787
  • Tree
  • List 113
  • Changed 6
  • Source Changed 6
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24483890787
  • b1964aa6 on github
  • Prev Build on main (#24481506122)
  • Next Build on main (#24485924512)
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