Additional test cases added to the submodule-foreach test suite to check the submodule foreach --recursive behavior from a subdirectory as this was missing from the test suite. Mentored-by: Christian Couder <christian.couder@xxxxxxxxx> Mentored-by: Stefan Beller <sbeller@xxxxxxxxxx> Signed-off-by: Prathamesh Chavan <pc44800@xxxxxxxxx> --- t/t7407-submodule-foreach.sh | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh index 6ba5daf42..58a890e31 100755 --- a/t/t7407-submodule-foreach.sh +++ b/t/t7407-submodule-foreach.sh @@ -79,7 +79,6 @@ test_expect_success 'test basic "submodule foreach" usage' ' ) && test_i18ncmp expect actual ' - cat >expect <<EOF Entering '../sub1' $pwd/clone-foo1-../sub1-$sub1sha1 @@ -197,6 +196,40 @@ test_expect_success 'test messages from "foreach --recursive" from subdirectory' test_i18ncmp expect actual ' +sub1sha1=$(cd clone2/sub1 && git rev-parse HEAD) +sub2sha1=$(cd clone2/sub2 && git rev-parse HEAD) +sub3sha1=$(cd clone2/sub3 && git rev-parse HEAD) +nested1sha1=$(cd clone2/nested1 && git rev-parse HEAD) +nested2sha1=$(cd clone2/nested1/nested2 && git rev-parse HEAD) +nested3sha1=$(cd clone2/nested1/nested2/nested3 && git rev-parse HEAD) +submodulesha1=$(cd clone2/nested1/nested2/nested3/submodule && git rev-parse HEAD) + +cat >expect <<EOF +Entering '../nested1' +$pwd/clone2-nested1-../nested1-$nested1sha1 +Entering '../nested1/nested2' +$pwd/clone2/nested1-nested2-../nested2-$nested2sha1 +Entering '../nested1/nested2/nested3' +$pwd/clone2/nested1/nested2-nested3-../nested3-$nested3sha1 +Entering '../nested1/nested2/nested3/submodule' +$pwd/clone2/nested1/nested2/nested3-submodule-../submodule-$submodulesha1 +Entering '../sub1' +$pwd/clone2-foo1-../sub1-$sub1sha1 +Entering '../sub2' +$pwd/clone2-foo2-../sub2-$sub2sha1 +Entering '../sub3' +$pwd/clone2-foo3-../sub3-$sub3sha1 +EOF + +test_expect_success 'test "submodule foreach --recursive" from subdirectory' ' + ( + cd clone2 && + cd untracked && + git submodule foreach --recursive "echo \$toplevel-\$name-\$sm_path-\$sha1" >../../actual + ) && + test_i18ncmp expect actual +' + cat > expect <<EOF nested1-nested1 nested2-nested2 -- 2.11.0