Ensure that sdk/module_exports depends on source members am: cee7e66b07 am: e371a18acc

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1359444

Change-Id: If241aea3d4997adfa1edea5e17c35b02f6bc0eb6
This commit is contained in:
Paul Duffin
2020-07-09 21:58:57 +00:00
committed by Automerger Merge Worker
4 changed files with 84 additions and 21 deletions

View File

@@ -25,7 +25,6 @@ import (
"strings"
"testing"
"github.com/google/blueprint"
"github.com/google/blueprint/proptools"
"android/soong/android"
@@ -173,20 +172,6 @@ func moduleToPath(name string) string {
}
}
func checkModuleDependencies(t *testing.T, ctx *android.TestContext, name, variant string, expected []string) {
t.Helper()
module := ctx.ModuleForTests(name, variant).Module()
deps := []string{}
ctx.VisitDirectDeps(module, func(m blueprint.Module) {
deps = append(deps, m.Name())
})
sort.Strings(deps)
if actual := deps; !reflect.DeepEqual(expected, actual) {
t.Errorf("expected %#q, found %#q", expected, actual)
}
}
func TestJavaLinkType(t *testing.T) {
testJava(t, `
java_library {
@@ -647,7 +632,7 @@ func TestJavaSdkLibraryImport(t *testing.T) {
}
}
checkModuleDependencies(t, ctx, "sdklib", "android_common", []string{
CheckModuleDependencies(t, ctx, "sdklib", "android_common", []string{
`prebuilt_sdklib.stubs`,
`prebuilt_sdklib.stubs.source.test`,
`prebuilt_sdklib.stubs.system`,
@@ -675,7 +660,7 @@ func TestJavaSdkLibraryImport_WithSource(t *testing.T) {
}
`)
checkModuleDependencies(t, ctx, "sdklib", "android_common", []string{
CheckModuleDependencies(t, ctx, "sdklib", "android_common", []string{
`dex2oatd`,
`prebuilt_sdklib`,
`sdklib.impl`,
@@ -684,7 +669,7 @@ func TestJavaSdkLibraryImport_WithSource(t *testing.T) {
`sdklib.xml`,
})
checkModuleDependencies(t, ctx, "prebuilt_sdklib", "android_common", []string{
CheckModuleDependencies(t, ctx, "prebuilt_sdklib", "android_common", []string{
`prebuilt_sdklib.stubs`,
`sdklib.impl`,
// This should be prebuilt_sdklib.stubs but is set to sdklib.stubs because the
@@ -715,7 +700,7 @@ func TestJavaSdkLibraryImport_Preferred(t *testing.T) {
}
`)
checkModuleDependencies(t, ctx, "sdklib", "android_common", []string{
CheckModuleDependencies(t, ctx, "sdklib", "android_common", []string{
`dex2oatd`,
`prebuilt_sdklib`,
`sdklib.impl`,
@@ -724,7 +709,7 @@ func TestJavaSdkLibraryImport_Preferred(t *testing.T) {
`sdklib.xml`,
})
checkModuleDependencies(t, ctx, "prebuilt_sdklib", "android_common", []string{
CheckModuleDependencies(t, ctx, "prebuilt_sdklib", "android_common", []string{
`prebuilt_sdklib.stubs`,
`sdklib.impl`,
`sdklib.xml`,
@@ -1491,7 +1476,7 @@ func TestJavaSdkLibrary_Deps(t *testing.T) {
}
`)
checkModuleDependencies(t, ctx, "sdklib", "android_common", []string{
CheckModuleDependencies(t, ctx, "sdklib", "android_common", []string{
`dex2oatd`,
`sdklib.impl`,
`sdklib.stubs`,

View File

@@ -16,9 +16,13 @@ package java
import (
"fmt"
"reflect"
"sort"
"testing"
"android/soong/android"
"android/soong/cc"
"github.com/google/blueprint"
)
func TestConfig(buildDir string, env map[string]string, bp string, fs map[string][]byte) android.Config {
@@ -215,3 +219,17 @@ func GatherRequiredDepsForTest() string {
return bp
}
func CheckModuleDependencies(t *testing.T, ctx *android.TestContext, name, variant string, expected []string) {
t.Helper()
module := ctx.ModuleForTests(name, variant).Module()
deps := []string{}
ctx.VisitDirectDeps(module, func(m blueprint.Module) {
deps = append(deps, m.Name())
})
sort.Strings(deps)
if actual := deps; !reflect.DeepEqual(expected, actual) {
t.Errorf("expected %#q, found %#q", expected, actual)
}
}