(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:buildDir) op:Equal rhs:{(../build)} spids:[45])]
      spids: [45]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(0)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:buildDir)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [64]
                )
              ]
              spids: [64]
            )
          ]
          spids: [-1 61]
        )
      ]
      spids: [-1 67]
    )
    (ForEach
      iter_name: testSource
      iter_words: [
        {
          (CommandSubPart
            command_list: (CommandList children:[(C {(ls)} {(-1)} {(Lit_Other '*') (.cc)})])
            left_token: <Left_CommandSub '$('>
            spids: [76 83]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:test)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name '$testSource')})
                                  (C {(sed)} {(-e)} {(SQ <'s/\\.cc$//'>)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [90 104]
                      )
                    }
                  spids: [89]
                )
              ]
              spids: [89]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-x)} 
                          {($ VSub_Name '$buildDir') (/fuzz/) ($ VSub_Name '$test')} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('Failed to find binary for ') ($ VSub_Name '$test'))})
                    (C {(exit)} {(1)})
                  ]
                  spids: [-1 123]
                )
              ]
              spids: [-1 139]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(${ VSub_Name test) (_corpus)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('Failed to find corpus directory for ') ($ VSub_Name '$test'))})
                    (C {(exit)} {(1)})
                  ]
                  spids: [-1 158]
                )
              ]
              spids: [-1 174]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-d)} {(${ VSub_Name test) (_corpus_old)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {(DQ ('Old corpus directory for ') ($ VSub_Name '$test') (' already exists'))}
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [-1 191]
                )
              ]
              spids: [-1 208]
            )
          ]
          spids: [86 210]
        )
      spids: [75 84]
    )
    (ForEach
      iter_name: testSource
      iter_words: [
        {
          (CommandSubPart
            command_list: (CommandList children:[(C {(ls)} {(-1)} {(Lit_Other '*') (.cc)})])
            left_token: <Left_CommandSub '$('>
            spids: [219 226]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:test)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name '$testSource')})
                                  (C {(sed)} {(-e)} {(SQ <'s/\\.cc$//'>)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [233 247]
                      )
                    }
                  spids: [232]
                )
              ]
              spids: [232]
            )
            (C {(mv)} {(${ VSub_Name test) (_corpus)} {(${ VSub_Name test) (_corpus_old)})
            (C {(mkdir)} {(${ VSub_Name test) (_corpus)})
            (C {($ VSub_Name '$buildDir') (/fuzz/) ($ VSub_Name '$test')} 
              {(-max_len) (Lit_Other '=') (50000)} {(-merge) (Lit_Other '=') (1)} {(${ VSub_Name test) (_corpus)} {(${ VSub_Name test) (_corpus_old)}
            )
            (C {(rm)} {(-Rf)} {(${ VSub_Name test) (_corpus_old)})
          ]
          spids: [229 303]
        )
      spids: [218 227]
    )
  ]
)