On 05/26, Prathamesh Chavan wrote: > 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. > > Helped-by: Brandon Williams <bmwill@xxxxxxxxxx> > Mentored-by: Christian Couder <christian.couder@xxxxxxxxx> > Mentored-by: Stefan Beller <sbeller@xxxxxxxxxx> > Signed-off-by: Prathamesh Chavan <pc44800@xxxxxxxxx> > --- > Additional test added to check the bug fixed in the [PATCH v5 1/3] of > this patch series. > > t/t7407-submodule-foreach.sh | 34 ++++++++++++++++++++++++++++++++++ > 1 file changed, 34 insertions(+) > > diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh > index 6ba5daf42..1c8d132d8 100755 > --- a/t/t7407-submodule-foreach.sh > +++ b/t/t7407-submodule-foreach.sh > @@ -197,6 +197,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-../nested1/nested2-$nested2sha1 > +Entering '../nested1/nested2/nested3' > +$pwd/clone2/nested1/nested2-nested3-../nested1/nested2/nested3-$nested3sha1 > +Entering '../nested1/nested2/nested3/submodule' > +$pwd/clone2/nested1/nested2/nested3-submodule-../nested1/nested2/nested3/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 > + ) && small nit: You can either merge the two cd commands to 'cd clone2/untracked' or better you can even avoid the subshell entirely by doing the following: git -C clone2/untracked submodule foreach --recursive \ "echo \$toplevel-\$name-\$sm_path-\$sha1" >actual Or something akin to that. > + test_i18ncmp expect actual > +' > + > cat > expect <<EOF > nested1-nested1 > nested2-nested2 > -- > 2.11.0 > -- Brandon Williams