[PATCH 1/2] lib-rebase.sh: fake-editor.sh: Allow checking of non-comment lines in $GIT_EDITOR
From: Nazri Ramliy <hidden>
Date: 2016-06-15 22:49:06
Signed-off-by: Nazri Ramliy <redacted> --- This is in preparation of patch 2/2 in this series. nazri. t/lib-rebase.sh | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/t/lib-rebase.sh b/t/lib-rebase.sh
index 6aefe27..e1a33fc 100644
--- a/t/lib-rebase.sh
+++ b/t/lib-rebase.sh@@ -4,6 +4,10 @@ # # - override the commit message with $FAKE_COMMIT_MESSAGE # - amend the commit message with $FAKE_COMMIT_AMEND +# - check that the non-comment text shown in the editor matches that in the +# file $EXPECT_NON_COMMENT_LINES. To make the comparison ignore the commit ids +# use the string "COMMIT_ID" in place of the sha1 in your 'expect' file and set +# REPLACE_COMMIT_ID=COMMIT_ID # - check that non-commit messages have a certain line count with $EXPECT_COUNT # - check the commit count in the commit message header with $EXPECT_HEADER_COUNT # - rewrite a rebase -i script as directed by $FAKE_LINES.
@@ -34,6 +38,17 @@ case "$1" in exit ;; esac +test -z "$EXPECT_NON_COMMENT_LINES" || + ( + grep -v '^#' < "$1" > out_non_comment.$$ && + if test -n "$REPLACE_COMMIT_ID" + then + sed -i "s/^\([a-z]\+\) [0-9a-f]\+ /\1 $REPLACE_COMMIT_ID /" \ + out_non_comment.$$ + fi && + diff "$EXPECT_NON_COMMENT_LINES" out_non_comment.$$ > /dev/null + ) || + exit test -z "$EXPECT_COUNT" || test "$EXPECT_COUNT" = $(sed -e '/^#/d' -e '/^$/d' < "$1" | wc -l) || exit
--
1.7.2.rc2