Skip to content

Commit 5a8631a

Browse files
committed
[tests] use insta filters to replace paths
The strategy I use for paths in the lnav snapshots (which are often absolute) is to replace them with a symbolic name. So, trying the same here...
1 parent ddebb18 commit 5a8631a

20 files changed

Lines changed: 87 additions & 210 deletions

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ cc="*"
2121
[dev-dependencies]
2222
assert_cmd = "2.0.16"
2323
env_logger = "0.11.8"
24-
insta = { version = "1.43.1", features = ["yaml"] }
24+
insta = { version = "1.43.1", features = ["yaml", "filters"] }
2525
insta-cmd = "0.6.0"
2626
log = "0.4.27"
2727
rand = "0.9.0"

src/source_ref.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1+
use crate::{CodeSource, QueryResult, SourceLanguage};
12
use core::fmt;
2-
use std::ops::Deref;
33
use regex::{Captures, Regex};
44
use serde::Serialize;
5+
use std::ops::Deref;
56
use std::sync::LazyLock;
6-
use crate::{CodeSource, QueryResult, SourceLanguage};
77

88
#[derive(Clone, Debug, Serialize, Eq, PartialEq)]
99
pub enum FormatArgument {
@@ -81,8 +81,9 @@ impl PartialEq for SourceRef {
8181
}
8282
}
8383

