From e83fa359b4ad1f273bc804adb597bc033e2e6458 Mon Sep 17 00:00:00 2001 From: Tim Likarish Ellis Date: Wed, 3 Sep 2025 21:49:13 -0400 Subject: [PATCH] [Tests] Add support for separate windows snapshots The simplest way I could think to get the Windows tests passing again would be to have separate Windows snapshots. I was lazy and didn't write them on Windows, but think I hit up all the different file paths. --- ..._basic.snap => test_java__basic_unix.snap} | 0 tests/snapshots/test_java__basic_windows.snap | 19 +++++++++++++++++ ...est_java__basic_with_log_format_unix.snap} | 0 ...t_java__basic_with_log_format_windows.snap | 21 +++++++++++++++++++ ...ap => test_java__basic_with_log_unix.snap} | 0 .../test_java__basic_with_log_windows.snap | 19 +++++++++++++++++ ... => test_java__basic_with_upper_unix.snap} | 0 .../test_java__basic_with_upper_windows.snap | 19 +++++++++++++++++ ..._basic.snap => test_rust__basic_unix.snap} | 0 tests/snapshots/test_rust__basic_windows.snap | 19 +++++++++++++++++ ..._stack.snap => test_rust__stack_unix.snap} | 0 tests/snapshots/test_rust__stack_windows.snap | 18 ++++++++++++++++ tests/test_java.rs | 20 ++++++++++++++---- tests/test_rust.rs | 14 +++++++++++-- 14 files changed, 143 insertions(+), 6 deletions(-) rename tests/snapshots/{test_java__basic.snap => test_java__basic_unix.snap} (100%) create mode 100644 tests/snapshots/test_java__basic_windows.snap rename tests/snapshots/{test_java__basic_with_log_format.snap => test_java__basic_with_log_format_unix.snap} (100%) create mode 100644 tests/snapshots/test_java__basic_with_log_format_windows.snap rename tests/snapshots/{test_java__basic_with_log.snap => test_java__basic_with_log_unix.snap} (100%) create mode 100644 tests/snapshots/test_java__basic_with_log_windows.snap rename tests/snapshots/{test_java__basic_with_upper.snap => test_java__basic_with_upper_unix.snap} (100%) create mode 100644 tests/snapshots/test_java__basic_with_upper_windows.snap rename tests/snapshots/{test_rust__basic.snap => test_rust__basic_unix.snap} (100%) create mode 100644 tests/snapshots/test_rust__basic_windows.snap rename tests/snapshots/{test_rust__stack.snap => test_rust__stack_unix.snap} (100%) create mode 100644 tests/snapshots/test_rust__stack_windows.snap diff --git a/tests/snapshots/test_java__basic.snap b/tests/snapshots/test_java__basic_unix.snap similarity index 100% rename from tests/snapshots/test_java__basic.snap rename to tests/snapshots/test_java__basic_unix.snap diff --git a/tests/snapshots/test_java__basic_windows.snap b/tests/snapshots/test_java__basic_windows.snap new file mode 100644 index 0000000..d83c19d --- /dev/null +++ b/tests/snapshots/test_java__basic_windows.snap @@ -0,0 +1,19 @@ +--- +source: tests\test_java.rs +info: + program: log2src + args: + - "-d" + - tests\java\Basic.java + - "-l" + - tests\resources\java\basic.log +--- +success: true +exit_code: 0 +----- stdout ----- +{"srcRef":{"sourcePath":"tests\\java\\Basic.java","lineNumber":18,"column":16,"name":"main","text":"\"Hello from main\"","vars":[]},"variables":{},"stack":[]} +{"srcRef":{"sourcePath":"tests\\java\\Basic.java","lineNumber":25,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","vars":["i"]},"variables":{"i":"0"},"stack":[]} +{"srcRef":{"sourcePath":"tests\\java\\Basic.java","lineNumber":25,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","vars":["i"]},"variables":{"i":"1"},"stack":[]} +{"srcRef":{"sourcePath":"tests\\java\\Basic.java","lineNumber":25,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","vars":["i"]},"variables":{"i":"2"},"stack":[]} + +----- stderr ----- diff --git a/tests/snapshots/test_java__basic_with_log_format.snap b/tests/snapshots/test_java__basic_with_log_format_unix.snap similarity index 100% rename from tests/snapshots/test_java__basic_with_log_format.snap rename to tests/snapshots/test_java__basic_with_log_format_unix.snap diff --git a/tests/snapshots/test_java__basic_with_log_format_windows.snap b/tests/snapshots/test_java__basic_with_log_format_windows.snap new file mode 100644 index 0000000..433f8ca --- /dev/null +++ b/tests/snapshots/test_java__basic_with_log_format_windows.snap @@ -0,0 +1,21 @@ +--- +source: tests\test_java.rs +info: + program: log2src + args: + - "-d" + - tests\java\BasicWithCustom.java + - "-l" + - tests\resources\java\basic-class-line.log + - "-f" + - "^(?\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}) (?\\w+) (?[\\w$.]+):(?\\d+) (?[\\w$]+): (?.*)$" +--- +success: true +exit_code: 0 +----- stdout ----- +{"srcRef":{"sourcePath":"tests\\java\\BasicWithCustom.java","lineNumber":15,"column":16,"name":"main","text":"\"Hello from main\"","vars":[]},"variables":{},"stack":[]} +{"srcRef":{"sourcePath":"tests\\java\\BasicWithCustom.java","lineNumber":22,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","vars":["i"]},"variables":{"i":"0"},"stack":[]} +{"srcRef":{"sourcePath":"tests\\java\\BasicWithCustom.java","lineNumber":22,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","vars":["i"]},"variables":{"i":"1"},"stack":[]} +{"srcRef":{"sourcePath":"tests\\java\\BasicWithCustom.java","lineNumber":22,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","vars":["i"]},"variables":{"i":"2"},"stack":[]} + +----- stderr ----- diff --git a/tests/snapshots/test_java__basic_with_log.snap b/tests/snapshots/test_java__basic_with_log_unix.snap similarity index 100% rename from tests/snapshots/test_java__basic_with_log.snap rename to tests/snapshots/test_java__basic_with_log_unix.snap diff --git a/tests/snapshots/test_java__basic_with_log_windows.snap b/tests/snapshots/test_java__basic_with_log_windows.snap new file mode 100644 index 0000000..406f38f --- /dev/null +++ b/tests/snapshots/test_java__basic_with_log_windows.snap @@ -0,0 +1,19 @@ +--- +source: tests\test_java.rs +info: + program: log2src + args: + - "-d" + - tests\java\BasicWithLog.java + - "-l" + - tests\resources\java\basic.log +--- +success: true +exit_code: 0 +----- stdout ----- +{"srcRef":{"sourcePath":"tests\\java\\BasicWithLog.java","lineNumber":18,"column":13,"name":"main","text":"\"Hello from main\"","vars":[]},"variables":{},"stack":[]} +{"srcRef":{"sourcePath":"tests\\java\\BasicWithLog.java","lineNumber":25,"column":17,"name":"foo","text":"\"Hello from foo i=\\{i}\"","vars":["i"]},"variables":{"i":"0"},"stack":[]} +{"srcRef":{"sourcePath":"tests\\java\\BasicWithLog.java","lineNumber":25,"column":17,"name":"foo","text":"\"Hello from foo i=\\{i}\"","vars":["i"]},"variables":{"i":"1"},"stack":[]} +{"srcRef":{"sourcePath":"tests\\java\\BasicWithLog.java","lineNumber":25,"column":17,"name":"foo","text":"\"Hello from foo i=\\{i}\"","vars":["i"]},"variables":{"i":"2"},"stack":[]} + +----- stderr ----- diff --git a/tests/snapshots/test_java__basic_with_upper.snap b/tests/snapshots/test_java__basic_with_upper_unix.snap similarity index 100% rename from tests/snapshots/test_java__basic_with_upper.snap rename to tests/snapshots/test_java__basic_with_upper_unix.snap diff --git a/tests/snapshots/test_java__basic_with_upper_windows.snap b/tests/snapshots/test_java__basic_with_upper_windows.snap new file mode 100644 index 0000000..e1fd1af --- /dev/null +++ b/tests/snapshots/test_java__basic_with_upper_windows.snap @@ -0,0 +1,19 @@ +--- +source: tests\test_java.rs +info: + program: log2src + args: + - "-d" + - tests\java\BasicWithUpper.java + - "-l" + - tests\resources\java\basic.log +--- +success: true +exit_code: 0 +----- stdout ----- +{"srcRef":{"sourcePath":"tests\\java\\BasicWithUpper.java","lineNumber":18,"column":16,"name":"main","text":"\"Hello from main\"","vars":[]},"variables":{},"stack":[]} +{"srcRef":{"sourcePath":"tests\\java\\BasicWithUpper.java","lineNumber":25,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","vars":["i"]},"variables":{"i":"0"},"stack":[]} +{"srcRef":{"sourcePath":"tests\\java\\BasicWithUpper.java","lineNumber":25,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","vars":["i"]},"variables":{"i":"1"},"stack":[]} +{"srcRef":{"sourcePath":"tests\\java\\BasicWithUpper.java","lineNumber":25,"column":20,"name":"foo","text":"\"Hello from foo i=\\{i}\"","vars":["i"]},"variables":{"i":"2"},"stack":[]} + +----- stderr ----- diff --git a/tests/snapshots/test_rust__basic.snap b/tests/snapshots/test_rust__basic_unix.snap similarity index 100% rename from tests/snapshots/test_rust__basic.snap rename to tests/snapshots/test_rust__basic_unix.snap diff --git a/tests/snapshots/test_rust__basic_windows.snap b/tests/snapshots/test_rust__basic_windows.snap new file mode 100644 index 0000000..077a704 --- /dev/null +++ b/tests/snapshots/test_rust__basic_windows.snap @@ -0,0 +1,19 @@ +--- +source: tests\test_rust.rs +info: + program: log2src + args: + - "-d" + - examples\basic.rs + - "-l" + - tests\resources\rust\basic.log +--- +success: true +exit_code: 0 +----- stdout ----- +{"srcRef":{"sourcePath":"examples\\basic.rs","lineNumber":6,"column":11,"name":"main","text":"\"Hello from main\"","vars":[]},"variables":{},"stack":[[{"sourcePath":"examples\\basic.rs","lineNumber":8,"column":8,"name":"main","text":"foo","vars":[]}]]} +{"srcRef":{"sourcePath":"examples\\basic.rs","lineNumber":13,"column":11,"name":"foo","text":"\"Hello from foo i={}\"","vars":["i"]},"variables":{"i":"0"},"stack":[[{"sourcePath":"examples\\basic.rs","lineNumber":8,"column":8,"name":"main","text":"foo","vars":[]}]]} +{"srcRef":{"sourcePath":"examples\\basic.rs","lineNumber":13,"column":11,"name":"foo","text":"\"Hello from foo i={}\"","vars":["i"]},"variables":{"i":"1"},"stack":[[{"sourcePath":"examples\\basic.rs","lineNumber":8,"column":8,"name":"main","text":"foo","vars":[]}]]} +{"srcRef":{"sourcePath":"examples\\basic.rs","lineNumber":13,"column":11,"name":"foo","text":"\"Hello from foo i={}\"","vars":["i"]},"variables":{"i":"2"},"stack":[[{"sourcePath":"examples\\basic.rs","lineNumber":8,"column":8,"name":"main","text":"foo","vars":[]}]]} + +----- stderr ----- diff --git a/tests/snapshots/test_rust__stack.snap b/tests/snapshots/test_rust__stack_unix.snap similarity index 100% rename from tests/snapshots/test_rust__stack.snap rename to tests/snapshots/test_rust__stack_unix.snap diff --git a/tests/snapshots/test_rust__stack_windows.snap b/tests/snapshots/test_rust__stack_windows.snap new file mode 100644 index 0000000..70c8c4a --- /dev/null +++ b/tests/snapshots/test_rust__stack_windows.snap @@ -0,0 +1,18 @@ +--- +source: tests\test_rust.rs +info: + program: log2src + args: + - "-d" + - examples\stack.rs + - "-l" + - tests\resources\rust\stack.log + - "-s" + - "1" +--- +success: true +exit_code: 0 +----- stdout ----- +{"srcRef":{"sourcePath":"examples\\stack.rs","lineNumber":15,"column":11,"name":"b","text":"\"Hello from b\"","vars":[]},"variables":{},"stack":[[{"sourcePath":"examples\\stack.rs","lineNumber":11,"column":4,"name":"a","text":"b","vars":[]},{"sourcePath":"examples\\stack.rs","lineNumber":7,"column":4,"name":"main","text":"a","vars":[]}]]} + +----- stderr ----- diff --git a/tests/test_java.rs b/tests/test_java.rs index 9f8085c..fba42d4 100644 --- a/tests/test_java.rs +++ b/tests/test_java.rs @@ -2,6 +2,14 @@ use assert_cmd::prelude::*; use std::{path::Path, process::Command}; use insta_cmd::assert_cmd_snapshot; +fn get_platform_suffix() -> &'static str { + if cfg!(target_os = "windows") { + "windows" + } else { + "unix" + } +} + #[test] fn basic() -> Result<(), Box> { let mut cmd = Command::cargo_bin("log2src")?; @@ -15,7 +23,8 @@ fn basic() -> Result<(), Box> { .arg("-l") .arg(basic_log.to_str().expect("test case log exists")); - assert_cmd_snapshot!(cmd); + let snapshot_name = format!("basic_{}", get_platform_suffix()); + assert_cmd_snapshot!(snapshot_name, cmd); Ok(()) } @@ -32,7 +41,8 @@ fn basic_with_log() -> Result<(), Box> { .arg("-l") .arg(basic_log.to_str().expect("test case log exists")); - assert_cmd_snapshot!(cmd); + let snapshot_name = format!("basic_with_log_{}", get_platform_suffix()); + assert_cmd_snapshot!(snapshot_name, cmd); Ok(()) } @@ -49,7 +59,8 @@ fn basic_with_upper() -> Result<(), Box> { .arg("-l") .arg(basic_log.to_str().expect("test case log exists")); - assert_cmd_snapshot!(cmd); + let snapshot_name = format!("basic_with_upper_{}", get_platform_suffix()); + assert_cmd_snapshot!(snapshot_name, cmd); Ok(()) } @@ -68,6 +79,7 @@ fn basic_with_log_format() -> Result<(), Box> { .arg("-f") .arg("^(?\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}) (?\\w+) (?[\\w$.]+):(?\\d+) (?[\\w$]+): (?.*)$"); - assert_cmd_snapshot!(cmd); + let snapshot_name = format!("basic_with_log_format_{}", get_platform_suffix()); + assert_cmd_snapshot!(snapshot_name, cmd); Ok(()) } diff --git a/tests/test_rust.rs b/tests/test_rust.rs index 2ccec2b..660f551 100644 --- a/tests/test_rust.rs +++ b/tests/test_rust.rs @@ -2,6 +2,14 @@ use assert_cmd::prelude::*; use std::{path::Path, process::Command}; use insta_cmd::assert_cmd_snapshot; +fn get_platform_suffix() -> &'static str { + if cfg!(target_os = "windows") { + "windows" + } else { + "unix" + } +} + #[test] fn basic() -> Result<(), Box> { let mut cmd = Command::cargo_bin("log2src")?; @@ -15,7 +23,8 @@ fn basic() -> Result<(), Box> { .arg("-l") .arg(log.to_str().expect("test case log path is valid")); - assert_cmd_snapshot!(cmd); + let snapshot_name = format!("basic_{}", get_platform_suffix()); + assert_cmd_snapshot!(snapshot_name, cmd); Ok(()) } @@ -35,6 +44,7 @@ fn stack() -> Result<(), Box> { .arg("-s") .arg("1"); - assert_cmd_snapshot!(cmd); + let snapshot_name = format!("stack_{}", get_platform_suffix()); + assert_cmd_snapshot!(snapshot_name, cmd); Ok(()) }