From 4124880ed0e52cecf0d5cb547be0fc51c646cc26 Mon Sep 17 00:00:00 2001 From: Alex Zepeda Date: Sun, 17 Apr 2022 21:02:59 -0700 Subject: [PATCH 1/7] Add test coverage for RepositoryState::CherryPickSequence --- git-repository/src/repository/state.rs | 2 +- .../make_cherry_pick_sequence_repo.tar.xz | Bin 0 -> 11408 bytes .../make_cherry_pick_sequence_repo.sh | 24 ++++++++++++++++++ git-repository/tests/repository/state.rs | 13 ++++++++++ 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 git-repository/tests/fixtures/generated-archives/make_cherry_pick_sequence_repo.tar.xz create mode 100644 git-repository/tests/fixtures/make_cherry_pick_sequence_repo.sh diff --git a/git-repository/src/repository/state.rs b/git-repository/src/repository/state.rs index 022f150f4da..7873c8b8601 100644 --- a/git-repository/src/repository/state.rs +++ b/git-repository/src/repository/state.rs @@ -20,7 +20,7 @@ impl crate::Repository { } else if git_dir.join("rebase-merge").is_dir() { Some(state::InProgress::Rebase) } else if git_dir.join("CHERRY_PICK_HEAD").is_file() { - if git_dir.join("todo").is_file() { + if git_dir.join("sequencer/todo").is_file() { Some(state::InProgress::CherryPickSequence) } else { Some(state::InProgress::CherryPick) diff --git a/git-repository/tests/fixtures/generated-archives/make_cherry_pick_sequence_repo.tar.xz b/git-repository/tests/fixtures/generated-archives/make_cherry_pick_sequence_repo.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..5a912a9cdf9aa302789c700b0e461b38255912b7 GIT binary patch literal 11408 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 ef_@7C0qa 2 +git add 2 +git commit -m 2.other-branch 2 +git add 3 +git commit -m 3 3 + +git checkout main +echo 2.main > 2 +git add 2 +git commit -m 2.main 2 + +# This should fail and leave us in a cherry-pick + sequencer state +git cherry-pick other-branch~2..other-branch || true diff --git a/git-repository/tests/repository/state.rs b/git-repository/tests/repository/state.rs index 0f85ba8767d..6b7843945d2 100644 --- a/git-repository/tests/repository/state.rs +++ b/git-repository/tests/repository/state.rs @@ -13,6 +13,19 @@ fn cherry_pick() -> Result { Ok(()) } +#[test] +fn cherry_pick_sequence() -> Result { + let repo = named_repo("make_cherry_pick_sequence_repo.sh")?; + + let head = repo.head()?; + let head_name = head.referent_name().expect("no detached head").shorten(); + assert_eq!(head_name, "main"); + + assert_eq!(repo.in_progress_operation(), Some(git::state::InProgress::CherryPickSequence)); + + Ok(()) +} + #[test] fn rebase_interactive() -> Result { let repo = named_repo("make_rebase_i_repo.sh")?; From 01b7a2addffa13babecff5faacb7887a42e51dda Mon Sep 17 00:00:00 2001 From: Alex Zepeda Date: Sun, 17 Apr 2022 21:14:34 -0700 Subject: [PATCH 2/7] Add test coverage for RepositoryState::RevertSequence --- git-repository/src/repository/state.rs | 2 +- .../make_revert_sequence_repo.tar.xz | Bin 0 -> 11328 bytes .../fixtures/make_revert_sequence_repo.sh | 20 ++++++++++++++++++ git-repository/tests/repository/state.rs | 13 ++++++++++++ 4 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 git-repository/tests/fixtures/generated-archives/make_revert_sequence_repo.tar.xz create mode 100644 git-repository/tests/fixtures/make_revert_sequence_repo.sh diff --git a/git-repository/src/repository/state.rs b/git-repository/src/repository/state.rs index 7873c8b8601..41145cd4cfe 100644 --- a/git-repository/src/repository/state.rs +++ b/git-repository/src/repository/state.rs @@ -30,7 +30,7 @@ impl crate::Repository { } else if git_dir.join("BISECT_LOG").is_file() { Some(state::InProgress::Bisect) } else if git_dir.join("REVERT_HEAD").is_file() { - if git_dir.join("todo").is_file() { + if git_dir.join("sequencer/todo").is_file() { Some(state::InProgress::RevertSequence) } else { Some(state::InProgress::Revert) diff --git a/git-repository/tests/fixtures/generated-archives/make_revert_sequence_repo.tar.xz b/git-repository/tests/fixtures/generated-archives/make_revert_sequence_repo.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..5095081dae986a56036f2f717093bba9fab79d27 GIT binary patch literal 11328 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 C3mF{% literal 0 HcmV?d00001 diff --git a/git-repository/tests/fixtures/make_revert_sequence_repo.sh b/git-repository/tests/fixtures/make_revert_sequence_repo.sh new file mode 100644 index 00000000000..37f182deac7 --- /dev/null +++ b/git-repository/tests/fixtures/make_revert_sequence_repo.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -eu -o pipefail + +git init -q + +echo 1.0 > 1 +git add 1 +git commit -m 1.0 1 + +echo 1.1 > 1 +git commit -m 1.1 1 + +echo 1.2 > 1 +git commit -m 1.2 1 +touch 2 +git add 2 +git commit -m 2 2 + +# This should fail and leave us in a revert + sequencer state +git revert --no-commit HEAD HEAD~2 || true diff --git a/git-repository/tests/repository/state.rs b/git-repository/tests/repository/state.rs index 6b7843945d2..50287e85ad7 100644 --- a/git-repository/tests/repository/state.rs +++ b/git-repository/tests/repository/state.rs @@ -52,3 +52,16 @@ fn revert() -> Result { Ok(()) } + +#[test] +fn revert_sequence() -> Result { + let repo = named_repo("make_revert_sequence_repo.sh")?; + + let head = repo.head()?; + let head_name = head.referent_name().expect("no detached head").shorten(); + assert_eq!(head_name, "main"); + + assert_eq!(repo.in_progress_operation(), Some(git::state::InProgress::RevertSequence)); + + Ok(()) +} From a45bec35a87a9d4fed8744a8d7642366cd8ba672 Mon Sep 17 00:00:00 2001 From: Alex Zepeda Date: Sun, 17 Apr 2022 21:33:54 -0700 Subject: [PATCH 3/7] Add test coverage for RepositoryState::Bisect --- .../generated-archives/make_bisect_repo.tar.xz | Bin 0 -> 10200 bytes .../tests/fixtures/make_bisect_repo.sh | 14 ++++++++++++++ git-repository/tests/repository/state.rs | 13 +++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 git-repository/tests/fixtures/generated-archives/make_bisect_repo.tar.xz create mode 100644 git-repository/tests/fixtures/make_bisect_repo.sh diff --git a/git-repository/tests/fixtures/generated-archives/make_bisect_repo.tar.xz b/git-repository/tests/fixtures/generated-archives/make_bisect_repo.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..d587e2fec91b9676b762f6d529886440f864fa3e GIT binary patch literal 10200 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 S5~%I5#Ao{g000001X)`2fY}oO literal 0 HcmV?d00001 diff --git a/git-repository/tests/fixtures/make_bisect_repo.sh b/git-repository/tests/fixtures/make_bisect_repo.sh new file mode 100644 index 00000000000..0b890bab39e --- /dev/null +++ b/git-repository/tests/fixtures/make_bisect_repo.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -eu -o pipefail + +git init -q + +touch 1 2 + +git add 1 +git commit -m 1 1 + +git add 2 +git commit -m 2 2 + +git bisect start diff --git a/git-repository/tests/repository/state.rs b/git-repository/tests/repository/state.rs index 50287e85ad7..13e0a12937b 100644 --- a/git-repository/tests/repository/state.rs +++ b/git-repository/tests/repository/state.rs @@ -1,6 +1,19 @@ use crate::{named_repo, Result}; use git_repository as git; +#[test] +fn bisect() -> Result { + let repo = named_repo("make_bisect_repo.sh")?; + + let head = repo.head()?; + let head_name = head.referent_name().expect("no detached head").shorten(); + assert_eq!(head_name, "main"); + + assert_eq!(repo.in_progress_operation(), Some(git::state::InProgress::Bisect)); + + Ok(()) +} + #[test] fn cherry_pick() -> Result { let repo = named_repo("make_cherry_pick_repo.sh")?; From f03551ec709c3588599482ad96edb223b3ed2109 Mon Sep 17 00:00:00 2001 From: Alex Zepeda Date: Sun, 17 Apr 2022 21:40:09 -0700 Subject: [PATCH 4/7] Add test coverage for RepositoryState::Merge --- .../generated-archives/make_merge_repo.tar.xz | Bin 0 -> 10988 bytes .../tests/fixtures/make_merge_repo.sh | 19 ++++++++++++++++++ git-repository/tests/repository/state.rs | 16 +++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 git-repository/tests/fixtures/generated-archives/make_merge_repo.tar.xz create mode 100644 git-repository/tests/fixtures/make_merge_repo.sh diff --git a/git-repository/tests/fixtures/generated-archives/make_merge_repo.tar.xz b/git-repository/tests/fixtures/generated-archives/make_merge_repo.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..ec232d12d855a19d1b292dfd886ac71a7e1a83a7 GIT binary patch literal 10988 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 a0mW5--~<5vxKvWH#Ao{g000001X)_@K2mQ0 literal 0 HcmV?d00001 diff --git a/git-repository/tests/fixtures/make_merge_repo.sh b/git-repository/tests/fixtures/make_merge_repo.sh new file mode 100644 index 00000000000..9beda889138 --- /dev/null +++ b/git-repository/tests/fixtures/make_merge_repo.sh @@ -0,0 +1,19 @@ +#!/bin/bash +set -eu -o pipefail + +git init -q + +echo 1.main > 1 +git add 1 +git commit -m 1.main 1 + +git checkout -b other-branch +echo 1.other-branch > 1 +git add 1 +git commit -m 1.other-branch 1 + +git checkout main +echo 1.main changed > 1 +git commit -m 1.main\ changed 1 + +git merge other-branch || true diff --git a/git-repository/tests/repository/state.rs b/git-repository/tests/repository/state.rs index 13e0a12937b..77a0eb83b57 100644 --- a/git-repository/tests/repository/state.rs +++ b/git-repository/tests/repository/state.rs @@ -39,6 +39,22 @@ fn cherry_pick_sequence() -> Result { Ok(()) } +#[test] +fn merge() -> Result { + let repo = named_repo("make_merge_repo.sh")?; + + let head = repo.head()?; + let head_name = head.referent_name().expect("no detached head").shorten(); + assert_eq!(head_name, "main"); + + assert_eq!( + repo.in_progress_operation(), + Some(git::state::InProgress::Merge) + ); + + Ok(()) +} + #[test] fn rebase_interactive() -> Result { let repo = named_repo("make_rebase_i_repo.sh")?; From 8522202b06f2ca8b9627be4f0278c1f6dba804c1 Mon Sep 17 00:00:00 2001 From: Alex Zepeda Date: Sun, 17 Apr 2022 22:25:29 -0700 Subject: [PATCH 5/7] Make rustfmt happier. --- git-repository/tests/repository/state.rs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/git-repository/tests/repository/state.rs b/git-repository/tests/repository/state.rs index 77a0eb83b57..5897bd8897c 100644 --- a/git-repository/tests/repository/state.rs +++ b/git-repository/tests/repository/state.rs @@ -34,7 +34,10 @@ fn cherry_pick_sequence() -> Result { let head_name = head.referent_name().expect("no detached head").shorten(); assert_eq!(head_name, "main"); - assert_eq!(repo.in_progress_operation(), Some(git::state::InProgress::CherryPickSequence)); + assert_eq!( + repo.in_progress_operation(), + Some(git::state::InProgress::CherryPickSequence) + ); Ok(()) } @@ -47,10 +50,7 @@ fn merge() -> Result { let head_name = head.referent_name().expect("no detached head").shorten(); assert_eq!(head_name, "main"); - assert_eq!( - repo.in_progress_operation(), - Some(git::state::InProgress::Merge) - ); + assert_eq!(repo.in_progress_operation(), Some(git::state::InProgress::Merge)); Ok(()) } @@ -90,7 +90,10 @@ fn revert_sequence() -> Result { let head_name = head.referent_name().expect("no detached head").shorten(); assert_eq!(head_name, "main"); - assert_eq!(repo.in_progress_operation(), Some(git::state::InProgress::RevertSequence)); + assert_eq!( + repo.in_progress_operation(), + Some(git::state::InProgress::RevertSequence) + ); Ok(()) } From 138af0e0d8782cd0cd327bc82ee921c65f551bad Mon Sep 17 00:00:00 2001 From: Alex Zepeda Date: Mon, 18 Apr 2022 01:07:54 -0700 Subject: [PATCH 6/7] Add test coverage for RepositoryState::ApplyMailbox --- .../generated-archives/make_am_repo.tar.xz | Bin 0 -> 11312 bytes git-repository/tests/fixtures/make_am_repo.sh | 22 ++++++++++++++++++ git-repository/tests/repository/state.rs | 12 ++++++++++ 3 files changed, 34 insertions(+) create mode 100644 git-repository/tests/fixtures/generated-archives/make_am_repo.tar.xz create mode 100644 git-repository/tests/fixtures/make_am_repo.sh diff --git a/git-repository/tests/fixtures/generated-archives/make_am_repo.tar.xz b/git-repository/tests/fixtures/generated-archives/make_am_repo.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..79078167099363cfbf6993e8dea49aa30db3941f GIT binary patch literal 11312 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 m0000Gtqb%}7JfYd0f|_ExCH 1 +git add 1 +git commit -m 1.main 1 + +git checkout -b other-branch +echo 1.other-branch > 1 +git commit -m 1.other-branch 1 +# Create an mbox formatted patch and save the path +patch_path=$(git format-patch main) + +git checkout main +# Create a conflict +echo 1.main.update > 1 +git commit -m 1.main.update 1 + +# This will fail due to the merge conflict and leave us in a 'apply mbox in progress' state +git am 0001-1.other-branch.patch || true diff --git a/git-repository/tests/repository/state.rs b/git-repository/tests/repository/state.rs index 5897bd8897c..ee221d7c8d1 100644 --- a/git-repository/tests/repository/state.rs +++ b/git-repository/tests/repository/state.rs @@ -1,6 +1,18 @@ use crate::{named_repo, Result}; use git_repository as git; +#[test] +fn apply_mailbox() -> Result { + let repo = named_repo("make_am_repo.sh")?; + + let head = repo.head()?; + let head_name = head.referent_name().expect("no detached head").shorten(); + assert_eq!(head_name, "main"); + + assert_eq!(repo.in_progress_operation(), Some(git::state::InProgress::ApplyMailbox)); + Ok(()) +} + #[test] fn bisect() -> Result { let repo = named_repo("make_bisect_repo.sh")?; From 6387c5edd43c1b90e0e7f4ae33930a67be00fe84 Mon Sep 17 00:00:00 2001 From: Alex Zepeda Date: Mon, 18 Apr 2022 01:09:14 -0700 Subject: [PATCH 7/7] Update git_repository::state::InProgress docs to indicate test coverage --- git-repository/src/lib.rs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/git-repository/src/lib.rs b/git-repository/src/lib.rs index 46fd9fcd5ef..07da578a390 100644 --- a/git-repository/src/lib.rs +++ b/git-repository/src/lib.rs @@ -321,31 +321,25 @@ pub mod state { #[derive(Debug, PartialEq)] pub enum InProgress { /// A mailbox is being applied. - // TODO: test ApplyMailbox, /// A rebase is happening while a mailbox is being applied. // TODO: test ApplyMailboxRebase, /// A git bisect operation has not yet been concluded. - // TODO: test Bisect, /// A cherry pick operation. CherryPick, /// A cherry pick with multiple commits pending. - // TODO: test CherryPickSequence, /// A merge operation. - // TODO: test Merge, /// A rebase operation. - // TODO: test Rebase, /// An interactive rebase operation. RebaseInteractive, /// A revert operation. Revert, /// A revert operation with multiple commits pending. - // TODO: test RevertSequence, } }