(command.CommandList
  children: [
    (C {(set)} {(-e)})
    (command.SimpleCommand
      words: [{(which)} {(lcov)}]
      redirects: [
        (redir.Redir op:<Redir_Great '1>'> fd:1 arg_word:{(/dev/null)})
        (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(KW_Bang '!') (Lit_Other '=')} {(0)} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('lcov is required to generate the coverage report'))})
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 33]
        )
      ]
      spids: [16777215 47]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: (bool_expr.BoolUnary op_id:BoolUnary_z child:{($ VSub_DollarName '$MAKE')})
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:MAKE spids:[64])
                  op: Equal
                  rhs: {(make)}
                  spids: [64]
                )
              ]
              spids: [64]
            )
          ]
          spids: [16777215 61]
        )
      ]
      spids: [16777215 67]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.BoolUnary
                      op_id: BoolUnary_z
                      child: {($ VSub_DollarName '$GTEST_FILTER')}
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:GTEST_FILTER spids:[84])
                  op: Equal
                  rhs: {(SQ <'*'>)}
                  spids: [84]
                )
              ]
              spids: [84]
            )
          ]
          spids: [16777215 81]
        )
      ]
      spids: [16777215 89]
    )
    (C {(pushd)} {(build)})
    (command.SimpleCommand
      words: [{(../configure)} {(--disable-optimize)}]
      more_env: [
        (env_pair name:CXXFLAGS val:{(DQ ('-pg --coverage'))} spids:[100])
        (env_pair name:CFLAGS val:{(DQ ('-pg --coverage'))} spids:[105])
        (env_pair name:LDFLAGS val:{(DQ (-lgcov))} spids:[110])
      ]
    )
    (command.Pipeline
      children: [
        (C {(find)} {(-name)} {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.gcda)})
        (C {(xargs)} {(rm)})
      ]
      negated: F
    )
    (command.Pipeline
      children: [
        (C {(find)} {(-name)} {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.gcno)})
        (C {(xargs)} {(rm)})
      ]
      negated: F
    )
    (C {(${ VSub_Name MAKE)})
    (C {(lcov)} {(--directory)} {(.)} {(--zerocounters)})
    (C {(${ VSub_Name MAKE)} {(check)} {(Lit_VarLike 'GTEST_FILTER=') (${ VSub_Name GTEST_FILTER)})
    (C {(lcov)} {(--directory)} {(.)} {(-c)} {(-o)} {(mesos_test.info)})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LCOV_FILTERS spids:[197])
          op: Equal
          rhs: {(DQ ('/usr/include/*'))}
          spids: [197]
        )
      ]
      spids: [197]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LCOV_FILTERS spids:[202])
          op: PlusEqual
          rhs: {(DQ (' /usr/lib/jvm/*'))}
          spids: [202]
        )
      ]
      spids: [202]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LCOV_FILTERS spids:[207])
          op: PlusEqual
          rhs: {(DQ (' mesos/build/*'))}
          spids: [207]
        )
      ]
      spids: [207]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LCOV_FILTERS spids:[212])
          op: PlusEqual
          rhs: {(DQ (' build/3rdparty/setuptools-*'))}
          spids: [212]
        )
      ]
      spids: [212]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LCOV_FILTERS spids:[217])
          op: PlusEqual
          rhs: {(DQ (' build/3rdparty/leveldb*'))}
          spids: [217]
        )
      ]
      spids: [217]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LCOV_FILTERS spids:[222])
          op: PlusEqual
          rhs: {(DQ (' build/3rdparty/zookeeper-*'))}
          spids: [222]
        )
      ]
      spids: [222]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LCOV_FILTERS spids:[227])
          op: PlusEqual
          rhs: {(DQ (' */boost-*'))}
          spids: [227]
        )
      ]
      spids: [227]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LCOV_FILTERS spids:[232])
          op: PlusEqual
          rhs: {(DQ (' */elfio-*'))}
          spids: [232]
        )
      ]
      spids: [232]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LCOV_FILTERS spids:[237])
          op: PlusEqual
          rhs: {(DQ (' */glog-*'))}
          spids: [237]
        )
      ]
      spids: [237]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LCOV_FILTERS spids:[242])
          op: PlusEqual
          rhs: {(DQ (' */gmock-*'))}
          spids: [242]
        )
      ]
      spids: [242]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LCOV_FILTERS spids:[247])
          op: PlusEqual
          rhs: {(DQ (' */picojson-*'))}
          spids: [247]
        )
      ]
      spids: [247]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:LCOV_FILTERS spids:[252])
          op: PlusEqual
          rhs: {(DQ (' */protobuf-*'))}
          spids: [252]
        )
      ]
      spids: [252]
    )
    (command.ForEach
      iter_name: f
      iter_words: [{($ VSub_DollarName '$LCOV_FILTERS')}]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (C {(lcov)} {(--remove)} {(mesos_test.info)} {($ VSub_DollarName '$f')} {(-o)} 
              {(mesos_test.info)}
            )
          ]
          spids: [267 282]
        )
      spids: [263 265]
    )
    (C {(genhtml)} {(-o)} {(./test_coverage)} {(-t)} {(DQ ('mesos test coverage'))} {(--num-spaces)} {(2)} 
      {(mesos_test.info)}
    )
    (C {(popd)})
  ]
)