84-
static RUST_PLACEHOLDER_REGEX: LazyLock<Regex> =
85-
LazyLock::new(|| Regex::new(r#"\{(?:([a-zA-Z_][a-zA-Z0-9_.]*)|(\d+))?\s*(?::[^}]*)?}"#).unwrap());
84+
static RUST_PLACEHOLDER_REGEX: LazyLock<Regex> = LazyLock::new(|| {
85+
Regex::new(r#"\{(?:([a-zA-Z_][a-zA-Z0-9_.]*)|(\d+))?\s*(?::[^}]*)?}"#).unwrap()
86+
});
8687

8788
static JAVA_PLACEHOLDER_REGEX: LazyLock<Regex> =
8889
LazyLock::new(|| Regex::new(r#"\\?\{.*}"#).unwrap());
@@ -156,10 +157,7 @@ mod tests {
156157
#[test]
157158
fn test_build_matcher_positional() {
158159
let (matcher, args) = build_matcher("{2}", SourceLanguage::Rust);
159-
assert_eq!(
160-
Regex::new(r#"^(.+)$"#).unwrap().as_str(),
161-
matcher.as_str()
162-
);
160+
assert_eq!(Regex::new(r#"^(.+)$"#).unwrap().as_str(), matcher.as_str());
163161
assert_eq!(args[0], FormatArgument::Positional(2));
164162
}
165163
}

tests/common_settings.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pub fn enable_filters() -> insta::internals::SettingsBindDropGuard {
2+
let mut settings = insta::Settings::clone_current();
3+
settings.add_filter(r#""examples[/\\]"#, "\"{example_dir}/");
4+
settings.add_filter(r#""tests[/\\]java[/\\]"#, "\"{java_dir}/");
5+
settings.bind_to_scope()
6+
}

tests/snapshots/test_java__basic_unix.snap renamed to tests/snapshots/test_java__basic.snap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ info:
1313
success: true
1414
exit_code: 0
1515
----- stdout -----
16-
{"srcRef":{"sourcePath":"tests/java/Basic.java","lineNumber":18,"column":16,"name":"main","text":"\"Hello from main\"","args":[],"vars":[]},"variables":{},"stack":[]}
17-
{"srcRef":{"sourcePath":"tests/java/Basic.java","lineNumber":25,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"0"},"stack":[]}
18-
{"srcRef":{"sourcePath":"tests/java/Basic.java","lineNumber":25,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"1"},"stack":[]}
19-
{"srcRef":{"sourcePath":"tests/java/Basic.java","lineNumber":25,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"2"},"stack":[]}
16+
{"srcRef":{"sourcePath":"{java_dir}/Basic.java","lineNumber":18,"column":16,"name":"main","text":"\"Hello from main\"","args":[],"vars":[]},"variables":{},"stack":[]}
17+
{"srcRef":{"sourcePath":"{java_dir}/Basic.java","lineNumber":25,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"0"},"stack":[]}
18+
{"srcRef":{"sourcePath":"{java_dir}/Basic.java","lineNumber":25,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"1"},"stack":[]}
19+
{"srcRef":{"sourcePath":"{java_dir}/Basic.java","lineNumber":25,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"2"},"stack":[]}
2020

2121
----- stderr -----

tests/snapshots/test_java__basic_windows.snap

Lines changed: 0 additions & 19 deletions
This file was deleted.

tests/snapshots/test_java__basic_with_log_unix.snap renamed to tests/snapshots/test_java__basic_with_log.snap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ info:
1313
success: true
1414
exit_code: 0
1515
----- stdout -----
16-
{"srcRef":{"sourcePath":"tests/java/BasicWithLog.java","lineNumber":18,"column":13,"name":"main","text":"\"Hello from main\"","args":[],"vars":[]},"variables":{},"stack":[]}
17-
{"srcRef":{"sourcePath":"tests/java/BasicWithLog.java","lineNumber":25,"column":17,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"0"},"stack":[]}
18-
{"srcRef":{"sourcePath":"tests/java/BasicWithLog.java","lineNumber":25,"column":17,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"1"},"stack":[]}
19-
{"srcRef":{"sourcePath":"tests/java/BasicWithLog.java","lineNumber":25,"column":17,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"2"},"stack":[]}
16+
{"srcRef":{"sourcePath":"{java_dir}/BasicWithLog.java","lineNumber":18,"column":13,"name":"main","text":"\"Hello from main\"","args":[],"vars":[]},"variables":{},"stack":[]}
17+
{"srcRef":{"sourcePath":"{java_dir}/BasicWithLog.java","lineNumber":25,"column":17,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"0"},"stack":[]}
18+
{"srcRef":{"sourcePath":"{java_dir}/BasicWithLog.java","lineNumber":25,"column":17,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"1"},"stack":[]}
19+
{"srcRef":{"sourcePath":"{java_dir}/BasicWithLog.java","lineNumber":25,"column":17,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"2"},"stack":[]}
2020

2121
----- stderr -----

tests/snapshots/test_java__basic_with_log_format_unix.snap renamed to tests/snapshots/test_java__basic_with_log_format.snap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ info:
1313
success: true
1414
exit_code: 0
1515
----- stdout -----
16-
{"srcRef":{"sourcePath":"tests/java/BasicWithCustom.java","lineNumber":15,"column":16,"name":"main","text":"\"Hello from main\"","args":[],"vars":[]},"variables":{},"stack":[]}
17-
{"srcRef":{"sourcePath":"tests/java/BasicWithCustom.java","lineNumber":22,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"0"},"stack":[]}
18-
{"srcRef":{"sourcePath":"tests/java/BasicWithCustom.java","lineNumber":22,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"1"},"stack":[]}
19-
{"srcRef":{"sourcePath":"tests/java/BasicWithCustom.java","lineNumber":22,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"2"},"stack":[]}
16+
{"srcRef":{"sourcePath":"{java_dir}/BasicWithCustom.java","lineNumber":15,"column":16,"name":"main","text":"\"Hello from main\"","args":[],"vars":[]},"variables":{},"stack":[]}
17+
{"srcRef":{"sourcePath":"{java_dir}/BasicWithCustom.java","lineNumber":22,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"0"},"stack":[]}
18+
{"srcRef":{"sourcePath":"{java_dir}/BasicWithCustom.java","lineNumber":22,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"1"},"stack":[]}
19+
{"srcRef":{"sourcePath":"{java_dir}/BasicWithCustom.java","lineNumber":22,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","args":["Placeholder"],"vars":["i"]},"variables":{"i":"2"},"stack":[]}
2020

2121
----- stderr -----

tests/snapshots/test_java__basic_with_log_format_windows.snap

Lines changed: 0 additions & 21 deletions
This file was deleted.

tests/snapshots/test_java__basic_with_log_windows.snap

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)