git p4 test: use test_chmod for cygwin
authorPete Wyckoff <pw@padd.com>
Sun, 27 Jan 2013 03:11:18 +0000 (22:11 -0500)
committerJunio C Hamano <gitster@pobox.com>
Sun, 27 Jan 2013 06:00:39 +0000 (22:00 -0800)
This test does a commit that is a pure mode change, submits
it to p4 but causes the submit to fail.  It verifies that
the state in p4 as well as the client directory are both
unmodified after the failed submit.

On cygwin, "chmod +x" does nothing, so use the test_chmod
function to modify the index directly too.

Also on cygwin, the executable bit cannot be seen in the
filesystem, so avoid that part of the test.  The checks of
p4 state are still valid, though.

Thanks-to: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t9815-git-p4-submit-fail.sh

index d2b7b3d98d77a18657f536af54b159230a1ea057..1243d96092ad5c6a66d66ee9debc399649ffa0a2 100755 (executable)
@@ -405,8 +405,8 @@ test_expect_success 'cleanup chmod after submit cancel' '
        git p4 clone --dest="$git" //depot &&
        (
                cd "$git" &&
-               chmod u+x text &&
-               chmod u-x text+x &&
+               test_chmod +x text &&
+               test_chmod -x text+x &&
                git add text text+x &&
                git commit -m "chmod texts" &&
                echo n | test_expect_code 1 git p4 submit
@@ -415,10 +415,13 @@ test_expect_success 'cleanup chmod after submit cancel' '
                cd "$cli" &&
                test_path_is_file text &&
                ! p4 fstat -T action text &&
-               stat --format=%A text | egrep ^-r-- &&
                test_path_is_file text+x &&
                ! p4 fstat -T action text+x &&
-               stat --format=%A text+x | egrep ^-r-x
+               if test_have_prereq NOT_CYGWIN
+               then
+                       stat --format=%A text | egrep ^-r-- &&
+                       stat --format=%A text+x | egrep ^-r-x
+               fi
        )
 '