Skip to content

Commit 5a70427

Browse files
hyperpolymathclaude
andcommitted
test: sweep expect("TODO: handle error") to .unwrap() in test modules
Mass replace_all in 5 files where every site sits inside a #[cfg(test)] mod (verified line-number > cfg(test) boundary). Test convention: .unwrap() with assert!() or input-by-construction proves Some/Ok. Identical panic to the bulk-rewrite, no fake debt marker. Sites swept (20 total): - vext-email-gateway/src/types.rs (10) - vext/vext-core/src/protocol.rs (3) - lazy-eliminator/src/analyzer.rs (3) - vext/vext-core/src/listener.rs (2) - vext/vext-core/src/i18n.rs (2) Test counts unchanged: lazy-eliminator 55 passed, vext 36 passed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 0d11476 commit 5a70427

5 files changed

Lines changed: 20 additions & 20 deletions

File tree

lazy-eliminator/src/analyzer.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def process_data():
8686
# TODO: implement this
8787
pass
8888
"#;
89-
let detections = analyzer.analyze(code).expect("TODO: handle error");
89+
let detections = analyzer.analyze(code).unwrap();
9090
assert!(!detections.is_empty());
9191
assert!(detections.iter().any(|d| matches!(d.kind, crate::detection::IncompletenessKind::TodoComment)));
9292
}
@@ -99,7 +99,7 @@ fn complex_function() {
9999
unimplemented!()
100100
}
101101
"#;
102-
let detections = analyzer.analyze(code).expect("TODO: handle error");
102+
let detections = analyzer.analyze(code).unwrap();
103103
assert!(!detections.is_empty());
104104
assert!(detections.iter().any(|d| matches!(d.kind, crate::detection::IncompletenessKind::UnimplementedCode)));
105105
}
@@ -111,6 +111,6 @@ fn complex_function() {
111111
def add(a, b):
112112
return a + b
113113
"#;
114-
assert!(analyzer.is_complete(code).expect("TODO: handle error"));
114+
assert!(analyzer.is_complete(code).unwrap());
115115
}
116116
}

vext-email-gateway/src/types.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ mod tests {
342342
fn test_did_roundtrip() {
343343
let signing_key = generate_signing_key();
344344
let did = DID::from_public_key(&signing_key.verifying_key());
345-
let recovered = did.to_public_key().expect("TODO: handle error");
345+
let recovered = did.to_public_key().unwrap();
346346
assert_eq!(signing_key.verifying_key(), recovered);
347347
}
348348

@@ -355,9 +355,9 @@ mod tests {
355355
Some("Test".to_string()),
356356
vec!["test".to_string()],
357357
)
358-
.expect("TODO: handle error");
358+
.unwrap();
359359

360-
assert!(msg.verify().expect("TODO: handle error"));
360+
assert!(msg.verify().unwrap());
361361
}
362362

363363
#[test]
@@ -369,13 +369,13 @@ mod tests {
369369
Some("Test".to_string()),
370370
vec!["test".to_string()],
371371
)
372-
.expect("TODO: handle error");
372+
.unwrap();
373373

374374
// Tamper with content
375375
msg.content = "Tampered content".to_string();
376376

377377
// Verification should fail
378-
assert!(!msg.verify().expect("TODO: handle error"));
378+
assert!(!msg.verify().unwrap());
379379
}
380380

381381
// Property-based testing: message creation always produces valid messages
@@ -388,9 +388,9 @@ mod tests {
388388
&signing_key,
389389
Some(title),
390390
vec!["test".to_string()],
391-
).expect("TODO: handle error");
391+
).unwrap();
392392

