packed_read_raw_ref(): new function, replacing `resolve_packed_ref()`
[gitweb.git] / t / lib-submodule-update.sh
index ae560dc95c1d1cf102c743c4712de70b7504c3a1..fb4f7b014e10cd383ed42550f77a14ea9b0211ac 100755 (executable)
@@ -782,6 +782,21 @@ test_submodule_forced_switch () {
 
 test_submodule_switch_recursing () {
        command="$1"
+       RESULTDS=success
+       if test "$KNOWN_FAILURE_DIRECTORY_SUBMODULE_CONFLICTS" = 1
+       then
+               RESULTDS=failure
+       fi
+       RESULTR=success
+       if test "$KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTED" = 1
+       then
+               RESULTR=failure
+       fi
+       RESULTOI=success
+       if test "$KNOWN_FAILURE_SUBMODULE_OVERWRITE_IGNORED_UNTRACKED" = 1
+       then
+               RESULTOI=failure
+       fi
        ######################### Appearing submodule #########################
        # Switching to a commit letting a submodule appear checks it out ...
        test_expect_success "$command: added submodule is checked out" '
@@ -822,7 +837,7 @@ test_submodule_switch_recursing () {
                )
        '
        # ... but an ignored file is fine.
-       test_expect_success "$command: added submodule removes an untracked ignored file" '
+       test_expect_$RESULTOI "$command: added submodule removes an untracked ignored file" '
                test_when_finished "rm submodule_update/.git/info/exclude" &&
                prolog &&
                reset_work_tree_to_interested no_submodule &&
@@ -891,7 +906,7 @@ test_submodule_switch_recursing () {
        '
        # Replacing a submodule with files in a directory must succeeds
        # when the submodule is clean
-       test_expect_success "$command: replace submodule with a directory" '
+       test_expect_$RESULTDS "$command: replace submodule with a directory" '
                prolog &&
                reset_work_tree_to_interested add_sub1 &&
                (
@@ -903,7 +918,7 @@ test_submodule_switch_recursing () {
                )
        '
        # ... absorbing a .git directory.
-       test_expect_success "$command: replace submodule containing a .git directory with a directory must absorb the git dir" '
+       test_expect_$RESULTDS "$command: replace submodule containing a .git directory with a directory must absorb the git dir" '
                prolog &&
                reset_work_tree_to_interested add_sub1 &&
                (
@@ -931,7 +946,7 @@ test_submodule_switch_recursing () {
        '
 
        # ... must check its local work tree for untracked files
-       test_expect_success "$command: replace submodule with a file must fail with untracked files" '
+       test_expect_$RESULTDS "$command: replace submodule with a file must fail with untracked files" '
                prolog &&
                reset_work_tree_to_interested add_sub1 &&
                (
@@ -987,7 +1002,8 @@ test_submodule_switch_recursing () {
                )
        '
 
-       test_expect_success "$command: modified submodule updates submodule recursively" '
+       # recursing deeper than one level doesn't work yet.
+       test_expect_$RESULTR "$command: modified submodule updates submodule recursively" '
                prolog &&
                reset_work_tree_to_interested add_nested_sub &&
                (
@@ -1006,6 +1022,11 @@ test_submodule_switch_recursing () {
 # the superproject as well as the submodule is allowed.
 test_submodule_forced_switch_recursing () {
        command="$1"
+       RESULT=success
+       if test "$KNOWN_FAILURE_DIRECTORY_SUBMODULE_CONFLICTS" = 1
+       then
+               RESULT=failure
+       fi
        ######################### Appearing submodule #########################
        # Switching to a commit letting a submodule appear creates empty dir ...
        test_expect_success "$command: added submodule is checked out" '
@@ -1151,7 +1172,7 @@ test_submodule_forced_switch_recursing () {
        '
 
        # ... but stops for untracked files that would be lost
-       test_expect_success "$command: replace submodule with a file" '
+       test_expect_$RESULT "$command: replace submodule with a file stops for untracked files" '
                prolog &&
                reset_work_tree_to_interested add_sub1 &&
                (