Re: [PATCH v3 3/3] t3700: add a test_mode_in_index helper function
From: Junio C Hamano <hidden>
Date: 2016-08-01 21:41:46
Ingo Brückl [off-list ref] writes: Ingo Brückl [off-list ref] writes:
The case statement to check the file mode of a staged file appears a number of times. Simplify the test by utilizing a test_mode_in_index helper function. Signed-off-by: Ingo Brückl <redacted> --- t/t3700-add.sh | 54 ++++++++++++++++++++++-------------------------------- 1 file changed, 22 insertions(+), 32 deletions(-)
Nice.
quoted hunk
diff --git a/t/t3700-add.sh b/t/t3700-add.sh index 1fa5dfd..7b98483 100755 --- a/t/t3700-add.sh +++ b/t/t3700-add.sh@@ -7,6 +7,20 @@ test_description='Test of git add, including the -- option.' . ./test-lib.sh +# Test the file mode "$1" of the file "$2" in the index. +test_mode_in_index () { + case "$(git ls-files --stage "$2")" in + $1\ *"$2") + echo pass + ;; + *) + echo fail + git ls-files --stage "$2" + return 1 + ;; + esac +}
This case/esac is misindented, but no need to resend; I can fix it
up trivially while queuing the patches. It may be both easier to
read and more robust to tweak the pattern like this, though:
# Test the file mode "$1" of the file "$2" in the index.
test_mode_in_index () {
case "$(git ls-files --stage "$2")" in
"$1 "*" $2")
echo pass
;;
*)
echo fail
git ls-files --stage "$2"
return 1
;;
esac
}
Thanks.