Skip to content

Commit

Permalink
submodule tests: test for init and update failure output
Browse files Browse the repository at this point in the history
Amend some submodule tests to test for the failure output of "git
submodule [update|init]". The lack of such tests hid a regression in
an earlier version of a subsequent commit.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Glen Choo <chooglen@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
avar authored and gitster committed Mar 5, 2022
1 parent 715d08a commit aca8568
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 3 deletions.
14 changes: 12 additions & 2 deletions t/t7406-submodule-update.sh
Expand Up @@ -205,8 +205,18 @@ test_expect_success 'submodule update should fail due to local changes' '
(cd submodule &&
compare_head
) &&
test_must_fail git submodule update submodule
)
test_must_fail git submodule update submodule 2>../actual.raw
) &&
sed "s/^> //" >expect <<-\EOF &&
> error: Your local changes to the following files would be overwritten by checkout:
> file
> Please commit your changes or stash them before you switch branches.
> Aborting
> fatal: Unable to checkout OID in submodule path '\''submodule'\''
EOF
sed -e "s/checkout $SQ[^$SQ]*$SQ/checkout OID/" <actual.raw >actual &&
test_cmp expect actual
'
test_expect_success 'submodule update should throw away changes with --force ' '
(cd super &&
Expand Down
14 changes: 13 additions & 1 deletion t/t7408-submodule-reference.sh
Expand Up @@ -193,7 +193,19 @@ test_expect_success 'missing nested submodule alternate fails clone and submodul
cd supersuper-clone &&
check_that_two_of_three_alternates_are_used &&
# update of the submodule fails
test_must_fail git submodule update --init --recursive
cat >expect <<-\EOF &&
fatal: submodule '\''sub'\'' cannot add alternate: path ... does not exist
Failed to clone '\''sub'\''. Retry scheduled
fatal: submodule '\''sub-dissociate'\'' cannot add alternate: path ... does not exist
Failed to clone '\''sub-dissociate'\''. Retry scheduled
fatal: submodule '\''sub'\'' cannot add alternate: path ... does not exist
Failed to clone '\''sub'\'' a second time, aborting
fatal: Failed to recurse into submodule path ...
EOF
test_must_fail git submodule update --init --recursive 2>err &&
grep -e fatal: -e ^Failed err >actual.raw &&
sed -e "s/path $SQ[^$SQ]*$SQ/path .../" <actual.raw >actual &&
test_cmp expect actual
)
'

Expand Down

0 comments on commit aca8568

Please sign in to comment.