(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')
          ]
        )
      ]
    )
  ]
)