(CommandList children: [ (FuncDef name: test_diff_frobnitz body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(file1)} spids:[16]) (HereDoc op_id: Redir_DLess fd: -1 body: {("#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_expansion: False here_end: EOF was_filled: True spids: [19] ) ] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(file2)} spids:[27]) (HereDoc op_id: Redir_DLess fd: -1 body: {("#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_expansion: False here_end: EOF was_filled: True spids: [30] ) ] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[38]) (HereDoc op_id: Redir_DLess fd: -1 body: {("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_expansion: False here_end: EOF was_filled: True spids: [41] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:STRATEGY) op: Equal rhs: {($ VSub_Number "$1")} spids: [47] ) ] spids: [47] ) (C {(test_expect_success)} {(DQ ($ VSub_Name "$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 ($ VSub_Name "$STRATEGY") (" diff output is valid"))} { (SQ <"\n"> <"\t\tmv file2 expect &&\n"> <"\t\tgit apply < output &&\n"> <"\t\ttest_cmp expect file2\n"> <"\t"> ) } ) ] spids: [11] ) spids: [7 10] ) (FuncDef name: test_diff_unique body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(uniq1)} spids:[95]) (HereDoc op_id: Redir_DLess fd: -1 body: {("1\n") ("2\n") ("3\n") ("4\n") ("5\n") ("6\n")} do_expansion: False here_end: EOF was_filled: True spids: [98] ) ] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(uniq2)} spids:[106]) (HereDoc op_id: Redir_DLess fd: -1 body: {("a\n") ("b\n") ("c\n") ("d\n") ("e\n") ("f\n")} do_expansion: False here_end: EOF was_filled: True spids: [109] ) ] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(expect)} spids:[117]) (HereDoc op_id: Redir_DLess fd: -1 body: {("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_expansion: False here_end: EOF was_filled: True spids: [120] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:STRATEGY) op: Equal rhs: {($ VSub_Number "$1")} spids: [126] ) ] spids: [126] ) (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"> ) } ) ] spids: [90] ) spids: [86 89] ) ] )