rust: Add features list to rust_project.json
Bug: 183679729 Test: SOONG_GEN_RUST_PROJECT=1 m nothing Test: manually check v1 feature resolution for libprofcollectd Change-Id: Ib59b63372865f7f4545fe327e92d1642d76ce9c9
This commit is contained in:
@@ -18,6 +18,7 @@ import (
|
||||
"encoding/json"
|
||||
"io/ioutil"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
@@ -115,6 +116,41 @@ func TestProjectJsonDep(t *testing.T) {
|
||||
validateJsonCrates(t, jsonContent)
|
||||
}
|
||||
|
||||
func TestProjectJsonFeature(t *testing.T) {
|
||||
bp := `
|
||||
rust_library {
|
||||
name: "liba",
|
||||
srcs: ["a/src/lib.rs"],
|
||||
crate_name: "a",
|
||||
features: ["f1", "f2"]
|
||||
}
|
||||
`
|
||||
jsonContent := testProjectJson(t, bp)
|
||||
crates := validateJsonCrates(t, jsonContent)
|
||||
for _, c := range crates {
|
||||
crate := validateCrate(t, c)
|
||||
cfgs, ok := crate["cfg"].([]interface{})
|
||||
if !ok {
|
||||
t.Fatalf("Unexpected type for cfgs: %v", crate)
|
||||
}
|
||||
expectedCfgs := []string{"feature=\"f1\"", "feature=\"f2\""}
|
||||
foundCfgs := []string{}
|
||||
for _, cfg := range cfgs {
|
||||
cfg, ok := cfg.(string)
|
||||
if !ok {
|
||||
t.Fatalf("Unexpected type for cfg: %v", cfg)
|
||||
}
|
||||
foundCfgs = append(foundCfgs, cfg)
|
||||
}
|
||||
sort.Strings(foundCfgs)
|
||||
for i, foundCfg := range foundCfgs {
|
||||
if foundCfg != expectedCfgs[i] {
|
||||
t.Errorf("Incorrect features: got %v; want %v", foundCfg, expectedCfgs[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestProjectJsonBinary(t *testing.T) {
|
||||
bp := `
|
||||
rust_binary {
|
||||
|
Reference in New Issue
Block a user