393-
prop_assert!(msg.verify().expect("TODO: handle error"));
393+
prop_assert!(msg.verify().unwrap());
394394
}
395395
}
396396
}
@@ -412,7 +412,7 @@ mod verification {
412412
fn verify_did_roundtrip() {
413413
let signing_key = generate_signing_key();
414414
let did = DID::from_public_key(&signing_key.verifying_key());
415-
let recovered = did.to_public_key().expect("TODO: handle error");
415+
let recovered = did.to_public_key().unwrap();
416416
kani::assert(signing_key.verifying_key() == recovered, "DID roundtrip failed");
417417
}
418418

@@ -421,8 +421,8 @@ mod verification {
421421
// Different content -> different IDs
422422
let signing_key = generate_signing_key();
423423

424-
let msg1 = Message::new("Content 1".to_string(), &signing_key, None, vec![]).expect("TODO: handle error");
425-
let msg2 = Message::new("Content 2".to_string(), &signing_key, None, vec![]).expect("TODO: handle error");
424+
let msg1 = Message::new("Content 1".to_string(), &signing_key, None, vec![]).unwrap();
425+
let msg2 = Message::new("Content 2".to_string(), &signing_key, None, vec![]).unwrap();
426426

427427
kani::assert(msg1.id != msg2.id, "Different content must have different IDs");
428428
}

vext/vext-core/src/i18n.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,14 +98,14 @@ mod tests {
9898
#[test]
9999
#[cfg(feature = "i18n")]
100100
fn test_i18n_basic() {
101-
let mut i18n = I18n::new("en-US").expect("TODO: handle error");
101+
let mut i18n = I18n::new("en-US").unwrap();
102102

103103
let ftl = r#"
104104
hello = Hello, World!
105105
goodbye = Goodbye!
106106
"#;
107107

108-
i18n.load_ftl("en-US", ftl).expect("TODO: handle error");
108+
i18n.load_ftl("en-US", ftl).unwrap();
109109

110110
assert_eq!(i18n.get("en-US", "hello"), Some("Hello, World!".to_string()));
111111
}

vext/vext-core/src/listener.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ mod tests {
166166
"privmsg": "Test commit message"
167167
}"#;
168168

169-
let notification: Notification = serde_json::from_str(json).expect("TODO: handle error");
169+
let notification: Notification = serde_json::from_str(json).unwrap();
170170
assert_eq!(notification.to.len(), 1);
171171
assert_eq!(notification.privmsg, "Test commit message");
172172
}
@@ -182,7 +182,7 @@ mod tests {
182182
"author": "dev"
183183
}"#;
184184

185-
let notification: Notification = serde_json::from_str(json).expect("TODO: handle error");
185+
let notification: Notification = serde_json::from_str(json).unwrap();
186186
assert_eq!(notification.project, Some("vext".to_string()));
187187
assert_eq!(notification.branch, Some("main".to_string()));
188188
}

vext/vext-core/src/protocol.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ mod tests {
204204

205205
#[test]
206206
fn test_parse_irc_url() {
207-
let target = IrcTarget::parse("irc://irc.libera.chat/vext").expect("TODO: handle error");
207+
let target = IrcTarget::parse("irc://irc.libera.chat/vext").unwrap();
208208
assert_eq!(target.server, "irc.libera.chat");
209209
assert_eq!(target.channel, "#vext");
210210
assert!(!target.tls);
@@ -213,15 +213,15 @@ mod tests {
213213

214214
#[test]
215215
fn test_parse_ircs_url() {
216-
let target = IrcTarget::parse("ircs://irc.libera.chat:6697/vext").expect("TODO: handle error");
216+
let target = IrcTarget::parse("ircs://irc.libera.chat:6697/vext").unwrap();
217217
assert_eq!(target.server, "irc.libera.chat");
218218
assert_eq!(target.port, Some(6697));
219219
assert!(target.tls);
220220
}
221221

222222
#[test]
223223
fn test_parse_url_with_key() {
224-
let target = IrcTarget::parse("irc://server/secret?key=pass123").expect("TODO: handle error");
224+
let target = IrcTarget::parse("irc://server/secret?key=pass123").unwrap();
225225
assert_eq!(target.channel, "#secret");
226226
assert_eq!(target.key, Some("pass123".to_string()));
227227
}

0 commit comments

Comments
 (0)