From c9edccb3c7d96a4b98290eb29506b58ed5325dc4 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Mon, 27 May 2024 18:57:41 -0500 Subject: [PATCH 1/4] chore: Upgrade to snapbox 0.5.14 --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 17e6648..05db1ff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1088,9 +1088,9 @@ checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf" [[package]] name = "snapbox" -version = "0.5.9" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ac441e1ecf678f68423d47f376d53fabce1afba92c8f68e31508eb27df8562a" +checksum = "f37d101fcafc8e73748fd8a1b7048f5979f93d372fd17027d7724c1643bc379b" dependencies = [ "anstream", "anstyle", @@ -1110,9 +1110,9 @@ dependencies = [ [[package]] name = "snapbox-macros" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1c4b838b05d15ab22754068cb73500b2f3b07bf09d310e15b27f88160f1de40" +checksum = "b1f4c14672714436c09254801c934b203196a51182a5107fb76591c7cc56424d" dependencies = [ "anstream", ] diff --git a/Cargo.toml b/Cargo.toml index 83c5dac..a7096f2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -145,7 +145,7 @@ shlex = "1.3.0" [dev-dependencies] git-fixture = { version = "0.3.4", features = ["yaml"] } assert_fs = "1.1.1" -snapbox = { version = "0.5.9", features = ["cmd", "path"] } +snapbox = { version = "0.5.14", features = ["cmd", "path"] } automod = "1.0.14" [profile.dev] From c4123d87d8b7a659a2896762f345781961621cb6 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Mon, 27 May 2024 19:33:09 -0500 Subject: [PATCH 2/4] refactor: Resolve deprecations --- Cargo.toml | 2 +- tests/testsuite/alias.rs | 247 +++++++++++++++------------------- tests/testsuite/amend.rs | 276 +++++++++++++++++++------------------- tests/testsuite/reword.rs | 92 +++++++------ 4 files changed, 289 insertions(+), 328 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index a7096f2..7b47cf0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -145,7 +145,7 @@ shlex = "1.3.0" [dev-dependencies] git-fixture = { version = "0.3.4", features = ["yaml"] } assert_fs = "1.1.1" -snapbox = { version = "0.5.14", features = ["cmd", "path"] } +snapbox = { version = "0.5.14", features = ["cmd", "dir"] } automod = "1.0.14" [profile.dev] diff --git a/tests/testsuite/alias.rs b/tests/testsuite/alias.rs index df7e8b0..56a3cd3 100644 --- a/tests/testsuite/alias.rs +++ b/tests/testsuite/alias.rs @@ -1,9 +1,12 @@ // Not correctly overriding on Windows #![cfg(target_os = "linux")] +use snapbox::prelude::*; +use snapbox::str; + #[test] fn list_no_config() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let home_root = root_path.join("home"); @@ -18,29 +21,25 @@ fn list_no_config() { .env("HOME", &home_root) .assert() .success() - .stdout_eq( - "\ -[alias] -# next = stack next # unregistered -# prev = stack previous # unregistered -# reword = stack reword # unregistered -# amend = stack amend # unregistered -# sync = stack sync # unregistered -# run = stack run # unregistered -", - ) - .stderr_matches( - "\ -note: To register, pass `--register` -", - ); + .stdout_eq_(str![[r#" + [alias] + # next = stack next # unregistered + # prev = stack previous # unregistered + # reword = stack reword # unregistered + # amend = stack amend # unregistered + # sync = stack sync # unregistered + # run = stack run # unregistered + "#]].raw()) + .stderr_eq_(str![[r#" + note: To register, pass `--register` + "#]]); root.close().unwrap(); } #[test] fn list_global_config() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let home_root = root_path.join("home"); @@ -63,29 +62,25 @@ fn list_global_config() { .env("HOME", &home_root) .assert() .success() - .stdout_eq( - "\ -[alias] - next = foo # instead of `stack next` -# prev = stack previous # unregistered -# reword = stack reword # unregistered -# amend = stack amend # unregistered -# sync = stack sync # unregistered -# run = stack run # unregistered -", - ) - .stderr_matches( - "\ -note: To register, pass `--register` -", - ); + .stdout_eq_(str![[r#" + [alias] + next = foo # instead of `stack next` + # prev = stack previous # unregistered + # reword = stack reword # unregistered + # amend = stack amend # unregistered + # sync = stack sync # unregistered + # run = stack run # unregistered + "#]].raw()) + .stderr_eq_(str![[r#" + note: To register, pass `--register` + "#]]); root.close().unwrap(); } #[test] fn register_no_config() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let home_root = root_path.join("home"); @@ -101,19 +96,15 @@ fn register_no_config() { .env("HOME", &home_root) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_matches( - r#"Registering: next="stack next" -Registering: prev="stack previous" -Registering: reword="stack reword" -Registering: amend="stack amend" -Registering: sync="stack sync" -Registering: run="stack run" -"#, - ); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![[r#" + Registering: next="stack next" + Registering: prev="stack previous" + Registering: reword="stack reword" + Registering: amend="stack amend" + Registering: sync="stack sync" + Registering: run="stack run" + "#]]); snapbox::cmd::Command::new(snapbox::cmd::cargo_bin!("git-stack")) .arg("alias") @@ -121,29 +112,25 @@ Registering: run="stack run" .env("HOME", &home_root) .assert() .success() - .stdout_eq( - "\ -[alias] - next = stack next # registered - prev = stack previous # registered - reword = stack reword # registered - amend = stack amend # registered - sync = stack sync # registered - run = stack run # registered -", - ) - .stderr_matches( - "\ -note: To unregister, pass `--unregister` -", - ); + .stdout_eq_(str![[r#" + [alias] + next = stack next # registered + prev = stack previous # registered + reword = stack reword # registered + amend = stack amend # registered + sync = stack sync # registered + run = stack run # registered + "#]].raw()) + .stderr_eq_(str![[r#" + note: To unregister, pass `--unregister` + "#]]); root.close().unwrap(); } #[test] fn register_no_overwrite_alias() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let home_root = root_path.join("home"); @@ -168,18 +155,14 @@ fn register_no_overwrite_alias() { .env("HOME", &home_root) .assert() .failure() - .stdout_eq( - "\ -", - ) - .stderr_matches( - r#"error: next="foo" is registered, not overwriting with "stack next" -Registering: reword="stack reword" -Registering: amend="stack amend" -Registering: sync="stack sync" -Registering: run="stack run" -"#, - ); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![[r#" + error: next="foo" is registered, not overwriting with "stack next" + Registering: reword="stack reword" + Registering: amend="stack amend" + Registering: sync="stack sync" + Registering: run="stack run" + "#]]); snapbox::cmd::Command::new(snapbox::cmd::cargo_bin!("git-stack")) .arg("alias") @@ -187,28 +170,25 @@ Registering: run="stack run" .env("HOME", &home_root) .assert() .success() - .stdout_eq( - r#"[alias] - next = foo # instead of `stack next` - prev = stack previous -v # diverged from "stack previous" - reword = stack reword # registered - amend = stack amend # registered - sync = stack sync # registered - run = stack run # registered -"#, - ) - .stderr_matches( - "\ -note: To unregister, pass `--unregister` -", - ); + .stdout_eq_(str![[r#" + [alias] + next = foo # instead of `stack next` + prev = stack previous -v # diverged from "stack previous" + reword = stack reword # registered + amend = stack amend # registered + sync = stack sync # registered + run = stack run # registered + "#]].raw()) + .stderr_eq_(str![[r#" + note: To unregister, pass `--unregister` + "#]]); root.close().unwrap(); } #[test] fn register_unregister() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let home_root = root_path.join("home"); @@ -232,23 +212,22 @@ fn register_unregister() { .env("HOME", &home_root) .assert() .success() - .stdout_matches("") - .stderr_matches( - r#"Unregistering: next="stack next" -Unregistering: prev="stack previous" -Unregistering: reword="stack reword" -Unregistering: amend="stack amend" -Unregistering: sync="stack sync" -Unregistering: run="stack run" -"#, - ); + .stdout_eq_(str![]) + .stderr_eq_(str![[r#" + Unregistering: next="stack next" + Unregistering: prev="stack previous" + Unregistering: reword="stack reword" + Unregistering: amend="stack amend" + Unregistering: sync="stack sync" + Unregistering: run="stack run" + "#]]); root.close().unwrap(); } #[test] fn reregister() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let home_root = root_path.join("home"); @@ -272,18 +251,15 @@ fn reregister() { .env("HOME", &home_root) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_matches(r#""#); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![]); root.close().unwrap(); } #[test] fn unregister_no_config() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let home_root = root_path.join("home"); @@ -299,18 +275,15 @@ fn unregister_no_config() { .env("HOME", &home_root) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_matches(r#""#); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![]); root.close().unwrap(); } #[test] fn unregister_existing_config() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let home_root = root_path.join("home"); @@ -336,15 +309,11 @@ fn unregister_existing_config() { .env("HOME", &home_root) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_matches( - r#"Unregistering: prev="stack previous -v" -Unregistering: reword="stack reword" -"#, - ); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![[r#" + Unregistering: prev="stack previous -v" + Unregistering: reword="stack reword" + "#]]); snapbox::cmd::Command::new(snapbox::cmd::cargo_bin!("git-stack")) .arg("alias") @@ -352,22 +321,18 @@ Unregistering: reword="stack reword" .env("HOME", &home_root) .assert() .success() - .stdout_eq( - "\ -[alias] - next = foo # instead of `stack next` -# prev = stack previous # unregistered -# reword = stack reword # unregistered -# amend = stack amend # unregistered -# sync = stack sync # unregistered -# run = stack run # unregistered -", - ) - .stderr_matches( - "\ -note: To register, pass `--register` -", - ); + .stdout_eq_(str![[r#" + [alias] + next = foo # instead of `stack next` + # prev = stack previous # unregistered + # reword = stack reword # unregistered + # amend = stack amend # unregistered + # sync = stack sync # unregistered + # run = stack run # unregistered + "#]].raw()) + .stderr_eq_(str![[r#" + note: To register, pass `--register` + "#]]); root.close().unwrap(); } diff --git a/tests/testsuite/amend.rs b/tests/testsuite/amend.rs index 89c4d83..ab2418a 100644 --- a/tests/testsuite/amend.rs +++ b/tests/testsuite/amend.rs @@ -1,8 +1,11 @@ use bstr::ByteSlice as _; +use snapbox::assert_data_eq; +use snapbox::prelude::*; +use snapbox::str; #[test] fn amend_noop() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -49,27 +52,25 @@ fn amend_noop() { .current_dir(root_path) .assert() .failure() - .stdout_eq( - "\ -", - ) - .stderr_matches( - "\ -error: nothing to amend to [..]: C -", - ); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![[r#" + error: nothing to amend to [..]: C + "#]]); let new_head_id = repo.head_commit().id; assert_eq!(old_head_id, new_head_id); - snapbox::assert_eq(std::fs::read(root_path.join("a")).unwrap(), "unstaged a"); + assert_data_eq!( + std::fs::read(root_path.join("a")).unwrap(), + str!["unstaged a"].raw() + ); root.close().unwrap(); } #[test] fn reword_protected_fails() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -100,27 +101,28 @@ fn reword_protected_fails() { .current_dir(root_path) .assert() .failure() - .stdout_eq( - "\ -", - ) - .stderr_eq( - "\ -cannot amend protected commits -", + .stdout_eq_(str![].raw()) + .stderr_eq_( + str![[r#" + cannot amend protected commits + "#]] + .raw(), ); let new_head_id = repo.head_commit().id; assert_eq!(old_head_id, new_head_id); - snapbox::assert_eq(std::fs::read(root_path.join("a")).unwrap(), "unstaged a"); + assert_data_eq!( + std::fs::read(root_path.join("a")).unwrap(), + str!["unstaged a"].raw() + ); root.close().unwrap(); } #[test] fn reword() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -168,30 +170,28 @@ fn reword() { .current_dir(root_path) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_matches( - "\ -Saved working directory and index state WIP on target (amend): [..] -Amended to [..]: C -Dropped refs/stash [..] -note: to undo, run `git branch-stash pop git-stack` -", - ); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![[r#" + Saved working directory and index state WIP on target (amend): [..] + Amended to [..]: C + Dropped refs/stash [..] + note: to undo, run `git branch-stash pop git-stack` + "#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); - snapbox::assert_eq(std::fs::read(root_path.join("a")).unwrap(), "unstaged a"); + assert_data_eq!( + std::fs::read(root_path.join("a")).unwrap(), + str!["unstaged a"].raw() + ); root.close().unwrap(); } #[test] fn reword_rebases() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -241,34 +241,35 @@ fn reword_rebases() { .current_dir(root_path) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_matches( - "\ -Saved working directory and index state WIP on local (amend): [..] -Amended to [..]: B -Dropped refs/stash [..] -note: to undo, run `git branch-stash pop git-stack` -", - ); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![[r#" + Saved working directory and index state WIP on local (amend): [..] + Amended to [..]: B + Dropped refs/stash [..] + note: to undo, run `git branch-stash pop git-stack` + "#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); let local_branch = repo.find_local_branch("local").unwrap(); let local_commit = repo.find_commit(local_branch.id).unwrap(); - snapbox::assert_eq(local_commit.summary.to_str_lossy().into_owned(), "C"); + assert_data_eq!( + local_commit.summary.to_str_lossy().into_owned(), + str!["C"].raw() + ); - snapbox::assert_eq(std::fs::read(root_path.join("a")).unwrap(), "unstaged a"); + assert_data_eq!( + std::fs::read(root_path.join("a")).unwrap(), + str!["unstaged a"].raw() + ); root.close().unwrap(); } #[test] fn amend_add() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -316,17 +317,12 @@ fn amend_add() { .current_dir(root_path) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_matches( - "\ -Adding c -Amended to [..]: C -note: to undo, run `git branch-stash pop git-stack` -", - ); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![[r#" + Adding c + Amended to [..]: C + note: to undo, run `git branch-stash pop git-stack` + "#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); @@ -336,7 +332,7 @@ note: to undo, run `git branch-stash pop git-stack` #[test] fn amend_staged() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -390,30 +386,28 @@ fn amend_staged() { .current_dir(root_path) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_matches( - "\ -Saved working directory and index state WIP on target (amend): [..] -Amended to [..]: C -Dropped refs/stash [..] -note: to undo, run `git branch-stash pop git-stack` -", - ); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![[r#" + Saved working directory and index state WIP on target (amend): [..] + Amended to [..]: C + Dropped refs/stash [..] + note: to undo, run `git branch-stash pop git-stack` + "#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); - snapbox::assert_eq(std::fs::read(root_path.join("a")).unwrap(), "unstaged a"); + assert_data_eq!( + std::fs::read(root_path.join("a")).unwrap(), + str!["unstaged a"].raw() + ); root.close().unwrap(); } #[test] fn amend_detached() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -468,34 +462,35 @@ fn amend_detached() { .current_dir(root_path) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_matches( - "\ -Saved working directory and index state WIP on HEAD (amend): [..] -Amended to [..]: B -Dropped refs/stash [..] -note: to undo, run `git branch-stash pop git-stack` -", - ); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![[r#" + Saved working directory and index state WIP on HEAD (amend): [..] + Amended to [..]: B + Dropped refs/stash [..] + note: to undo, run `git branch-stash pop git-stack` + "#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); let local_branch = repo.find_local_branch("local").unwrap(); let local_commit = repo.find_commit(local_branch.id).unwrap(); - snapbox::assert_eq(local_commit.summary.to_str_lossy().into_owned(), "C"); + assert_data_eq!( + local_commit.summary.to_str_lossy().into_owned(), + str!["C"].raw() + ); - snapbox::assert_eq(std::fs::read(root_path.join("a")).unwrap(), "unstaged a"); + assert_data_eq!( + std::fs::read(root_path.join("a")).unwrap(), + str!["unstaged a"].raw() + ); root.close().unwrap(); } #[test] fn amend_explicit_head() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -550,30 +545,28 @@ fn amend_explicit_head() { .current_dir(root_path) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_matches( - "\ -Saved working directory and index state WIP on target (amend): [..] -Amended to [..]: C -Dropped refs/stash [..] -note: to undo, run `git branch-stash pop git-stack` -", - ); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![[r#" + Saved working directory and index state WIP on target (amend): [..] + Amended to [..]: C + Dropped refs/stash [..] + note: to undo, run `git branch-stash pop git-stack` + "#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); - snapbox::assert_eq(std::fs::read(root_path.join("a")).unwrap(), "unstaged a"); + assert_data_eq!( + std::fs::read(root_path.join("a")).unwrap(), + str!["unstaged a"] + ); root.close().unwrap(); } #[test] fn amend_ancestor() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -629,34 +622,35 @@ fn amend_ancestor() { .current_dir(root_path) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_matches( - "\ -Saved working directory and index state WIP on local (amend): [..] -Amended to [..]: B -Dropped refs/stash [..] -note: to undo, run `git branch-stash pop git-stack` -", - ); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![[r#" + Saved working directory and index state WIP on local (amend): [..] + Amended to [..]: B + Dropped refs/stash [..] + note: to undo, run `git branch-stash pop git-stack` + "#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); let local_branch = repo.find_local_branch("local").unwrap(); let local_commit = repo.find_commit(local_branch.id).unwrap(); - snapbox::assert_eq(local_commit.summary.to_str_lossy().into_owned(), "C"); + assert_data_eq!( + local_commit.summary.to_str_lossy().into_owned(), + str!["C"].raw() + ); - snapbox::assert_eq(std::fs::read(root_path.join("a")).unwrap(), "unstaged a"); + assert_data_eq!( + std::fs::read(root_path.join("a")).unwrap(), + str!["unstaged a"].raw() + ); root.close().unwrap(); } #[test] fn amend_conflict() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -712,31 +706,35 @@ fn amend_conflict() { .current_dir(root_path) .assert() .failure() - .stdout_eq( - "\ -", - ) - .stderr_matches( - "\ -Saved working directory and index state WIP on local (amend): [..] -ERROR: Failed to re-stack branch `local`: squash conflicts: - c -; class=Index (10); code=Unmerged (-10) -Dropped refs/stash [..] -note: to undo, run `git branch-stash pop git-stack` -", - ); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![[r#" + Saved working directory and index state WIP on local (amend): [..] + ERROR: Failed to re-stack branch `local`: squash conflicts: + c + ; class=Index (10); code=Unmerged (-10) + Dropped refs/stash [..] + note: to undo, run `git branch-stash pop git-stack` + "#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); - snapbox::assert_eq(repo.head_commit().summary.to_str().unwrap(), "fixup! B"); + assert_data_eq!( + repo.head_commit().summary.to_str().unwrap(), + str!["fixup! B"].raw() + ); let local_branch = repo.find_local_branch("local").unwrap(); let local_commit = repo.find_commit(local_branch.id).unwrap(); - snapbox::assert_eq(local_commit.summary.to_str_lossy().into_owned(), "fixup! B"); - - snapbox::assert_eq(std::fs::read(root_path.join("a")).unwrap(), "unstaged a"); + assert_data_eq!( + local_commit.summary.to_str_lossy().into_owned(), + str!["fixup! B"].raw() + ); + + assert_data_eq!( + std::fs::read(root_path.join("a")).unwrap(), + str!["unstaged a"].raw() + ); root.close().unwrap(); } diff --git a/tests/testsuite/reword.rs b/tests/testsuite/reword.rs index 6d4da0d..d09d457 100644 --- a/tests/testsuite/reword.rs +++ b/tests/testsuite/reword.rs @@ -1,8 +1,11 @@ use bstr::ByteSlice; +use snapbox::assert_data_eq; +use snapbox::prelude::*; +use snapbox::str; #[test] fn reword_protected_fails() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -31,14 +34,12 @@ fn reword_protected_fails() { .current_dir(root_path) .assert() .failure() - .stdout_eq( - "\ -", - ) - .stderr_eq( - "\ -cannot reword protected commits -", + .stdout_eq_(str![].raw()) + .stderr_eq_( + str![[r#" + cannot reword protected commits + "#]] + .raw(), ); let new_head_id = repo.head_commit().id; @@ -47,7 +48,7 @@ cannot reword protected commits #[test] fn reword_implicit_head() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -87,7 +88,7 @@ fn reword_implicit_head() { let branch = repo.find_local_branch("target").unwrap(); let commit = repo.find_commit(branch.id).unwrap(); - snapbox::assert_eq(commit.summary.to_str().unwrap(), "C"); + assert_data_eq!(commit.summary.to_str().unwrap(), str!["C"].raw()); let old_head_id = repo.head_commit().id; @@ -97,19 +98,17 @@ fn reword_implicit_head() { .current_dir(root_path) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_eq( - "\ -note: to undo, run `git branch-stash pop git-stack` -", + .stdout_eq_(str![].raw()) + .stderr_eq_( + str![[r#" + note: to undo, run `git branch-stash pop git-stack` + "#]] + .raw(), ); let branch = repo.find_local_branch("target").unwrap(); let commit = repo.find_commit(branch.id).unwrap(); - snapbox::assert_eq(commit.summary.to_str().unwrap(), "new C"); + assert_data_eq!(commit.summary.to_str().unwrap(), str!["new C"].raw()); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); @@ -119,7 +118,7 @@ note: to undo, run `git branch-stash pop git-stack` #[test] fn reword_explicit_head() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -159,7 +158,7 @@ fn reword_explicit_head() { let branch = repo.find_local_branch("target").unwrap(); let commit = repo.find_commit(branch.id).unwrap(); - snapbox::assert_eq(commit.summary.to_str().unwrap(), "C"); + assert_data_eq!(commit.summary.to_str().unwrap(), str!["C"].raw()); let old_head_id = repo.head_commit().id; @@ -170,19 +169,17 @@ fn reword_explicit_head() { .current_dir(root_path) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_eq( - "\ -note: to undo, run `git branch-stash pop git-stack` -", + .stdout_eq_(str![].raw()) + .stderr_eq_( + str![[r#" + note: to undo, run `git branch-stash pop git-stack` + "#]] + .raw(), ); let branch = repo.find_local_branch("target").unwrap(); let commit = repo.find_commit(branch.id).unwrap(); - snapbox::assert_eq(commit.summary.to_str().unwrap(), "new C"); + assert_data_eq!(commit.summary.to_str().unwrap(), str!["new C"].raw()); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); @@ -192,7 +189,7 @@ note: to undo, run `git branch-stash pop git-stack` #[test] fn reword_branch() { - let root = snapbox::path::PathFixture::mutable_temp().unwrap(); + let root = snapbox::dir::DirRoot::mutable_temp().unwrap(); let root_path = root.path().unwrap(); let plan = git_fixture::TodoList { commands: vec![ @@ -233,7 +230,7 @@ fn reword_branch() { let branch = repo.find_local_branch("target").unwrap(); let commit = repo.find_commit(branch.id).unwrap(); - snapbox::assert_eq(commit.summary.to_str().unwrap(), "B"); + assert_data_eq!(commit.summary.to_str().unwrap(), str!["B"].raw()); let old_head_id = repo.head_commit().id; @@ -246,30 +243,31 @@ fn reword_branch() { .current_dir(root_path) .assert() .success() - .stdout_eq( - "\ -", - ) - .stderr_matches( - "\ -Saved working directory and index state WIP on local (reword): [..] -Dropped refs/stash [..] -note: to undo, run `git branch-stash pop git-stack` -", - ); + .stdout_eq_(str![].raw()) + .stderr_eq_(str![[r#" + Saved working directory and index state WIP on local (reword): [..] + Dropped refs/stash [..] + note: to undo, run `git branch-stash pop git-stack` + "#]]); let branch = repo.find_local_branch("target").unwrap(); let commit = repo.find_commit(branch.id).unwrap(); - snapbox::assert_eq(commit.summary.to_str().unwrap(), "new B"); + assert_data_eq!(commit.summary.to_str().unwrap(), str!["new B"].raw()); let local_branch = repo.find_local_branch("local").unwrap(); let local_commit = repo.find_commit(local_branch.id).unwrap(); - snapbox::assert_eq(local_commit.summary.to_str_lossy().into_owned(), "C"); + assert_data_eq!( + local_commit.summary.to_str_lossy().into_owned(), + str!["C"].raw() + ); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); - snapbox::assert_eq(std::fs::read(root_path.join("a")).unwrap(), "unstaged a"); + assert_data_eq!( + std::fs::read(root_path.join("a")).unwrap(), + str!["unstaged a"].raw() + ); root.close().unwrap(); } From 20a12b652ef85678a8faa654a73a138fd2bd3d9f Mon Sep 17 00:00:00 2001 From: Ed Page Date: Mon, 27 May 2024 19:36:30 -0500 Subject: [PATCH 3/4] chore: Upgrade snapbox to 0.6 --- Cargo.lock | 4 +- Cargo.toml | 2 +- tests/testsuite/alias.rs | 160 +++++++++++++++++++++----------------- tests/testsuite/amend.rs | 100 +++++++++++++----------- tests/testsuite/reword.rs | 24 +++--- 5 files changed, 159 insertions(+), 131 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 05db1ff..894d760 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1088,9 +1088,9 @@ checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf" [[package]] name = "snapbox" -version = "0.5.14" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f37d101fcafc8e73748fd8a1b7048f5979f93d372fd17027d7724c1643bc379b" +checksum = "9ad8c7be18cc9ec7f4d7948ad6b9df0e04fc649663e3c0ed59f304ed17ca69e9" dependencies = [ "anstream", "anstyle", diff --git a/Cargo.toml b/Cargo.toml index 7b47cf0..ae53af4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -145,7 +145,7 @@ shlex = "1.3.0" [dev-dependencies] git-fixture = { version = "0.3.4", features = ["yaml"] } assert_fs = "1.1.1" -snapbox = { version = "0.5.14", features = ["cmd", "dir"] } +snapbox = { version = "0.6.0", features = ["cmd", "dir"] } automod = "1.0.14" [profile.dev] diff --git a/tests/testsuite/alias.rs b/tests/testsuite/alias.rs index 56a3cd3..9939b54 100644 --- a/tests/testsuite/alias.rs +++ b/tests/testsuite/alias.rs @@ -22,17 +22,19 @@ fn list_no_config() { .assert() .success() .stdout_eq_(str![[r#" - [alias] - # next = stack next # unregistered - # prev = stack previous # unregistered - # reword = stack reword # unregistered - # amend = stack amend # unregistered - # sync = stack sync # unregistered - # run = stack run # unregistered - "#]].raw()) +[alias] +# next = stack next # unregistered +# prev = stack previous # unregistered +# reword = stack reword # unregistered +# amend = stack amend # unregistered +# sync = stack sync # unregistered +# run = stack run # unregistered + +"#]].raw()) .stderr_eq_(str![[r#" - note: To register, pass `--register` - "#]]); +note: To register, pass `--register` + +"#]]); root.close().unwrap(); } @@ -63,17 +65,19 @@ fn list_global_config() { .assert() .success() .stdout_eq_(str![[r#" - [alias] - next = foo # instead of `stack next` - # prev = stack previous # unregistered - # reword = stack reword # unregistered - # amend = stack amend # unregistered - # sync = stack sync # unregistered - # run = stack run # unregistered - "#]].raw()) +[alias] + next = foo # instead of `stack next` +# prev = stack previous # unregistered +# reword = stack reword # unregistered +# amend = stack amend # unregistered +# sync = stack sync # unregistered +# run = stack run # unregistered + +"#]].raw()) .stderr_eq_(str![[r#" - note: To register, pass `--register` - "#]]); +note: To register, pass `--register` + +"#]]); root.close().unwrap(); } @@ -98,13 +102,14 @@ fn register_no_config() { .success() .stdout_eq_(str![].raw()) .stderr_eq_(str![[r#" - Registering: next="stack next" - Registering: prev="stack previous" - Registering: reword="stack reword" - Registering: amend="stack amend" - Registering: sync="stack sync" - Registering: run="stack run" - "#]]); +Registering: next="stack next" +Registering: prev="stack previous" +Registering: reword="stack reword" +Registering: amend="stack amend" +Registering: sync="stack sync" +Registering: run="stack run" + +"#]]); snapbox::cmd::Command::new(snapbox::cmd::cargo_bin!("git-stack")) .arg("alias") @@ -113,17 +118,19 @@ fn register_no_config() { .assert() .success() .stdout_eq_(str![[r#" - [alias] - next = stack next # registered - prev = stack previous # registered - reword = stack reword # registered - amend = stack amend # registered - sync = stack sync # registered - run = stack run # registered - "#]].raw()) +[alias] + next = stack next # registered + prev = stack previous # registered + reword = stack reword # registered + amend = stack amend # registered + sync = stack sync # registered + run = stack run # registered + +"#]].raw()) .stderr_eq_(str![[r#" - note: To unregister, pass `--unregister` - "#]]); +note: To unregister, pass `--unregister` + +"#]]); root.close().unwrap(); } @@ -157,12 +164,13 @@ fn register_no_overwrite_alias() { .failure() .stdout_eq_(str![].raw()) .stderr_eq_(str![[r#" - error: next="foo" is registered, not overwriting with "stack next" - Registering: reword="stack reword" - Registering: amend="stack amend" - Registering: sync="stack sync" - Registering: run="stack run" - "#]]); +error: next="foo" is registered, not overwriting with "stack next" +Registering: reword="stack reword" +Registering: amend="stack amend" +Registering: sync="stack sync" +Registering: run="stack run" + +"#]]); snapbox::cmd::Command::new(snapbox::cmd::cargo_bin!("git-stack")) .arg("alias") @@ -171,17 +179,19 @@ fn register_no_overwrite_alias() { .assert() .success() .stdout_eq_(str![[r#" - [alias] - next = foo # instead of `stack next` - prev = stack previous -v # diverged from "stack previous" - reword = stack reword # registered - amend = stack amend # registered - sync = stack sync # registered - run = stack run # registered - "#]].raw()) +[alias] + next = foo # instead of `stack next` + prev = stack previous -v # diverged from "stack previous" + reword = stack reword # registered + amend = stack amend # registered + sync = stack sync # registered + run = stack run # registered + +"#]].raw()) .stderr_eq_(str![[r#" - note: To unregister, pass `--unregister` - "#]]); +note: To unregister, pass `--unregister` + +"#]]); root.close().unwrap(); } @@ -214,13 +224,14 @@ fn register_unregister() { .success() .stdout_eq_(str![]) .stderr_eq_(str![[r#" - Unregistering: next="stack next" - Unregistering: prev="stack previous" - Unregistering: reword="stack reword" - Unregistering: amend="stack amend" - Unregistering: sync="stack sync" - Unregistering: run="stack run" - "#]]); +Unregistering: next="stack next" +Unregistering: prev="stack previous" +Unregistering: reword="stack reword" +Unregistering: amend="stack amend" +Unregistering: sync="stack sync" +Unregistering: run="stack run" + +"#]]); root.close().unwrap(); } @@ -311,9 +322,10 @@ fn unregister_existing_config() { .success() .stdout_eq_(str![].raw()) .stderr_eq_(str![[r#" - Unregistering: prev="stack previous -v" - Unregistering: reword="stack reword" - "#]]); +Unregistering: prev="stack previous -v" +Unregistering: reword="stack reword" + +"#]]); snapbox::cmd::Command::new(snapbox::cmd::cargo_bin!("git-stack")) .arg("alias") @@ -322,17 +334,19 @@ fn unregister_existing_config() { .assert() .success() .stdout_eq_(str![[r#" - [alias] - next = foo # instead of `stack next` - # prev = stack previous # unregistered - # reword = stack reword # unregistered - # amend = stack amend # unregistered - # sync = stack sync # unregistered - # run = stack run # unregistered - "#]].raw()) +[alias] + next = foo # instead of `stack next` +# prev = stack previous # unregistered +# reword = stack reword # unregistered +# amend = stack amend # unregistered +# sync = stack sync # unregistered +# run = stack run # unregistered + +"#]].raw()) .stderr_eq_(str![[r#" - note: To register, pass `--register` - "#]]); +note: To register, pass `--register` + +"#]]); root.close().unwrap(); } diff --git a/tests/testsuite/amend.rs b/tests/testsuite/amend.rs index ab2418a..dc4153a 100644 --- a/tests/testsuite/amend.rs +++ b/tests/testsuite/amend.rs @@ -54,8 +54,9 @@ fn amend_noop() { .failure() .stdout_eq_(str![].raw()) .stderr_eq_(str![[r#" - error: nothing to amend to [..]: C - "#]]); +error: nothing to amend to [..]: C + +"#]]); let new_head_id = repo.head_commit().id; assert_eq!(old_head_id, new_head_id); @@ -104,8 +105,9 @@ fn reword_protected_fails() { .stdout_eq_(str![].raw()) .stderr_eq_( str![[r#" - cannot amend protected commits - "#]] +cannot amend protected commits + +"#]] .raw(), ); @@ -172,11 +174,12 @@ fn reword() { .success() .stdout_eq_(str![].raw()) .stderr_eq_(str![[r#" - Saved working directory and index state WIP on target (amend): [..] - Amended to [..]: C - Dropped refs/stash [..] - note: to undo, run `git branch-stash pop git-stack` - "#]]); +Saved working directory and index state WIP on target (amend): [..] +Amended to [..]: C +Dropped refs/stash [..] +note: to undo, run `git branch-stash pop git-stack` + +"#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); @@ -243,11 +246,12 @@ fn reword_rebases() { .success() .stdout_eq_(str![].raw()) .stderr_eq_(str![[r#" - Saved working directory and index state WIP on local (amend): [..] - Amended to [..]: B - Dropped refs/stash [..] - note: to undo, run `git branch-stash pop git-stack` - "#]]); +Saved working directory and index state WIP on local (amend): [..] +Amended to [..]: B +Dropped refs/stash [..] +note: to undo, run `git branch-stash pop git-stack` + +"#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); @@ -319,10 +323,11 @@ fn amend_add() { .success() .stdout_eq_(str![].raw()) .stderr_eq_(str![[r#" - Adding c - Amended to [..]: C - note: to undo, run `git branch-stash pop git-stack` - "#]]); +Adding c +Amended to [..]: C +note: to undo, run `git branch-stash pop git-stack` + +"#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); @@ -388,11 +393,12 @@ fn amend_staged() { .success() .stdout_eq_(str![].raw()) .stderr_eq_(str![[r#" - Saved working directory and index state WIP on target (amend): [..] - Amended to [..]: C - Dropped refs/stash [..] - note: to undo, run `git branch-stash pop git-stack` - "#]]); +Saved working directory and index state WIP on target (amend): [..] +Amended to [..]: C +Dropped refs/stash [..] +note: to undo, run `git branch-stash pop git-stack` + +"#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); @@ -464,11 +470,12 @@ fn amend_detached() { .success() .stdout_eq_(str![].raw()) .stderr_eq_(str![[r#" - Saved working directory and index state WIP on HEAD (amend): [..] - Amended to [..]: B - Dropped refs/stash [..] - note: to undo, run `git branch-stash pop git-stack` - "#]]); +Saved working directory and index state WIP on HEAD (amend): [..] +Amended to [..]: B +Dropped refs/stash [..] +note: to undo, run `git branch-stash pop git-stack` + +"#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); @@ -547,11 +554,12 @@ fn amend_explicit_head() { .success() .stdout_eq_(str![].raw()) .stderr_eq_(str![[r#" - Saved working directory and index state WIP on target (amend): [..] - Amended to [..]: C - Dropped refs/stash [..] - note: to undo, run `git branch-stash pop git-stack` - "#]]); +Saved working directory and index state WIP on target (amend): [..] +Amended to [..]: C +Dropped refs/stash [..] +note: to undo, run `git branch-stash pop git-stack` + +"#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); @@ -624,11 +632,12 @@ fn amend_ancestor() { .success() .stdout_eq_(str![].raw()) .stderr_eq_(str![[r#" - Saved working directory and index state WIP on local (amend): [..] - Amended to [..]: B - Dropped refs/stash [..] - note: to undo, run `git branch-stash pop git-stack` - "#]]); +Saved working directory and index state WIP on local (amend): [..] +Amended to [..]: B +Dropped refs/stash [..] +note: to undo, run `git branch-stash pop git-stack` + +"#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); @@ -708,13 +717,14 @@ fn amend_conflict() { .failure() .stdout_eq_(str![].raw()) .stderr_eq_(str![[r#" - Saved working directory and index state WIP on local (amend): [..] - ERROR: Failed to re-stack branch `local`: squash conflicts: - c - ; class=Index (10); code=Unmerged (-10) - Dropped refs/stash [..] - note: to undo, run `git branch-stash pop git-stack` - "#]]); +Saved working directory and index state WIP on local (amend): [..] +ERROR: Failed to re-stack branch `local`: squash conflicts: + c +; class=Index (10); code=Unmerged (-10) +Dropped refs/stash [..] +note: to undo, run `git branch-stash pop git-stack` + +"#]]); let new_head_id = repo.head_commit().id; assert_ne!(old_head_id, new_head_id); diff --git a/tests/testsuite/reword.rs b/tests/testsuite/reword.rs index d09d457..52c48f0 100644 --- a/tests/testsuite/reword.rs +++ b/tests/testsuite/reword.rs @@ -37,8 +37,9 @@ fn reword_protected_fails() { .stdout_eq_(str![].raw()) .stderr_eq_( str![[r#" - cannot reword protected commits - "#]] +cannot reword protected commits + +"#]] .raw(), ); @@ -101,8 +102,9 @@ fn reword_implicit_head() { .stdout_eq_(str![].raw()) .stderr_eq_( str![[r#" - note: to undo, run `git branch-stash pop git-stack` - "#]] +note: to undo, run `git branch-stash pop git-stack` + +"#]] .raw(), ); @@ -172,8 +174,9 @@ fn reword_explicit_head() { .stdout_eq_(str![].raw()) .stderr_eq_( str![[r#" - note: to undo, run `git branch-stash pop git-stack` - "#]] +note: to undo, run `git branch-stash pop git-stack` + +"#]] .raw(), ); @@ -245,10 +248,11 @@ fn reword_branch() { .success() .stdout_eq_(str![].raw()) .stderr_eq_(str![[r#" - Saved working directory and index state WIP on local (reword): [..] - Dropped refs/stash [..] - note: to undo, run `git branch-stash pop git-stack` - "#]]); +Saved working directory and index state WIP on local (reword): [..] +Dropped refs/stash [..] +note: to undo, run `git branch-stash pop git-stack` + +"#]]); let branch = repo.find_local_branch("target").unwrap(); let commit = repo.find_commit(branch.id).unwrap(); From d67510e515dc21a9e4ab80eeae594aa7bf55ea5f Mon Sep 17 00:00:00 2001 From: Ed Page Date: Mon, 27 May 2024 19:41:18 -0500 Subject: [PATCH 4/4] refactor: Resolve deprecations --- tests/testsuite/alias.rs | 69 ++++++++++++++++++++++++--------------- tests/testsuite/amend.rs | 40 +++++++++++------------ tests/testsuite/reword.rs | 16 ++++----- 3 files changed, 70 insertions(+), 55 deletions(-) diff --git a/tests/testsuite/alias.rs b/tests/testsuite/alias.rs index 9939b54..3db29d1 100644 --- a/tests/testsuite/alias.rs +++ b/tests/testsuite/alias.rs @@ -21,7 +21,8 @@ fn list_no_config() { .env("HOME", &home_root) .assert() .success() - .stdout_eq_(str![[r#" + .stdout_eq( + str![[r#" [alias] # next = stack next # unregistered # prev = stack previous # unregistered @@ -30,8 +31,10 @@ fn list_no_config() { # sync = stack sync # unregistered # run = stack run # unregistered -"#]].raw()) - .stderr_eq_(str![[r#" +"#]] + .raw(), + ) + .stderr_eq(str![[r#" note: To register, pass `--register` "#]]); @@ -64,7 +67,8 @@ fn list_global_config() { .env("HOME", &home_root) .assert() .success() - .stdout_eq_(str![[r#" + .stdout_eq( + str![[r#" [alias] next = foo # instead of `stack next` # prev = stack previous # unregistered @@ -73,8 +77,10 @@ fn list_global_config() { # sync = stack sync # unregistered # run = stack run # unregistered -"#]].raw()) - .stderr_eq_(str![[r#" +"#]] + .raw(), + ) + .stderr_eq(str![[r#" note: To register, pass `--register` "#]]); @@ -100,8 +106,8 @@ fn register_no_config() { .env("HOME", &home_root) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![[r#" + .stdout_eq(str![].raw()) + .stderr_eq(str![[r#" Registering: next="stack next" Registering: prev="stack previous" Registering: reword="stack reword" @@ -117,7 +123,8 @@ Registering: run="stack run" .env("HOME", &home_root) .assert() .success() - .stdout_eq_(str![[r#" + .stdout_eq( + str![[r#" [alias] next = stack next # registered prev = stack previous # registered @@ -126,8 +133,10 @@ Registering: run="stack run" sync = stack sync # registered run = stack run # registered -"#]].raw()) - .stderr_eq_(str![[r#" +"#]] + .raw(), + ) + .stderr_eq(str![[r#" note: To unregister, pass `--unregister` "#]]); @@ -162,8 +171,8 @@ fn register_no_overwrite_alias() { .env("HOME", &home_root) .assert() .failure() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![[r#" + .stdout_eq(str![].raw()) + .stderr_eq(str![[r#" error: next="foo" is registered, not overwriting with "stack next" Registering: reword="stack reword" Registering: amend="stack amend" @@ -178,7 +187,8 @@ Registering: run="stack run" .env("HOME", &home_root) .assert() .success() - .stdout_eq_(str![[r#" + .stdout_eq( + str![[r#" [alias] next = foo # instead of `stack next` prev = stack previous -v # diverged from "stack previous" @@ -187,8 +197,10 @@ Registering: run="stack run" sync = stack sync # registered run = stack run # registered -"#]].raw()) - .stderr_eq_(str![[r#" +"#]] + .raw(), + ) + .stderr_eq(str![[r#" note: To unregister, pass `--unregister` "#]]); @@ -222,8 +234,8 @@ fn register_unregister() { .env("HOME", &home_root) .assert() .success() - .stdout_eq_(str![]) - .stderr_eq_(str![[r#" + .stdout_eq(str![]) + .stderr_eq(str![[r#" Unregistering: next="stack next" Unregistering: prev="stack previous" Unregistering: reword="stack reword" @@ -262,8 +274,8 @@ fn reregister() { .env("HOME", &home_root) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![]); + .stdout_eq(str![].raw()) + .stderr_eq(str![]); root.close().unwrap(); } @@ -286,8 +298,8 @@ fn unregister_no_config() { .env("HOME", &home_root) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![]); + .stdout_eq(str![].raw()) + .stderr_eq(str![]); root.close().unwrap(); } @@ -320,8 +332,8 @@ fn unregister_existing_config() { .env("HOME", &home_root) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![[r#" + .stdout_eq(str![].raw()) + .stderr_eq(str![[r#" Unregistering: prev="stack previous -v" Unregistering: reword="stack reword" @@ -333,7 +345,8 @@ Unregistering: reword="stack reword" .env("HOME", &home_root) .assert() .success() - .stdout_eq_(str![[r#" + .stdout_eq( + str![[r#" [alias] next = foo # instead of `stack next` # prev = stack previous # unregistered @@ -342,8 +355,10 @@ Unregistering: reword="stack reword" # sync = stack sync # unregistered # run = stack run # unregistered -"#]].raw()) - .stderr_eq_(str![[r#" +"#]] + .raw(), + ) + .stderr_eq(str![[r#" note: To register, pass `--register` "#]]); diff --git a/tests/testsuite/amend.rs b/tests/testsuite/amend.rs index dc4153a..eaa1437 100644 --- a/tests/testsuite/amend.rs +++ b/tests/testsuite/amend.rs @@ -52,8 +52,8 @@ fn amend_noop() { .current_dir(root_path) .assert() .failure() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![[r#" + .stdout_eq(str![].raw()) + .stderr_eq(str![[r#" error: nothing to amend to [..]: C "#]]); @@ -102,8 +102,8 @@ fn reword_protected_fails() { .current_dir(root_path) .assert() .failure() - .stdout_eq_(str![].raw()) - .stderr_eq_( + .stdout_eq(str![].raw()) + .stderr_eq( str![[r#" cannot amend protected commits @@ -172,8 +172,8 @@ fn reword() { .current_dir(root_path) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![[r#" + .stdout_eq(str![].raw()) + .stderr_eq(str![[r#" Saved working directory and index state WIP on target (amend): [..] Amended to [..]: C Dropped refs/stash [..] @@ -244,8 +244,8 @@ fn reword_rebases() { .current_dir(root_path) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![[r#" + .stdout_eq(str![].raw()) + .stderr_eq(str![[r#" Saved working directory and index state WIP on local (amend): [..] Amended to [..]: B Dropped refs/stash [..] @@ -321,8 +321,8 @@ fn amend_add() { .current_dir(root_path) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![[r#" + .stdout_eq(str![].raw()) + .stderr_eq(str![[r#" Adding c Amended to [..]: C note: to undo, run `git branch-stash pop git-stack` @@ -391,8 +391,8 @@ fn amend_staged() { .current_dir(root_path) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![[r#" + .stdout_eq(str![].raw()) + .stderr_eq(str![[r#" Saved working directory and index state WIP on target (amend): [..] Amended to [..]: C Dropped refs/stash [..] @@ -468,8 +468,8 @@ fn amend_detached() { .current_dir(root_path) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![[r#" + .stdout_eq(str![].raw()) + .stderr_eq(str![[r#" Saved working directory and index state WIP on HEAD (amend): [..] Amended to [..]: B Dropped refs/stash [..] @@ -552,8 +552,8 @@ fn amend_explicit_head() { .current_dir(root_path) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![[r#" + .stdout_eq(str![].raw()) + .stderr_eq(str![[r#" Saved working directory and index state WIP on target (amend): [..] Amended to [..]: C Dropped refs/stash [..] @@ -630,8 +630,8 @@ fn amend_ancestor() { .current_dir(root_path) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![[r#" + .stdout_eq(str![].raw()) + .stderr_eq(str![[r#" Saved working directory and index state WIP on local (amend): [..] Amended to [..]: B Dropped refs/stash [..] @@ -715,8 +715,8 @@ fn amend_conflict() { .current_dir(root_path) .assert() .failure() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![[r#" + .stdout_eq(str![].raw()) + .stderr_eq(str![[r#" Saved working directory and index state WIP on local (amend): [..] ERROR: Failed to re-stack branch `local`: squash conflicts: c diff --git a/tests/testsuite/reword.rs b/tests/testsuite/reword.rs index 52c48f0..06cb313 100644 --- a/tests/testsuite/reword.rs +++ b/tests/testsuite/reword.rs @@ -34,8 +34,8 @@ fn reword_protected_fails() { .current_dir(root_path) .assert() .failure() - .stdout_eq_(str![].raw()) - .stderr_eq_( + .stdout_eq(str![].raw()) + .stderr_eq( str![[r#" cannot reword protected commits @@ -99,8 +99,8 @@ fn reword_implicit_head() { .current_dir(root_path) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_( + .stdout_eq(str![].raw()) + .stderr_eq( str![[r#" note: to undo, run `git branch-stash pop git-stack` @@ -171,8 +171,8 @@ fn reword_explicit_head() { .current_dir(root_path) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_( + .stdout_eq(str![].raw()) + .stderr_eq( str![[r#" note: to undo, run `git branch-stash pop git-stack` @@ -246,8 +246,8 @@ fn reword_branch() { .current_dir(root_path) .assert() .success() - .stdout_eq_(str![].raw()) - .stderr_eq_(str![[r#" + .stdout_eq(str![].raw()) + .stderr_eq(str![[r#" Saved working directory and index state WIP on local (reword): [..] Dropped refs/stash [..] note: to undo, run `git branch-stash pop git-stack`