Skip to content

Commit 3e9c250

Browse files
authored
Merge pull request #448 from nathanwhit/lowering-test-cleanup
Make lowering failure tests less fragile
2 parents 9f8cc99 + 881af29 commit 3e9c250

File tree

3 files changed

+20
-17
lines changed

3 files changed

+20
-17
lines changed

tests/lowering/mod.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ fn scalars() {
471471
}
472472

473473
error_msg {
474-
"parse error: UnrecognizedToken { token: (8, Token(53, \"i32\"), 11), expected: [\"r#\\\"([A-Za-z]|_)([A-Za-z0-9]|_)*\\\"#\"] }"
474+
"parse error: UnrecognizedToken"
475475
}
476476
}
477477
}
@@ -495,7 +495,7 @@ fn raw_pointers() {
495495
struct *const i32 { }
496496
}
497497
error_msg {
498-
"parse error: UnrecognizedToken { token: (8, Token(8, \"*\"), 9), expected: [\"r#\\\"([A-Za-z]|_)([A-Za-z0-9]|_)*\\\"#\"] }"
498+
"parse error: UnrecognizedToken"
499499
}
500500
}
501501

@@ -505,7 +505,7 @@ fn raw_pointers() {
505505
impl Foo for *i32 { }
506506
}
507507
error_msg {
508-
"parse error: UnrecognizedToken { token: (30, Token(53, \"i32\"), 33), expected: [\"\\\"const\\\"\", \"\\\"mut\\\"\"] }"
508+
"parse error: UnrecognizedToken"
509509
}
510510
}
511511
}
@@ -529,7 +529,7 @@ fn refs() {
529529
}
530530

531531
error_msg {
532-
"parse error: UnrecognizedToken { token: (36, Token(1, \"T\"), 37), expected: [\"r#\\\"\\\\\\\'([A-Za-z]|_)([A-Za-z0-9]|_)*\\\"#\"] }"
532+
"parse error: UnrecognizedToken"
533533
}
534534
}
535535
}
@@ -555,7 +555,7 @@ fn slices() {
555555
}
556556

557557
error_msg {
558-
"parse error: UnrecognizedToken { token: (29, Token(31, \"]\"), 30), expected: [\"\\\"&\\\"\", \"\\\"(\\\"\", \"\\\"*\\\"\", \"\\\"<\\\"\", \"\\\"[\\\"\", \"\\\"bool\\\"\", \"\\\"char\\\"\", \"\\\"dyn\\\"\", \"\\\"f32\\\"\", \"\\\"f64\\\"\", \"\\\"fn\\\"\", \"\\\"for\\\"\", \"\\\"i128\\\"\", \"\\\"i16\\\"\", \"\\\"i32\\\"\", \"\\\"i64\\\"\", \"\\\"i8\\\"\", \"\\\"isize\\\"\", \"\\\"str\\\"\", \"\\\"u128\\\"\", \"\\\"u16\\\"\", \"\\\"u32\\\"\", \"\\\"u64\\\"\", \"\\\"u8\\\"\", \"\\\"usize\\\"\", \"r#\\\"([A-Za-z]|_)([A-Za-z0-9]|_)*\\\"#\"] }"
558+
"parse error: UnrecognizedToken"
559559
}
560560
}
561561
}

tests/test/mod.rs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ use chalk_solve::ext::*;
88
use chalk_solve::RustIrDatabase;
99
use chalk_solve::{Solution, SolverChoice};
1010

11+
use crate::test_util::assert_same;
12+
1113
#[cfg(feature = "bench")]
1214
mod bench;
1315
mod coherence;
@@ -32,15 +34,6 @@ fn assert_result(mut result: Option<Solution<ChalkIr>>, expected: &str) {
3234
assert_same(&result, expected);
3335
}
3436

35-
fn assert_same(result: &str, expected: &str) {
36-
println!("expected:\n{}", expected);
37-
println!("actual:\n{}", result);
38-
39-
let expected1: String = expected.chars().filter(|w| !w.is_whitespace()).collect();
40-
let result1: String = result.chars().filter(|w| !w.is_whitespace()).collect();
41-
assert!(!expected1.is_empty() && result1.starts_with(&expected1));
42-
}
43-
4437
// different goals
4538
enum TestGoal {
4639
// solver should produce same aggregated single solution

tests/test_util.rs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,18 @@ macro_rules! lowering_error {
2727
chalk_solve::SolverChoice::default(),
2828
)
2929
.checked_program()
30-
.unwrap_err();
31-
let expected = $expected;
32-
assert_eq!(error.to_string(), expected.to_string());
30+
.unwrap_err()
31+
.to_string();
32+
let expected = $expected.to_string();
33+
crate::test_util::assert_same(&error, &expected);
3334
};
3435
}
36+
37+
pub fn assert_same(result: &str, expected: &str) {
38+
println!("expected:\n{}", expected);
39+
println!("actual:\n{}", result);
40+
41+
let expected1: String = expected.chars().filter(|w| !w.is_whitespace()).collect();
42+
let result1: String = result.chars().filter(|w| !w.is_whitespace()).collect();
43+
assert!(!expected1.is_empty() && result1.starts_with(&expected1));
44+
}

0 commit comments

Comments
 (0)