(command.CommandList children: [ (command.ShFunction name: test_diff_frobnitz body: (BraceGroup children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<file1>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 49 stdin_parts: [ <'#include <stdio.h>\n'> <'\n'> <'// Frobs foo heartily\n'> <'int frobnitz(int foo)\n'> <'{\n'> <' int i;\n'> <' for(i = 0; i < 10; i++)\n'> <' {\n'> <' printf("Your answer is: ");\n'> <' printf("%d\\n", foo);\n'> <' }\n'> <'}\n'> <'\n'> <'int fact(int n)\n'> <'{\n'> <' if(n > 1)\n'> <' {\n'> <' return fact(n-1) * n;\n'> <' }\n'> <' return 1;\n'> <'}\n'> <'\n'> <'int main(int argc, char **argv)\n'> <'{\n'> <' frobnitz(fact(10));\n'> <'}\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<file2>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 86 stdin_parts: [ <'#include <stdio.h>\n'> <'\n'> <'int fib(int n)\n'> <'{\n'> <' if(n > 2)\n'> <' {\n'> <' return fib(n-1) + fib(n-2);\n'> <' }\n'> <' return 1;\n'> <'}\n'> <'\n'> <'// Frobs foo heartily\n'> <'int frobnitz(int foo)\n'> <'{\n'> <' int i;\n'> <' for(i = 0; i < 10; i++)\n'> <' {\n'> <' printf("%d\\n", foo);\n'> <' }\n'> <'}\n'> <'\n'> <'int main(int argc, char **argv)\n'> <'{\n'> <' frobnitz(fib(10));\n'> <'}\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 139 stdin_parts: [ <'diff --git a/file1 b/file2\n'> <'index 6faa5a3..e3af329 100644\n'> <'--- a/file1\n'> <'+++ b/file2\n'> <'@@ -1,26 +1,25 @@\n'> <' #include <stdio.h>\n'> <' \n'> <'+int fib(int n)\n'> <'+{\n'> <'+ if(n > 2)\n'> <'+ {\n'> <'+ return fib(n-1) + fib(n-2);\n'> <'+ }\n'> <'+ return 1;\n'> <'+}\n'> <'+\n'> <' // Frobs foo heartily\n'> <' int frobnitz(int foo)\n'> <' {\n'> <' int i;\n'> <' for(i = 0; i < 10; i++)\n'> <' {\n'> <'- printf("Your answer is: ");\n'> <' printf("%d\\n", foo);\n'> <' }\n'> <' }\n'> <' \n'> <'-int fact(int n)\n'> <'-{\n'> <'- if(n > 1)\n'> <'- {\n'> <'- return fact(n-1) * n;\n'> <'- }\n'> <'- return 1;\n'> <'-}\n'> <'-\n'> <' int main(int argc, char **argv)\n'> <' {\n'> <'- frobnitz(fact(10));\n'> <'+ frobnitz(fib(10));\n'> <' }\n'> ] ) ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:STRATEGY) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [142] ) ] ) (C {<test_expect_success>} {(DQ ($ Id.VSub_DollarName '$STRATEGY') <' diff'>)} { (SQ <'\n'> <'\t\ttest_must_fail git diff --no-index "--$STRATEGY" file1 file2 > output &&\n'> <'\t\ttest_cmp expect output\n'> <'\t'> ) } ) (C {<test_expect_success>} {(DQ ($ Id.VSub_DollarName '$STRATEGY') <' diff output is valid'>)} { (SQ <'\n'> <'\t\tmv file2 expect &&\n'> <'\t\tgit apply < output &&\n'> <'\t\ttest_cmp expect file2\n'> <'\t'> ) } ) ] ) ) (command.ShFunction name: test_diff_unique body: (BraceGroup children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<uniq1>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 203 stdin_parts: [<'1\n'> <'2\n'> <'3\n'> <'4\n'> <'5\n'> <'6\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<uniq2>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 221 stdin_parts: [<'a\n'> <'b\n'> <'c\n'> <'d\n'> <'e\n'> <'f\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\E'>) <OF>} here_end_span_id: 250 stdin_parts: [ <'diff --git a/uniq1 b/uniq2\n'> <'index b414108..0fdf397 100644\n'> <'--- a/uniq1\n'> <'+++ b/uniq2\n'> <'@@ -1,6 +1,6 @@\n'> <'-1\n'> <'-2\n'> <'-3\n'> <'-4\n'> <'-5\n'> <'-6\n'> <'+a\n'> <'+b\n'> <'+c\n'> <'+d\n'> <'+e\n'> <'+f\n'> ] ) ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:STRATEGY) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [253] ) ] ) (C {<test_expect_success>} {(SQ <'completely different files'>)} { (SQ <'\n'> <'\t\ttest_must_fail git diff --no-index "--$STRATEGY" uniq1 uniq2 > output &&\n'> <'\t\ttest_cmp expect output\n'> <'\t'> ) } ) ] ) ) ] )