(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:workdir) op:Equal rhs:{(.cover)} spids:[10])]
      spids: [10]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:profile)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$workdir") (/cover.out))}
          spids: [13]
        )
      ]
      spids: [13]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:mode) op:Equal rhs:{(set)} spids:[19])]
      spids: [19]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:end2endtest)
          op: Equal
          rhs: {(DQ (google.golang.org/grpc/test))}
          spids: [22]
        )
      ]
      spids: [22]
    )
    (FuncDef
      name: generate_cover_data
      body: 
        (BraceGroup
          children: [
            (C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$workdir"))})
            (C {(mkdir)} {(DQ ($ VSub_Name "$workdir"))})
            (ForEach
              iter_name: pkg
              iter_words: [{(DQ ($ VSub_At "$@"))}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Lit_Other "[")} {($ VSub_Name "$pkg")} 
                              {(Lit_Other "=") (Lit_Other "=")} {(DQ (google.golang.org/grpc))} {(-o)} {($ VSub_Name "$pkg")} {(Lit_Other "=") (Lit_Other "=")} 
                              {(DQ (google.golang.org/grpc/transport))} {(-o)} {($ VSub_Name "$pkg")} {(Lit_Other "=") (Lit_Other "=")} {(DQ (google.golang.org/grpc/metadata))} 
                              {(-o)} {($ VSub_Name "$pkg")} {(Lit_Other "=") (Lit_Other "=")} {(DQ (google.golang.org/grpc/credentials))} 
                              {(Lit_Other "]")}
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:f)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$workdir") (/) 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(echo)} {($ VSub_Name "$pkg")})
                                                    (C {(tr)} {(/)} {(-)})
                                                  ]
                                                  negated: False
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [122 134]
                                        )
                                      )
                                    }
                                  spids: [118]
                                )
                              ]
                              spids: [118]
                            )
                            (C {(go)} {(test)} {(-covermode) (Lit_Other "=") (DQ ($ VSub_Name "$mode"))} 
                              {(-coverprofile) (Lit_Other "=") (DQ ($ VSub_Name "$f") (.cover))} {(DQ ($ VSub_Name "$pkg"))}
                            )
                            (C {(go)} {(test)} {(-covermode) (Lit_Other "=") (DQ ($ VSub_Name "$mode"))} 
                              {(-coverpkg)} {(DQ ($ VSub_Name "$pkg"))} {(-coverprofile) (Lit_Other "=") (DQ ($ VSub_Name "$f") (.e2e.cover))} 
                              {(DQ ($ VSub_Name "$end2endtest"))}
                            )
                          ]
                          spids: [-1 115]
                        )
                      ]
                      spids: [-1 188]
                    )
                  ]
                  spids: [63 191]
                )
              spids: [57 61]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ("mode: ") ($ VSub_Name "$mode"))}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name "$profile"))}
                  spids: [202]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(grep)}
                {(-h)}
                {(-v)}
                {(DQ ("^mode:"))}
                {(DQ ($ VSub_Name "$workdir")) (/) (Lit_Other "*") (.cover)}
              ]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name "$profile"))}
                  spids: [225]
                )
              ]
            )
          ]
          spids: [32]
        )
      spids: [28 31]
    )
    (FuncDef
      name: show_cover_report
      body: 
        (BraceGroup
          children: [
            (C {(go)} {(tool)} {(cover)} 
              {(-) (${ VSub_Number 1) (Lit_Other "=") (DQ ($ VSub_Name "$profile"))}
            )
          ]
          spids: [237]
        )
      spids: [233 236]
    )
    (FuncDef
      name: push_to_coveralls
      body: 
        (BraceGroup
          children: [(C {(goveralls)} {(-coverprofile) (Lit_Other "=") (DQ ($ VSub_Name "$profile"))})]
          spids: [262]
        )
      spids: [258 261]
    )
    (C {(generate_cover_data)} 
      {
        (CommandSubPart
          command_list: (CommandList children:[(C {(go)} {(list)} {(./...)})])
          left_token: <Left_CommandSub "$(">
          spids: [278 284]
        )
      }
    )
    (C {(show_cover_report)} {(func)})
    (Case
      to_match: {(DQ ($ VSub_Number "$1"))}
      arms: [
        (case_arm pat_list:[{(DQ )}] spids:[-1300303-1])
        (case_arm
          pat_list: [{(--html)}]
          action: [(C {(show_cover_report)} {(html)})]
          spids: [305 306 313 -1]
        )
        (case_arm
          pat_list: [{(--coveralls)}]
          action: [(C {(push_to_coveralls)})]
          spids: [315 316 321 -1]
        )
        (case_arm
          pat_list: [{(Lit_Other "*")}]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ("error: invalid option: ") ($ VSub_Number "$1"))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[329])]
            )
          ]
          spids: [323 324 337 -1]
        )
      ]
      spids: [290 296 339]
    )
    (C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$workdir"))})
  ]
)