merge: add t7613 for submodule updates
[gitweb.git] / t / lib-submodule-update.sh
index f2e58eb904574090ca4a16f4a8b52de5b9fa0f5a..759dbe614c35a44af652c0b59e49f27715831144 100755 (executable)
@@ -285,7 +285,16 @@ test_submodule_switch () {
        '
        # ... as does removing a directory with tracked files with a
        # submodule.
-       test_expect_success "$command: replace directory with submodule" '
+       if test "$KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR" = 1
+       then
+               # Non fast-forward merges fail with "Directory sub1 doesn't
+               # exist. sub1" because the empty submodule directory is not
+               # created
+               RESULT="failure"
+       else
+               RESULT="success"
+       fi
+       test_expect_$RESULT "$command: replace directory with submodule" '
                prolog &&
                reset_work_tree_to replace_sub1_with_directory &&
                (
@@ -328,7 +337,16 @@ test_submodule_switch () {
        '
        # Replacing a submodule with files in a directory must fail as the
        # submodule work tree isn't removed ...
-       test_expect_success "$command: replace submodule with a directory must fail" '
+       if test "$KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES" = 1
+       then
+               # Non fast-forward merges attempt to merge the former
+               # submodule files with the newly checked out ones in the
+               # directory of the same name while it shouldn't.
+               RESULT="failure"
+       else
+               RESULT="success"
+       fi
+       test_expect_$RESULT "$command: replace submodule with a directory must fail" '
                prolog &&
                reset_work_tree_to add_sub1 &&
                (
@@ -340,7 +358,7 @@ test_submodule_switch () {
                )
        '
        # ... especially when it contains a .git directory.
-       test_expect_success "$command: replace submodule containing a .git directory with a directory must fail" '
+       test_expect_$RESULT "$command: replace submodule containing a .git directory with a directory must fail" '
                prolog &&
                reset_work_tree_to add_sub1 &&
                (