Add unit tests for android/neverallow.go

Bug: 74506774
Test: lunch aosp_walleye-userdebug && make  # runs unit tests

Merged-In: Ibde685d7213713be219681cb039ad58a43d9c377
Change-Id: Ibde685d7213713be219681cb039ad58a43d9c377
This commit is contained in:
Logan Chien
2018-03-12 16:34:26 +08:00
parent d44aa3b5c8
commit b1ed497ca8
4 changed files with 222 additions and 26 deletions

View File

@@ -22,7 +22,6 @@ import (
"io/ioutil"
"os"
"reflect"
"regexp"
"sort"
"strings"
"testing"
@@ -178,13 +177,13 @@ func testCcError(t *testing.T, pattern string, bp string) {
_, errs := ctx.ParseFileList(".", []string{"Android.bp"})
if len(errs) > 0 {
failIfNoMatchingErrors(t, pattern, errs)
android.FailIfNoMatchingErrors(t, pattern, errs)
return
}
_, errs = ctx.PrepareBuildActions(config)
if len(errs) > 0 {
failIfNoMatchingErrors(t, pattern, errs)
android.FailIfNoMatchingErrors(t, pattern, errs)
return
}
@@ -1064,29 +1063,6 @@ func TestLinkReordering(t *testing.T) {
}
}
func failIfNoMatchingErrors(t *testing.T, pattern string, errs []error) {
matcher, err := regexp.Compile(pattern)
if err != nil {
t.Errorf("failed to compile regular expression %q because %s", pattern, err)
}
found := false
for _, err := range errs {
if matcher.FindStringIndex(err.Error()) != nil {
found = true
break
}
}
if !found {
t.Errorf("missing the expected error %q (checked %d error(s))", pattern, len(errs))
for i, err := range errs {
t.Errorf("errs[%d] = %s", i, err)
}
}
}
func getOutputPaths(ctx *android.TestContext, variant string, moduleNames []string) (paths android.Paths) {
for _, moduleName := range moduleNames {
module := ctx.ModuleForTests(moduleName, variant).Module().(*Module)