t: restrict `is_hidden` to be called only on Windows
The function won't work anywhere else, so let's mark it as an explicit bug if it is called on a non-Windows platform. Let's also rename the function to avoid cluttering the global namespace with an overly-generic function name. While at it, we also fix the code comment above that function: the lower-case `windows` refers to something different than `Windows`. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin committed
Apr 11, 2020 at 13:40 UTC
176a66a748c18132ebb747553896b810993179a6
3 files changed
+9
-6
t/t0001-init.sh
+1
-1
@@ -399,7 +399,7 @@ test_expect_success MINGW '.git hidden' '
399
mkdir newdir &&
400
cd newdir &&
401
git init &&
402
- is_hidden .git
402
+ test_path_is_hidden .git
403
) &&
404
check_config newdir/.git false unset
405
'
t/t5611-clone-config.sh
+3
-3
@@ -96,13 +96,13 @@ test_expect_success MINGW 'clone -c core.hideDotFiles' '
96
test_commit attributes .gitattributes "" &&
97
rm -rf child &&
98
git clone -c core.hideDotFiles=false . child &&
99
- ! is_hidden child/.gitattributes &&
99
+ ! test_path_is_hidden child/.gitattributes &&
100
rm -rf child &&
101
git clone -c core.hideDotFiles=dotGitOnly . child &&
102
- ! is_hidden child/.gitattributes &&
102
+ ! test_path_is_hidden child/.gitattributes &&
103
rm -rf child &&
104
git clone -c core.hideDotFiles=true . child &&
105
- is_hidden child/.gitattributes
105
+ test_path_is_hidden child/.gitattributes
106
'
107
108
test_done
t/test-lib-functions.sh
+5
-2
@@ -1544,8 +1544,11 @@ test_bitmap_traversal () {
1544
rm -f "$1.normalized" "$2.normalized"
1545
}
1546
1547
-# Tests for the hidden file attribute on windows
1548
-is_hidden () {
1547
+# Tests for the hidden file attribute on Windows
1548
+test_path_is_hidden () {
1549
+ test_have_prereq MINGW ||
1550
+ BUG "test_path_is_hidden can only be used on Windows"
1551
+
1552
# Use the output of `attrib`, ignore the absolute path
1553
case "$("$SYSTEMROOT"/system32/attrib "$1")" in *H*?:*) return 0;; esac
1554
return 1