(CommandList
  children: [
    (C {(set)} {(-e)})
    (SimpleCommand
      words: [{(which)} {(lcov)}]
      redirects: [
        (Redir op_id:Redir_Great fd:1 arg_word:{(/dev/null)} spids:[13])
        (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[16])
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (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'))})
            (C {(exit)} {(1)})
          ]
          spids: [16777215 33]
        )
      ]
      spids: [16777215 47]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$MAKE')}))
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:MAKE) op:Equal rhs:{(make)} spids:[64])]
              spids: [64]
            )
          ]
          spids: [16777215 61]
        )
      ]
      spids: [16777215 67]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$GTEST_FILTER')}))
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:GTEST_FILTER)
                  op: Equal
                  rhs: {(SQ <'*'>)}
                  spids: [84]
                )
              ]
              spids: [84]
            )
          ]
          spids: [16777215 81]
        )
      ]
      spids: [16777215 89]
    )
    (C {(pushd)} {(build)})
    (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])
      ]
    )
    (Pipeline
      children: [
        (C {(find)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.gcda)})
        (C {(xargs)} {(rm)})
      ]
      negated: False
    )
    (Pipeline
      children: [
        (C {(find)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.gcno)})
        (C {(xargs)} {(rm)})
      ]
      negated: False
    )
    (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)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LCOV_FILTERS)
          op: Equal
          rhs: {(DQ ('/usr/include/*'))}
          spids: [197]
        )
      ]
      spids: [197]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LCOV_FILTERS)
          op: PlusEqual
          rhs: {(DQ (' /usr/lib/jvm/*'))}
          spids: [202]
        )
      ]
      spids: [202]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LCOV_FILTERS)
          op: PlusEqual
          rhs: {(DQ (' mesos/build/*'))}
          spids: [207]
        )
      ]
      spids: [207]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LCOV_FILTERS)
          op: PlusEqual
          rhs: {(DQ (' build/3rdparty/setuptools-*'))}
          spids: [212]
        )
      ]
      spids: [212]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LCOV_FILTERS)
          op: PlusEqual
          rhs: {(DQ (' build/3rdparty/leveldb*'))}
          spids: [217]
        )
      ]
      spids: [217]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LCOV_FILTERS)
          op: PlusEqual
          rhs: {(DQ (' build/3rdparty/zookeeper-*'))}
          spids: [222]
        )
      ]
      spids: [222]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LCOV_FILTERS)
          op: PlusEqual
          rhs: {(DQ (' */boost-*'))}
          spids: [227]
        )
      ]
      spids: [227]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LCOV_FILTERS)
          op: PlusEqual
          rhs: {(DQ (' */elfio-*'))}
          spids: [232]
        )
      ]
      spids: [232]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LCOV_FILTERS)
          op: PlusEqual
          rhs: {(DQ (' */glog-*'))}
          spids: [237]
        )
      ]
      spids: [237]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LCOV_FILTERS)
          op: PlusEqual
          rhs: {(DQ (' */gmock-*'))}
          spids: [242]
        )
      ]
      spids: [242]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LCOV_FILTERS)
          op: PlusEqual
          rhs: {(DQ (' */picojson-*'))}
          spids: [247]
        )
      ]
      spids: [247]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LCOV_FILTERS)
          op: PlusEqual
          rhs: {(DQ (' */protobuf-*'))}
          spids: [252]
        )
      ]
      spids: [252]
    )
    (ForEach
      iter_name: f
      iter_words: [{($ VSub_Name '$LCOV_FILTERS')}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(lcov)} {(--remove)} {(mesos_test.info)} {($ VSub_Name '$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)})
  ]
)