(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CONFIG) op:Equal rhs:{(Release)} spids:[4])]
      spids: [4]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SRC)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(dirname)} {($ VSub_Number "$0")})])
                left_token: <Left_CommandSub "$(">
                spids: [8 12]
              ) (/src)
            }
          spids: [7]
        )
      ]
      spids: [7]
    )
    (C {(set)} {(-ex)})
    (C {(echo)} {(Building)} {(relevant)} {(projects.)})
    (C {(dotnet)} {(build)} {(-c)} {($ VSub_Name "$CONFIG")} {($ VSub_Name "$SRC") (/Google.Protobuf)} 
      {($ VSub_Name "$SRC") (/Google.Protobuf.Test)} {($ VSub_Name "$SRC") (/Google.Protobuf.Conformance)}
    )
    (C {(echo)} {(Running)} {(tests.)})
    (C {(dotnet)} {(test)} {(-c)} {($ VSub_Name "$CONFIG")} {(-f)} {(netcoreapp1.0)} 
      {($ VSub_Name "$SRC") (/Google.Protobuf.Test)}
    )
  ]
)