Skip to content

Commit

Permalink
Add a small patch-mode testing library
Browse files Browse the repository at this point in the history
The tests for {reset,commit,stash} -p will frequently have to set both
worktree and index states to known values, and verify that the outcome
(again both worktree and index) are what was expected.

Add a small helper library that lets us do these tasks more easily.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Thomas Rast authored and Junio C Hamano committed Aug 14, 2009
1 parent 8f0bef6 commit b319ef7
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions t/lib-patch-mode.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
. ./test-lib.sh

set_state () {
echo "$3" > "$1" &&
git add "$1" &&
echo "$2" > "$1"
}

save_state () {
noslash="$(echo "$1" | tr / _)" &&
cat "$1" > _worktree_"$noslash" &&
git show :"$1" > _index_"$noslash"
}

set_and_save_state () {
set_state "$@" &&
save_state "$1"
}

verify_state () {
test "$(cat "$1")" = "$2" &&
test "$(git show :"$1")" = "$3"
}

verify_saved_state () {
noslash="$(echo "$1" | tr / _)" &&
verify_state "$1" "$(cat _worktree_"$noslash")" "$(cat _index_"$noslash")"
}

save_head () {
git rev-parse HEAD > _head
}

verify_saved_head () {
test "$(cat _head)" = "$(git rev-parse HEAD)"
}

0 comments on commit b319ef7

Please sign in to comment.