(CommandList children: [ (Pipeline children: [ (SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (/dev/zero)} {(Lit_VarLike 'bs=') (1048576)} {(Lit_VarLike 'count=') (100)} ] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (SimpleCommand words: [{(/usr/bin/time)} {(t/helper/test-sha1)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) ] negated: F ) (WhileUntil keyword: <KW_While while> cond: [(C {(read)} {(expect)} {(cnt)} {(pfx)})] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$expect'))} arms: [ (case_arm pat_list: [{(SQ <'#'>) (Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [49 53 57 16777215] ) ] spids: [41 47 59] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:actual) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pfx'))}) (C {(echo)} {(DQ ($ VSub_Name '$pfx'))}) ] ) (Pipeline children: [ (SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (/dev/zero)} {(Lit_VarLike 'bs=') (1048576)} {(Lit_VarLike 'count=') ($ VSub_Name '$cnt')} ] redirects: [ (Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(perl)} {(-pe)} {(SQ <'y/\\000/g/'>)}) ] negated: F ) ] spids: [66] ) (C {(./t/helper/test-sha1)} {($ VSub_Name '$cnt')}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [63 121] ) } spids: [62] ) ] spids: [62] ) (If arms: [ (if_arm cond: [ (C {(test)} {(DQ ($ VSub_Name '$expect'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$actual'))} ) ] action: [ (C {(echo)} { (DQ ('OK: ') ($ VSub_Name '$expect') (' ') ($ VSub_Name '$cnt') (' ') ($ VSub_Name '$pfx') ) } ) ] spids: [16777215 139] ) ] else_action: [ (SimpleCommand words: [{(echo)} {(DQ ('OOPS: ') ($ VSub_Name '$cnt'))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(echo)} {(DQ ('expect: ') ($ VSub_Name '$expect'))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(echo)} {(DQ ('actual: ') ($ VSub_Name '$actual'))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [154 195] ) ] spids: [38 197] ) redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 222 stdin_parts: [ ('da39a3ee5e6b4b0d3255bfef95601890afd80709 0\n') ('3f786850e387550fdab836ed7e6dc881de23001b 0 a\n') ('5277cbb45a15902137d332d97e89cf8136545485 0 ab\n') ('03cfd743661f07975fa2f1220c5194cbaff48451 0 abc\n') ('3330b4373640f9e4604991e73c7e86bfd8da2dc3 0 abcd\n') ('ec11312386ad561674f724b8cca7cf1796e26d1d 0 abcde\n') ('bdc37c074ec4ee6050d68bc133c6b912f36474df 0 abcdef\n') ('69bca99b923859f2dc486b55b87f49689b7358c7 0 abcdefg\n') ('e414af7161c9554089f4106d6f1797ef14a73666 0 abcdefgh\n') ('0707f2970043f9f7c22029482db27733deaec029 0 abcdefghi\n') ('a4dd8aa74a5636728fe52451636e2e17726033aa 1\n') ('9986b45e2f4d7086372533bb6953a8652fa3644a 1 frotz\n') ('23d8d4f788e8526b4877548a32577543cbaaf51f 10\n') ('8cd23f822ab44c7f481b8c92d591f6d1fcad431c 10 frotz\n') ('f3b5604a4e604899c1233edb3bf1cc0ede4d8c32 512\n') ('b095bd837a371593048136e429e9ac4b476e1bb3 512 frotz\n') ('08fa81d6190948de5ccca3966340cc48c10cceac 1200 xyzzy\n') ('e33a291f42c30a159733dd98b8b3e4ff34158ca0 4090 4G\n') ('#a3bf783bc20caa958f6cb24dd140a7b21984838d 9999 nitfol\n') ] ) ] ) (ControlFlow token:<ControlFlow_Exit exit>) (WhileUntil keyword: <KW_While while> cond: [(C {(read)} {(cnt)} {(pfx)})] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:actual) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (BraceGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pfx'))}) (C {(echo)} {(DQ ($ VSub_Name '$pfx'))}) ] ) (Pipeline children: [ (SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (/dev/zero)} {(Lit_VarLike 'bs=') (1048576)} {(Lit_VarLike 'count=') ($ VSub_Name '$cnt')} ] redirects: [ (Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(perl)} {(-pe)} {(SQ <'y/\\000/g/'>)}) ] negated: F ) ] spids: [249] ) (C {(sha1sum)}) (C {(sed)} {(-e)} {(SQ <'s/ .*//'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [246 313] ) } spids: [245] ) ] spids: [245] ) (C {(echo)} {(DQ ($ VSub_Name '$actual') (' ') ($ VSub_Name '$cnt') (' ') ($ VSub_Name '$pfx'))} ) ] spids: [242 326] ) redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 351 stdin_parts: [ ('0\n') ('0 a\n') ('0 ab\n') ('0 abc\n') ('0 abcd\n') ('0 abcde\n') ('0 abcdef\n') ('0 abcdefg\n') ('0 abcdefgh\n') ('0 abcdefghi\n') ('1\n') ('1 frotz\n') ('10\n') ('10 frotz\n') ('512\n') ('512 frotz\n') ('1200 xyzzy\n') ('4090 4G\n') ('9999 nitfol\n') ] ) ] ) ] )