Automatically call TestingBuildParams.RelativeToTop()
Fixes the few tests that break due to this and which cannot easily be separated into their own changes. Bug: 183650682 Test: m nothing Change-Id: Ia2f31213a1f114a78e66a81d89279ecde9f4c465
This commit is contained in:
parent
b2786a3fdc
commit
e8366da1f6
|
@ -558,7 +558,7 @@ func (p TestingBuildParams) RelativeToTop() TestingBuildParams {
|
|||
return p
|
||||
}
|
||||
if p.config.config == nil {
|
||||
panic("cannot call RelativeToTop() on a TestingBuildParams previously returned by RelativeToTop()")
|
||||
return p
|
||||
}
|
||||
// Take a copy of the build params and replace any args that contains test specific temporary
|
||||
// paths with paths relative to the top.
|
||||
|
@ -670,7 +670,7 @@ func (b baseTestingComponent) newTestingBuildParams(bparams BuildParams) Testing
|
|||
config: b.config,
|
||||
BuildParams: bparams,
|
||||
RuleParams: b.provider.RuleParamsForTests()[bparams.Rule],
|
||||
}
|
||||
}.RelativeToTop()
|
||||
}
|
||||
|
||||
func (b baseTestingComponent) maybeBuildParamsFromRule(rule string) (TestingBuildParams, []string) {
|
||||
|
|
|
@ -5066,7 +5066,7 @@ func TestApexWithApps(t *testing.T) {
|
|||
}
|
||||
// JNI libraries including transitive deps are
|
||||
for _, jni := range []string{"libjni", "libfoo"} {
|
||||
jniOutput := ctx.ModuleForTests(jni, "android_arm64_armv8-a_sdk_shared_apex10000").Module().(*cc.Module).OutputFile()
|
||||
jniOutput := ctx.ModuleForTests(jni, "android_arm64_armv8-a_sdk_shared_apex10000").Module().(*cc.Module).OutputFile().RelativeToPath()
|
||||
// ... embedded inside APK (jnilibs.zip)
|
||||
ensureListContains(t, appZipRule.Implicits.Strings(), jniOutput.String())
|
||||
// ... and not directly inside the APEX
|
||||
|
|
|
@ -301,13 +301,9 @@ func checkVndkModule(t *testing.T, ctx *android.TestContext, name, subDir string
|
|||
|
||||
func checkSnapshotIncludeExclude(t *testing.T, ctx *android.TestContext, singleton android.TestingSingleton, moduleName, snapshotFilename, subDir, variant string, include bool, fake bool) {
|
||||
t.Helper()
|
||||
mod, ok := ctx.ModuleForTests(moduleName, variant).Module().(android.OutputFileProducer)
|
||||
if !ok {
|
||||
t.Errorf("%q must have output\n", moduleName)
|
||||
return
|
||||
}
|
||||
outputFiles, err := mod.OutputFiles("")
|
||||
if err != nil || len(outputFiles) != 1 {
|
||||
mod := ctx.ModuleForTests(moduleName, variant)
|
||||
outputFiles := mod.OutputFiles(t, "")
|
||||
if len(outputFiles) != 1 {
|
||||
t.Errorf("%q must have single output\n", moduleName)
|
||||
return
|
||||
}
|
||||
|
@ -333,14 +329,17 @@ func checkSnapshotIncludeExclude(t *testing.T, ctx *android.TestContext, singlet
|
|||
}
|
||||
|
||||
func checkSnapshot(t *testing.T, ctx *android.TestContext, singleton android.TestingSingleton, moduleName, snapshotFilename, subDir, variant string) {
|
||||
t.Helper()
|
||||
checkSnapshotIncludeExclude(t, ctx, singleton, moduleName, snapshotFilename, subDir, variant, true, false)
|
||||
}
|
||||
|
||||
func checkSnapshotExclude(t *testing.T, ctx *android.TestContext, singleton android.TestingSingleton, moduleName, snapshotFilename, subDir, variant string) {
|
||||
t.Helper()
|
||||
checkSnapshotIncludeExclude(t, ctx, singleton, moduleName, snapshotFilename, subDir, variant, false, false)
|
||||
}
|
||||
|
||||
func checkSnapshotRule(t *testing.T, ctx *android.TestContext, singleton android.TestingSingleton, moduleName, snapshotFilename, subDir, variant string) {
|
||||
t.Helper()
|
||||
checkSnapshotIncludeExclude(t, ctx, singleton, moduleName, snapshotFilename, subDir, variant, true, true)
|
||||
}
|
||||
|
||||
|
@ -2552,7 +2551,7 @@ func parseModuleDeps(text string) (modulesInOrder []android.Path, allDeps map[an
|
|||
func getOutputPaths(ctx *android.TestContext, variant string, moduleNames []string) (paths android.Paths) {
|
||||
for _, moduleName := range moduleNames {
|
||||
module := ctx.ModuleForTests(moduleName, variant).Module().(*Module)
|
||||
output := module.outputFile.Path()
|
||||
output := module.outputFile.Path().RelativeToTop()
|
||||
paths = append(paths, output)
|
||||
}
|
||||
return paths
|
||||
|
@ -2583,7 +2582,8 @@ func TestStaticLibDepReordering(t *testing.T) {
|
|||
|
||||
variant := "android_arm64_armv8-a_static"
|
||||
moduleA := ctx.ModuleForTests("a", variant).Module().(*Module)
|
||||
actual := ctx.ModuleProvider(moduleA, StaticLibraryInfoProvider).(StaticLibraryInfo).TransitiveStaticLibrariesForOrdering.ToList()
|
||||
actual := ctx.ModuleProvider(moduleA, StaticLibraryInfoProvider).(StaticLibraryInfo).
|
||||
TransitiveStaticLibrariesForOrdering.ToList().RelativeToTop()
|
||||
expected := getOutputPaths(ctx, variant, []string{"a", "c", "b", "d"})
|
||||
|
||||
if !reflect.DeepEqual(actual, expected) {
|
||||
|
@ -2617,7 +2617,8 @@ func TestStaticLibDepReorderingWithShared(t *testing.T) {
|
|||
|
||||
variant := "android_arm64_armv8-a_static"
|
||||
moduleA := ctx.ModuleForTests("a", variant).Module().(*Module)
|
||||
actual := ctx.ModuleProvider(moduleA, StaticLibraryInfoProvider).(StaticLibraryInfo).TransitiveStaticLibrariesForOrdering.ToList()
|
||||
actual := ctx.ModuleProvider(moduleA, StaticLibraryInfoProvider).(StaticLibraryInfo).
|
||||
TransitiveStaticLibrariesForOrdering.ToList().RelativeToTop()
|
||||
expected := getOutputPaths(ctx, variant, []string{"a", "c", "b"})
|
||||
|
||||
if !reflect.DeepEqual(actual, expected) {
|
||||
|
|
|
@ -36,8 +36,10 @@ func TestGen(t *testing.T) {
|
|||
aidl := ctx.ModuleForTests("libfoo", "android_arm_armv7-a-neon_shared").Rule("aidl")
|
||||
libfoo := ctx.ModuleForTests("libfoo", "android_arm_armv7-a-neon_shared").Module().(*Module)
|
||||
|
||||
if !inList("-I"+filepath.Dir(aidl.Output.String()), libfoo.flags.Local.CommonFlags) {
|
||||
t.Errorf("missing aidl includes in global flags")
|
||||
expected := "-I" + filepath.Dir(aidl.Output.String())
|
||||
actual := android.StringsRelativeToTop(ctx.Config(), libfoo.flags.Local.CommonFlags)
|
||||
if !inList(expected, actual) {
|
||||
t.Errorf("missing aidl includes in global flags, expected %q, actual %q", expected, actual)
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -61,7 +63,7 @@ func TestGen(t *testing.T) {
|
|||
aidlManifest := ctx.ModuleForTests("libfoo", "android_arm_armv7-a-neon_shared").Output("aidl.sbox.textproto")
|
||||
libfoo := ctx.ModuleForTests("libfoo", "android_arm_armv7-a-neon_shared").Module().(*Module)
|
||||
|
||||
if !inList("-I"+filepath.Dir(aidl.Output.String()), libfoo.flags.Local.CommonFlags) {
|
||||
if !inList("-I"+filepath.Dir(aidl.Output.String()), android.StringsRelativeToTop(ctx.Config(), libfoo.flags.Local.CommonFlags)) {
|
||||
t.Errorf("missing aidl includes in global flags")
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
package cc
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"android/soong/android"
|
||||
|
@ -302,8 +301,7 @@ func TestPrebuiltSymlinkedHostBinary(t *testing.T) {
|
|||
})
|
||||
|
||||
fooRule := ctx.ModuleForTests("foo", "linux_glibc_x86_64").Rule("Symlink")
|
||||
assertString(t, fooRule.Output.String(),
|
||||
filepath.Join(buildDir, ".intermediates/foo/linux_glibc_x86_64/foo"))
|
||||
assertString(t, fooRule.Output.String(), "out/soong/.intermediates/foo/linux_glibc_x86_64/foo")
|
||||
assertString(t, fooRule.Args["fromPath"], "$$PWD/linux_glibc_x86_64/bin/foo")
|
||||
|
||||
var libfooDep android.Path
|
||||
|
@ -313,8 +311,7 @@ func TestPrebuiltSymlinkedHostBinary(t *testing.T) {
|
|||
break
|
||||
}
|
||||
}
|
||||
assertString(t, libfooDep.String(),
|
||||
filepath.Join(buildDir, ".intermediates/libfoo/linux_glibc_x86_64_shared/libfoo.so"))
|
||||
assertString(t, libfooDep.String(), "out/soong/.intermediates/libfoo/linux_glibc_x86_64_shared/libfoo.so")
|
||||
}
|
||||
|
||||
func TestPrebuiltLibrarySanitized(t *testing.T) {
|
||||
|
|
|
@ -61,7 +61,7 @@ func TestProto(t *testing.T) {
|
|||
t.Errorf("expected %q in %q", w, cmd)
|
||||
}
|
||||
|
||||
foobarPath := foobar.Module().(android.HostToolProvider).HostToolPath().String()
|
||||
foobarPath := foobar.Module().(android.HostToolProvider).HostToolPath().RelativeToPath().String()
|
||||
|
||||
if w := "--plugin=protoc-gen-foobar=" + foobarPath; !strings.Contains(cmd, w) {
|
||||
t.Errorf("expected %q in %q", w, cmd)
|
||||
|
|
|
@ -66,6 +66,7 @@ func TestSdkMutator(t *testing.T) {
|
|||
} else {
|
||||
toFile = m.outputFile.Path()
|
||||
}
|
||||
toFile = toFile.RelativeToTop()
|
||||
|
||||
rule := from.Description("link")
|
||||
for _, dep := range rule.Implicits {
|
||||
|
|
|
@ -1670,7 +1670,7 @@ func TestJavaSdkLibrary_DoNotAccessImplWhenItIsNotBuilt(t *testing.T) {
|
|||
|
||||
// The bar library should depend on the stubs jar.
|
||||
barLibrary := result.ModuleForTests("bar", "android_common").Rule("javac")
|
||||
if expected, actual := `^-classpath .*:/[^:]*/turbine-combined/foo\.stubs\.jar$`, barLibrary.Args["classpath"]; !regexp.MustCompile(expected).MatchString(actual) {
|
||||
if expected, actual := `^-classpath .*:out/soong/[^:]*/turbine-combined/foo\.stubs\.jar$`, barLibrary.Args["classpath"]; !regexp.MustCompile(expected).MatchString(actual) {
|
||||
t.Errorf("expected %q, found %#q", expected, actual)
|
||||
}
|
||||
}
|
||||
|
@ -1973,7 +1973,7 @@ func TestJavaSdkLibrary_DefaultToStubs(t *testing.T) {
|
|||
`)
|
||||
// The baz library should depend on the system stubs jar.
|
||||
bazLibrary := result.ModuleForTests("baz", "android_common").Rule("javac")
|
||||
if expected, actual := `^-classpath .*:/[^:]*/turbine-combined/foo\.stubs.system\.jar$`, bazLibrary.Args["classpath"]; !regexp.MustCompile(expected).MatchString(actual) {
|
||||
if expected, actual := `^-classpath .*:out/soong/[^:]*/turbine-combined/foo\.stubs.system\.jar$`, bazLibrary.Args["classpath"]; !regexp.MustCompile(expected).MatchString(actual) {
|
||||
t.Errorf("expected %q, found %#q", expected, actual)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue