(CommandList
  children: [
    (Sentence child:(C {(make)}) terminator:<Op_Amp "&">)
    (SimpleCommand redirects:[(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[7])])
    (ForEach
      iter_name: i
      iter_words: [
        {
          (CommandSubPart
            command_list: (CommandList children:[(C {(ls)} {(tests/) (Lit_Other "*") (.c)})])
            left_token: <Left_Backtick "`">
            spids: [18 24]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:testname)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(basename)} {(DQ ($ VSub_Name "$i"))} {(.c)})]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [31 39]
                      )
                    }
                  spids: [30]
                )
              ]
              spids: [30]
            )
            (Sentence
              child: 
                (C {(gcc)} {(-o)} {(tests/) ($ VSub_Name "$testname")} {(-pthread)} {(-lpthread)} 
                  {($ VSub_Name "$i")} {(liblockdep.a)} {(-Iinclude)} {(-D__USE_LIBLOCKDEP)}
                )
              terminator: <Op_Amp "&">
            )
            (SimpleCommand
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[62])]
            )
            (C {(echo)} {(-ne)} {(DQ ($ VSub_Name "$testname") ("... "))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (Pipeline
                                      children: [
                                        (C {(timeout)} {(1)} {(./tests/) ($ VSub_Name "$testname")})
                                        (C {(wc)} {(-l)})
                                      ]
                                      negated: False
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [81 94]
                            )
                          } {(-gt)} {(0)} {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(echo)} {(DQ ("PASSED!"))})]
                  spids: [-1 103]
                )
              ]
              else_action: [(C {(echo)} {(DQ ("FAILED!"))})]
              spids: [113 123]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-f)} {(DQ (tests/) ($ VSub_Name "$testname"))} 
                          {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(rm)} {(tests/) ($ VSub_Name "$testname")})]
                  spids: [-1 140]
                )
              ]
              spids: [-1 149]
            )
          ]
          spids: [27 151]
        )
      spids: [17 25]
    )
    (ForEach
      iter_name: i
      iter_words: [
        {
          (CommandSubPart
            command_list: (CommandList children:[(C {(ls)} {(tests/) (Lit_Other "*") (.c)})])
            left_token: <Left_Backtick "`">
            spids: [160 166]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:testname)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(basename)} {(DQ ($ VSub_Name "$i"))} {(.c)})]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [173 181]
                      )
                    }
                  spids: [172]
                )
              ]
              spids: [172]
            )
            (Sentence
              child: 
                (C {(gcc)} {(-o)} {(tests/) ($ VSub_Name "$testname")} {(-pthread)} {(-lpthread)} 
                  {(-Iinclude)} {($ VSub_Name "$i")}
                )
              terminator: <Op_Amp "&">
            )
            (SimpleCommand
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[200])]
            )
            (C {(echo)} {(-ne)} {(DQ ("(PRELOAD) ") ($ VSub_Name "$testname") ("... "))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (Pipeline
                                      children: [
                                        (C {(timeout)} {(1)} {(./lockdep)} 
                                          {(./tests/) ($ VSub_Name "$testname")}
                                        )
                                        (C {(wc)} {(-l)})
                                      ]
                                      negated: False
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [220 235]
                            )
                          } {(-gt)} {(0)} {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(echo)} {(DQ ("PASSED!"))})]
                  spids: [-1 244]
                )
              ]
              else_action: [(C {(echo)} {(DQ ("FAILED!"))})]
              spids: [254 264]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-f)} {(DQ (tests/) ($ VSub_Name "$testname"))} 
                          {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(rm)} {(tests/) ($ VSub_Name "$testname")})]
                  spids: [-1 281]
                )
              ]
              spids: [-1 290]
            )
          ]
          spids: [169 292]
        )
      spids: [159 167]
    )
  ]
)