Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/salsa/tests/cycles.rs')
-rw-r--r--crates/salsa/tests/cycles.rs214
1 files changed, 112 insertions, 102 deletions
diff --git a/crates/salsa/tests/cycles.rs b/crates/salsa/tests/cycles.rs
index 4c3ec312f2..0f89c6375f 100644
--- a/crates/salsa/tests/cycles.rs
+++ b/crates/salsa/tests/cycles.rs
@@ -1,5 +1,6 @@
use std::panic::UnwindSafe;
+use expect_test::expect;
use salsa::{Durability, ParallelDatabase, Snapshot};
use test_log::test;
@@ -179,24 +180,26 @@ fn extract_cycle(f: impl FnOnce() + UnwindSafe) -> salsa::Cycle {
fn cycle_memoized() {
let db = DatabaseImpl::default();
let cycle = extract_cycle(|| db.memoized_a());
- insta::assert_debug_snapshot!(cycle.unexpected_participants(&db), @r###"
- [
- "memoized_a(())",
- "memoized_b(())",
- ]
- "###);
+ expect![[r#"
+ [
+ "memoized_a(())",
+ "memoized_b(())",
+ ]
+ "#]]
+ .assert_debug_eq(&cycle.unexpected_participants(&db));
}
#[test]
fn cycle_volatile() {
let db = DatabaseImpl::default();
let cycle = extract_cycle(|| db.volatile_a());
- insta::assert_debug_snapshot!(cycle.unexpected_participants(&db), @r###"
- [
- "volatile_a(())",
- "volatile_b(())",
- ]
- "###);
+ expect![[r#"
+ [
+ "volatile_a(())",
+ "volatile_b(())",
+ ]
+ "#]]
+ .assert_debug_eq(&cycle.unexpected_participants(&db));
}
#[test]
@@ -228,12 +231,13 @@ fn inner_cycle() {
let err = query.cycle_c();
assert!(err.is_err());
let cycle = err.unwrap_err().cycle;
- insta::assert_debug_snapshot!(cycle, @r###"
- [
- "cycle_a(())",
- "cycle_b(())",
- ]
- "###);
+ expect![[r#"
+ [
+ "cycle_a(())",
+ "cycle_b(())",
+ ]
+ "#]]
+ .assert_debug_eq(&cycle);
}
#[test]
@@ -265,16 +269,17 @@ fn cycle_revalidate_unchanged_twice() {
db.set_c_invokes(CycleQuery::A); // force new revisi5on
// on this run
- insta::assert_debug_snapshot!(db.cycle_a(), @r###"
- Err(
- Error {
- cycle: [
- "cycle_a(())",
- "cycle_b(())",
- ],
- },
- )
- "###);
+ expect![[r#"
+ Err(
+ Error {
+ cycle: [
+ "cycle_a(())",
+ "cycle_b(())",
+ ],
+ },
+ )
+ "#]]
+ .assert_debug_eq(&db.cycle_a());
}
#[test]
@@ -346,16 +351,17 @@ fn cycle_mixed_1() {
db.set_c_invokes(CycleQuery::B);
let u = db.cycle_c();
- insta::assert_debug_snapshot!(u, @r###"
- Err(
- Error {
- cycle: [
- "cycle_b(())",
- "cycle_c(())",
- ],
- },
- )
- "###);
+ expect![[r#"
+ Err(
+ Error {
+ cycle: [
+ "cycle_b(())",
+ "cycle_c(())",
+ ],
+ },
+ )
+ "#]]
+ .assert_debug_eq(&u);
}
#[test]
@@ -372,17 +378,18 @@ fn cycle_mixed_2() {
db.set_c_invokes(CycleQuery::A);
let u = db.cycle_a();
- insta::assert_debug_snapshot!(u, @r###"
- Err(
- Error {
- cycle: [
- "cycle_a(())",
- "cycle_b(())",
- "cycle_c(())",
- ],
- },
- )
- "###);
+ expect![[r#"
+ Err(
+ Error {
+ cycle: [
+ "cycle_a(())",
+ "cycle_b(())",
+ "cycle_c(())",
+ ],
+ },
+ )
+ "#]]
+ .assert_debug_eq(&u);
}
#[test]
@@ -399,26 +406,27 @@ fn cycle_deterministic_order() {
};
let a = db().cycle_a();
let b = db().cycle_b();
- insta::assert_debug_snapshot!((a, b), @r###"
- (
- Err(
- Error {
- cycle: [
- "cycle_a(())",
- "cycle_b(())",
- ],
- },
- ),
- Err(
- Error {
- cycle: [
- "cycle_a(())",
- "cycle_b(())",
- ],
- },
- ),
- )
- "###);
+ expect![[r#"
+ (
+ Err(
+ Error {
+ cycle: [
+ "cycle_a(())",
+ "cycle_b(())",
+ ],
+ },
+ ),
+ Err(
+ Error {
+ cycle: [
+ "cycle_a(())",
+ "cycle_b(())",
+ ],
+ },
+ ),
+ )
+ "#]]
+ .assert_debug_eq(&(a, b));
}
#[test]
@@ -443,34 +451,35 @@ fn cycle_multiple() {
let c = db.cycle_c();
let b = db.cycle_b();
let a = db.cycle_a();
- insta::assert_debug_snapshot!((a, b, c), @r###"
- (
- Err(
- Error {
- cycle: [
- "cycle_a(())",
- "cycle_b(())",
- ],
- },
- ),
- Err(
- Error {
- cycle: [
- "cycle_a(())",
- "cycle_b(())",
- ],
- },
- ),
- Err(
- Error {
- cycle: [
- "cycle_a(())",
- "cycle_b(())",
- ],
- },
- ),
- )
- "###);
+ expect![[r#"
+ (
+ Err(
+ Error {
+ cycle: [
+ "cycle_a(())",
+ "cycle_b(())",
+ ],
+ },
+ ),
+ Err(
+ Error {
+ cycle: [
+ "cycle_a(())",
+ "cycle_b(())",
+ ],
+ },
+ ),
+ Err(
+ Error {
+ cycle: [
+ "cycle_a(())",
+ "cycle_b(())",
+ ],
+ },
+ ),
+ )
+ "#]]
+ .assert_debug_eq(&(a, b, c));
}
#[test]
@@ -485,9 +494,10 @@ fn cycle_recovery_set_but_not_participating() {
// Here we expect C to panic and A not to recover:
let r = extract_cycle(|| drop(db.cycle_a()));
- insta::assert_debug_snapshot!(r.all_participants(&db), @r###"
- [
- "cycle_c(())",
- ]
- "###);
+ expect![[r#"
+ [
+ "cycle_c(())",
+ ]
+ "#]]
+ .assert_debug_eq(&r.all_participants(&db));
}