(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:test_description) op: Equal rhs: {(SQ <'git apply with weird postimage filenames'>)} ) ] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ <setup>)} { (SQ <'\n'> <'\tvector=$TEST_DIRECTORY/t4135 &&\n'> <'\n'> <'\ttest_tick &&\n'> <'\tgit commit --allow-empty -m preimage &&\n'> <'\tgit tag preimage &&\n'> <'\n'> <'\treset_preimage() {\n'> <'\t\tgit checkout -f preimage^0 &&\n'> <'\t\tgit read-tree -u --reset HEAD &&\n'> <'\t\tgit update-index --refresh\n'> <'\t} &&\n'> <'\n'> <'\ttest_when_finished "rm -f \\"tab\tembedded.txt\\"" &&\n'> <'\ttest_when_finished "rm -f '> ) (word_part.EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'\\"quoteembedded\\".txt'>) (word_part.EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'" &&\n'> <'\tif test_have_prereq !MINGW &&\n'> <'\t\ttouch -- "tab\tembedded.txt" '>) (word_part.EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'"quoteembedded".txt'>) (word_part.EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (SQ <'\n'> <'\tthen\n'> <'\t\ttest_set_prereq FUNNYNAMES\n'> <'\tfi\n'>) } ) (command.FuncDef name: try_filename body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:desc) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:postimage) op: Equal rhs: {($ VSub_Number '$2')} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:prereq) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Number 3> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{}) ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:exp1) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Number 4> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(success)}) ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:exp2) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Number 5> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(success)}) ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:exp3) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Number 6> suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(success)}) ) } ) ] ) (C {(test_expect_) ($ VSub_DollarName '$exp1')} {($ VSub_DollarName '$prereq')} {(DQ ($ VSub_DollarName '$desc') (', git-style file creation patch'))} { (DQ ('\n') ('\t\techo postimage >expected &&\n') ('\t\treset_preimage &&\n') ("\t\trm -f '") ($ VSub_DollarName '$postimage') ("' &&\n") ('\t\tgit apply -v ') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (vector) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ("/'git-") ($ VSub_DollarName '$desc') (".diff' &&\n") ("\t\ttest_cmp expected '") ($ VSub_DollarName '$postimage') ("'\n") ('\t') ) } ) (C {(test_expect_) ($ VSub_DollarName '$exp2')} {($ VSub_DollarName '$prereq')} {(DQ ($ VSub_DollarName '$desc') (', traditional patch'))} { (DQ ('\n') ('\t\techo postimage >expected &&\n') ('\t\treset_preimage &&\n') ("\t\techo preimage >'") ($ VSub_DollarName '$postimage') ("' &&\n") ('\t\tgit apply -v ') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (vector) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ("/'diff-") ($ VSub_DollarName '$desc') (".diff' &&\n") ("\t\ttest_cmp expected '") ($ VSub_DollarName '$postimage') ("'\n") ('\t') ) } ) (C {(test_expect_) ($ VSub_DollarName '$exp3')} {($ VSub_DollarName '$prereq')} {(DQ ($ VSub_DollarName '$desc') (', traditional file creation patch'))} { (DQ ('\n') ('\t\techo postimage >expected &&\n') ('\t\treset_preimage &&\n') ("\t\trm -f '") ($ VSub_DollarName '$postimage') ("' &&\n") ('\t\tgit apply -v ') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (vector) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ("/'add-") ($ VSub_DollarName '$desc') (".diff' &&\n") ("\t\ttest_cmp expected '") ($ VSub_DollarName '$postimage') ("'\n") ('\t') ) } ) ] ) ) (C {(try_filename)} {(SQ <plain>)} {(SQ <postimage.txt>)}) (C {(try_filename)} {(SQ <'with spaces'>)} {(SQ <'post image.txt'>)}) (C {(try_filename)} {(SQ <'with tab'>)} {(SQ <'post\timage.txt'>)} {(FUNNYNAMES)}) (C {(try_filename)} {(SQ <'with backslash'>)} {(SQ <'post\\image.txt'>)} {(BSLASHPSPEC)}) (C {(try_filename)} {(SQ <'with quote'>)} {(SQ <'"postimage".txt'>)} {(FUNNYNAMES)} {(success)} {(failure)} {(success)} ) (C {(test_expect_success)} {(SQ <'whitespace-damaged traditional patch'>)} { (SQ <'\n'> <'\techo postimage >expected &&\n'> <'\treset_preimage &&\n'> <'\trm -f postimage.txt &&\n'> <'\tgit apply -v "$vector/damaged.diff" &&\n'> <'\ttest_cmp expected postimage.txt\n'> ) } ) (C {(test_expect_success)} {(SQ <'traditional patch with colon in timezone'>)} { (SQ <'\n'> <'\techo postimage >expected &&\n'> <'\treset_preimage &&\n'> <'\trm -f "post image.txt" &&\n'> <'\tgit apply "$vector/funny-tz.diff" &&\n'> <'\ttest_cmp expected "post image.txt"\n'> ) } ) (C {(test_expect_success)} {(SQ <'traditional, whitespace-damaged, colon in timezone'>)} { (SQ <'\n'> <'\techo postimage >expected &&\n'> <'\treset_preimage &&\n'> <'\trm -f "post image.txt" &&\n'> <'\tgit apply "$vector/damaged-tz.diff" &&\n'> <'\ttest_cmp expected "post image.txt"\n'> ) } ) (C {(test_done)}) ] )