(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: {(SQ <'giving ignored paths to git add'>)} spids: [4] ) ] ) (C {<.>} {<'./test-lib.sh'>}) (C {<test_expect_success>} {<setup>} { (SQ <'\n'> <'\tmkdir sub dir dir/sub &&\n'> <'\techo sub >.gitignore &&\n'> <'\techo ign >>.gitignore &&\n'> <'\tfor p in . sub dir dir/sub\n'> <'\tdo\n'> <'\t\t>"$p/ign" &&\n'> <'\t\t>"$p/file" || exit 1\n'> <'\tdone\n'> ) } ) (command.ForEach iter_name: i iter_words: [{<file>} {<'dir/file'>} {<dir>} {(SQ <'d*'>)}] do_arg_iter: F body: (command.DoGroup children: [ (C {<test_expect_success>} {(DQ <'no complaints for unignored '> ($ Id.VSub_DollarName '$i'))} { (SQ <'\n'> <'\t\trm -f .git/index &&\n'> <'\t\tgit add "$i" &&\n'> <'\t\tgit ls-files "$i" >out &&\n'> <'\t\ttest -s out\n'> <'\t'> ) } ) ] ) ) (command.ForEach iter_name: i iter_words: [ {<ign>} {<'dir/ign'>} {<'dir/sub'>} {<'dir/sub/'> <Id.Lit_Star '*'> <ign>} {<'sub/file'>} {<sub>} {<'sub/'> <Id.Lit_Star '*'>} ] do_arg_iter: F body: (command.DoGroup children: [ (C {<test_expect_success>} {(DQ <'complaints for ignored '> ($ Id.VSub_DollarName '$i'))} { (SQ <'\n'> <'\t\trm -f .git/index &&\n'> <'\t\ttest_must_fail git add "$i" 2>err &&\n'> <'\t\tgit ls-files "$i" >out &&\n'> <'\t\t! test -s out\n'> <'\t'> ) } ) (C {<test_expect_success>} {(DQ <'complaints for ignored '> ($ Id.VSub_DollarName '$i') <' output'>)} {(SQ <'\n'> <'\t\ttest_i18ngrep -e "Use -f if" err\n'> <'\t'>)} ) (C {<test_expect_success>} {(DQ <'complaints for ignored '> ($ Id.VSub_DollarName '$i') <' with unignored file'>)} { (SQ <'\n'> <'\t\trm -f .git/index &&\n'> <'\t\ttest_must_fail git add "$i" file 2>err &&\n'> <'\t\tgit ls-files "$i" >out &&\n'> <'\t\t! test -s out\n'> <'\t'> ) } ) (C {<test_expect_success>} { (DQ <'complaints for ignored '> ($ Id.VSub_DollarName '$i') <' with unignored file output'> ) } {(SQ <'\n'> <'\t\ttest_i18ngrep -e "Use -f if" err\n'> <'\t'>)} ) ] ) ) (command.ForEach iter_name: i iter_words: [{<sub>} {<'sub/'> <Id.Lit_Star '*'>}] do_arg_iter: F body: (command.DoGroup children: [ (C {<test_expect_success>} {(DQ <'complaints for ignored '> ($ Id.VSub_DollarName '$i') <' in dir'>)} { (SQ <'\n'> <'\t\trm -f .git/index &&\n'> <'\t\t(\n'> <'\t\t\tcd dir &&\n'> <'\t\t\ttest_must_fail git add "$i" 2>err &&\n'> <'\t\t\tgit ls-files "$i" >out &&\n'> <'\t\t\t! test -s out\n'> <'\t\t)\n'> <'\t'> ) } ) (C {<test_expect_success>} {(DQ <'complaints for ignored '> ($ Id.VSub_DollarName '$i') <' in dir output'>)} { (SQ <'\n'> <'\t\t(\n'> <'\t\t\tcd dir &&\n'> <'\t\t\ttest_i18ngrep -e "Use -f if" err\n'> <'\t\t)\n'> <'\t'> ) } ) ] ) ) (command.ForEach iter_name: i iter_words: [{<ign>} {<file>}] do_arg_iter: F body: (command.DoGroup children: [ (C {<test_expect_success>} {(DQ <'complaints for ignored '> ($ Id.VSub_DollarName '$i') <' in sub'>)} { (SQ <'\n'> <'\t\trm -f .git/index &&\n'> <'\t\t(\n'> <'\t\t\tcd sub &&\n'> <'\t\t\ttest_must_fail git add "$i" 2>err &&\n'> <'\t\t\tgit ls-files "$i" >out &&\n'> <'\t\t\t! test -s out\n'> <'\t\t)\n'> <'\t'> ) } ) (C {<test_expect_success>} {(DQ <'complaints for ignored '> ($ Id.VSub_DollarName '$i') <' in sub output'>)} { (SQ <'\n'> <'\t\t(\n'> <'\t\t\tcd sub &&\n'> <'\t\t\ttest_i18ngrep -e "Use -f if" err\n'> <'\t\t)\n'> <'\t'> ) } ) ] ) ) (C {<test_done>}) ] )