| // Copyright 2022 Google LLC |
| // |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| package exporter |
| |
| import ( |
| "go.skia.org/infra/go/skerr" |
| "go.skia.org/skia/bazel/exporter/build_proto/analysis_v2" |
| "go.skia.org/skia/bazel/exporter/build_proto/build" |
| "google.golang.org/protobuf/encoding/prototext" |
| "google.golang.org/protobuf/proto" |
| ) |
| |
| // A test helper function to convert a textproto protobuf into a binary protobuf. |
| func textProtoToProtobuf(textProto string) ([]byte, error) { |
| qr := analysis_v2.CqueryResult{} |
| err := prototext.Unmarshal([]byte(textProto), &qr) |
| if err != nil { |
| return nil, skerr.Wrapf(err, "unable to unmarshal textproto") |
| } |
| |
| return proto.Marshal(&qr) |
| } |
| |
| // A test helper function to create a build.Rule with given properties (and srcs). |
| func createTestBuildRule(name, ruleClass, loc string, srcs []string) *build.Rule { |
| srcsAttrName := "srcs" |
| ad := build.Attribute_STRING_LIST |
| attr := build.Attribute{Name: &srcsAttrName, Type: &ad, StringListValue: srcs} |
| |
| r := build.Rule{Name: &name, RuleClass: &ruleClass, Location: &loc} |
| r.Attribute = append(r.Attribute, &attr) |
| return &r |
| } |