diff --git a/android/testing.go b/android/testing.go index 79d0c9b41..816707d63 100644 --- a/android/testing.go +++ b/android/testing.go @@ -1038,8 +1038,8 @@ func (m TestingModule) VariablesForTestsRelativeToTop() map[string]string { // Exits the test immediately if there is an error and // otherwise returns the result of calling Paths.RelativeToTop // on the returned Paths. -func (m TestingModule) OutputFiles(t *testing.T, tag string) Paths { - outputFiles := m.Module().base().outputFiles +func (m TestingModule) OutputFiles(ctx *TestContext, t *testing.T, tag string) Paths { + outputFiles := OtherModuleProviderOrDefault(ctx.OtherModuleProviderAdaptor(), m.Module(), OutputFilesProvider) if tag == "" && outputFiles.DefaultOutputFiles != nil { return outputFiles.DefaultOutputFiles.RelativeToTop() } else if taggedOutputFiles, hasTag := outputFiles.TaggedOutputFiles[tag]; hasTag { diff --git a/cc/cc_test.go b/cc/cc_test.go index 779e53d40..79e386ff6 100644 --- a/cc/cc_test.go +++ b/cc/cc_test.go @@ -302,7 +302,7 @@ func TestDataLibs(t *testing.T) { ctx := testCcWithConfig(t, config) testingModule := ctx.ModuleForTests("main_test", "android_arm_armv7-a-neon") testBinary := testingModule.Module().(*Module).linker.(*testBinary) - outputFiles := testingModule.OutputFiles(t, "") + outputFiles := testingModule.OutputFiles(ctx, t, "") if len(outputFiles) != 1 { t.Errorf("expected exactly one output file. output files: [%s]", outputFiles) return @@ -355,7 +355,7 @@ func TestDataLibsRelativeInstallPath(t *testing.T) { testingModule := ctx.ModuleForTests("main_test", "android_arm_armv7-a-neon") module := testingModule.Module() testBinary := module.(*Module).linker.(*testBinary) - outputFiles := testingModule.OutputFiles(t, "") + outputFiles := testingModule.OutputFiles(ctx, t, "") if len(outputFiles) != 1 { t.Fatalf("expected exactly one output file. output files: [%s]", outputFiles) } @@ -1404,7 +1404,7 @@ func TestDataLibsPrebuiltSharedTestLibrary(t *testing.T) { testingModule := ctx.ModuleForTests("main_test", "android_arm_armv7-a-neon") module := testingModule.Module() testBinary := module.(*Module).linker.(*testBinary) - outputFiles := testingModule.OutputFiles(t, "") + outputFiles := testingModule.OutputFiles(ctx, t, "") if len(outputFiles) != 1 { t.Errorf("expected exactly one output file. output files: [%s]", outputFiles) } @@ -3111,7 +3111,7 @@ func TestStrippedAllOutputFile(t *testing.T) { config := TestConfig(t.TempDir(), android.Android, nil, bp, nil) ctx := testCcWithConfig(t, config) testingModule := ctx.ModuleForTests("test_lib", "android_arm_armv7-a-neon_shared") - outputFile := testingModule.OutputFiles(t, "stripped_all") + outputFile := testingModule.OutputFiles(ctx, t, "stripped_all") if !strings.HasSuffix(outputFile.Strings()[0], "/stripped_all/test_lib.so") { t.Errorf("Unexpected output file: %s", outputFile.Strings()[0]) return diff --git a/cc/genrule_test.go b/cc/genrule_test.go index b3d511679..9a8049b2c 100644 --- a/cc/genrule_test.go +++ b/cc/genrule_test.go @@ -236,7 +236,7 @@ func TestMultilibGenruleOut(t *testing.T) { } ` result := PrepareForIntegrationTestWithCc.RunTestWithBp(t, bp) - gen_32bit := result.ModuleForTests("gen", "android_arm_armv7-a-neon").OutputFiles(t, "") + gen_32bit := result.ModuleForTests("gen", "android_arm_armv7-a-neon").OutputFiles(result.TestContext, t, "") android.AssertPathsEndWith(t, "genrule_out", []string{ @@ -245,7 +245,7 @@ func TestMultilibGenruleOut(t *testing.T) { gen_32bit, ) - gen_64bit := result.ModuleForTests("gen", "android_arm64_armv8-a").OutputFiles(t, "") + gen_64bit := result.ModuleForTests("gen", "android_arm64_armv8-a").OutputFiles(result.TestContext, t, "") android.AssertPathsEndWith(t, "genrule_out", []string{ diff --git a/cc/sanitize_test.go b/cc/sanitize_test.go index 80facd8f0..a1cfb5c36 100644 --- a/cc/sanitize_test.go +++ b/cc/sanitize_test.go @@ -794,47 +794,47 @@ func TestUbsan(t *testing.T) { android.AssertStringListContains(t, "missing libclang_rt.ubsan_minimal in bin_with_ubsan static libs", strings.Split(binWithUbsan.Rule("ld").Args["libFlags"], " "), - minimalRuntime.OutputFiles(t, "")[0].String()) + minimalRuntime.OutputFiles(result.TestContext, t, "")[0].String()) android.AssertStringListContains(t, "missing libclang_rt.ubsan_minimal in bin_depends_ubsan_static static libs", strings.Split(binDependsUbsan.Rule("ld").Args["libFlags"], " "), - minimalRuntime.OutputFiles(t, "")[0].String()) + minimalRuntime.OutputFiles(result.TestContext, t, "")[0].String()) android.AssertStringListContains(t, "missing libclang_rt.ubsan_minimal in libsharedubsan static libs", strings.Split(libSharedUbsan.Rule("ld").Args["libFlags"], " "), - minimalRuntime.OutputFiles(t, "")[0].String()) + minimalRuntime.OutputFiles(result.TestContext, t, "")[0].String()) android.AssertStringListDoesNotContain(t, "unexpected libclang_rt.ubsan_minimal in bin_depends_ubsan_shared static libs", strings.Split(binDependsUbsanShared.Rule("ld").Args["libFlags"], " "), - minimalRuntime.OutputFiles(t, "")[0].String()) + minimalRuntime.OutputFiles(result.TestContext, t, "")[0].String()) android.AssertStringListDoesNotContain(t, "unexpected libclang_rt.ubsan_minimal in bin_no_ubsan static libs", strings.Split(binNoUbsan.Rule("ld").Args["libFlags"], " "), - minimalRuntime.OutputFiles(t, "")[0].String()) + minimalRuntime.OutputFiles(result.TestContext, t, "")[0].String()) android.AssertStringListContains(t, "missing -Wl,--exclude-libs for minimal runtime in bin_with_ubsan", strings.Split(binWithUbsan.Rule("ld").Args["ldFlags"], " "), - "-Wl,--exclude-libs="+minimalRuntime.OutputFiles(t, "")[0].Base()) + "-Wl,--exclude-libs="+minimalRuntime.OutputFiles(result.TestContext, t, "")[0].Base()) android.AssertStringListContains(t, "missing -Wl,--exclude-libs for minimal runtime in bin_depends_ubsan_static static libs", strings.Split(binDependsUbsan.Rule("ld").Args["ldFlags"], " "), - "-Wl,--exclude-libs="+minimalRuntime.OutputFiles(t, "")[0].Base()) + "-Wl,--exclude-libs="+minimalRuntime.OutputFiles(result.TestContext, t, "")[0].Base()) android.AssertStringListContains(t, "missing -Wl,--exclude-libs for minimal runtime in libsharedubsan static libs", strings.Split(libSharedUbsan.Rule("ld").Args["ldFlags"], " "), - "-Wl,--exclude-libs="+minimalRuntime.OutputFiles(t, "")[0].Base()) + "-Wl,--exclude-libs="+minimalRuntime.OutputFiles(result.TestContext, t, "")[0].Base()) android.AssertStringListDoesNotContain(t, "unexpected -Wl,--exclude-libs for minimal runtime in bin_depends_ubsan_shared static libs", strings.Split(binDependsUbsanShared.Rule("ld").Args["ldFlags"], " "), - "-Wl,--exclude-libs="+minimalRuntime.OutputFiles(t, "")[0].Base()) + "-Wl,--exclude-libs="+minimalRuntime.OutputFiles(result.TestContext, t, "")[0].Base()) android.AssertStringListDoesNotContain(t, "unexpected -Wl,--exclude-libs for minimal runtime in bin_no_ubsan static libs", strings.Split(binNoUbsan.Rule("ld").Args["ldFlags"], " "), - "-Wl,--exclude-libs="+minimalRuntime.OutputFiles(t, "")[0].Base()) + "-Wl,--exclude-libs="+minimalRuntime.OutputFiles(result.TestContext, t, "")[0].Base()) android.AssertStringListContains(t, "missing libclang_rt.ubsan_standalone.static in static_bin_with_ubsan_dep static libs", strings.Split(staticBin.Rule("ld").Args["libFlags"], " "), - standaloneRuntime.OutputFiles(t, "")[0].String()) + standaloneRuntime.OutputFiles(result.TestContext, t, "")[0].String()) } diff --git a/cc/testing.go b/cc/testing.go index ed567af69..159f86c60 100644 --- a/cc/testing.go +++ b/cc/testing.go @@ -713,7 +713,7 @@ func CreateTestContext(config android.Config) *android.TestContext { func checkSnapshotIncludeExclude(t *testing.T, ctx *android.TestContext, singleton android.TestingSingleton, moduleName, snapshotFilename, subDir, variant string, include bool, fake bool) { t.Helper() mod := ctx.ModuleForTests(moduleName, variant) - outputFiles := mod.OutputFiles(t, "") + outputFiles := mod.OutputFiles(ctx, t, "") if len(outputFiles) != 1 { t.Errorf("%q must have single output\n", moduleName) return diff --git a/java/aar_test.go b/java/aar_test.go index 877e2c7d6..aa4f0af10 100644 --- a/java/aar_test.go +++ b/java/aar_test.go @@ -159,9 +159,9 @@ func TestAndroidLibraryOutputFilesRel(t *testing.T) { bar := result.ModuleForTests("bar", "android_common") baz := result.ModuleForTests("baz", "android_common") - fooOutputPaths := foo.OutputFiles(t, "") - barOutputPaths := bar.OutputFiles(t, "") - bazOutputPaths := baz.OutputFiles(t, "") + fooOutputPaths := foo.OutputFiles(result.TestContext, t, "") + barOutputPaths := bar.OutputFiles(result.TestContext, t, "") + bazOutputPaths := baz.OutputFiles(result.TestContext, t, "") android.AssertPathsRelativeToTopEquals(t, "foo output path", []string{"out/soong/.intermediates/foo/android_common/withres/foo.jar"}, fooOutputPaths) diff --git a/java/app_test.go b/java/app_test.go index 6b7d522f3..ec97a553f 100644 --- a/java/app_test.go +++ b/java/app_test.go @@ -119,7 +119,7 @@ func TestAppSplits(t *testing.T) { foo.Output(expectedOutput) } - outputFiles := foo.OutputFiles(t, "") + outputFiles := foo.OutputFiles(ctx, t, "") android.AssertPathsRelativeToTopEquals(t, `OutputFiles("")`, expectedOutputs, outputFiles) } diff --git a/java/droiddoc_test.go b/java/droiddoc_test.go index e5846407f..9e1ebbed0 100644 --- a/java/droiddoc_test.go +++ b/java/droiddoc_test.go @@ -69,7 +69,7 @@ func TestDroiddoc(t *testing.T) { "bar-doc/a.java": nil, "bar-doc/b.java": nil, }) - barStubsOutputs := ctx.ModuleForTests("bar-stubs", "android_common").OutputFiles(t, "") + barStubsOutputs := ctx.ModuleForTests("bar-stubs", "android_common").OutputFiles(ctx, t, "") if len(barStubsOutputs) != 1 { t.Errorf("Expected one output from \"bar-stubs\" got %s", barStubsOutputs) } diff --git a/java/java_test.go b/java/java_test.go index 477a0b385..9e39b51aa 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -2919,9 +2919,9 @@ func TestJavaLibraryOutputFilesRel(t *testing.T) { bar := result.ModuleForTests("bar", "android_common") baz := result.ModuleForTests("baz", "android_common") - fooOutputPaths := foo.OutputFiles(t, "") - barOutputPaths := bar.OutputFiles(t, "") - bazOutputPaths := baz.OutputFiles(t, "") + fooOutputPaths := foo.OutputFiles(result.TestContext, t, "") + barOutputPaths := bar.OutputFiles(result.TestContext, t, "") + bazOutputPaths := baz.OutputFiles(result.TestContext, t, "") android.AssertPathsRelativeToTopEquals(t, "foo output path", []string{"out/soong/.intermediates/foo/android_common/javac/foo.jar"}, fooOutputPaths) diff --git a/rust/test_test.go b/rust/test_test.go index dc796c8a4..1097da226 100644 --- a/rust/test_test.go +++ b/rust/test_test.go @@ -108,7 +108,7 @@ func TestDataLibs(t *testing.T) { testingModule := ctx.ModuleForTests("main_test", "android_arm64_armv8-a") testBinary := testingModule.Module().(*Module).compiler.(*testDecorator) - outputFiles := testingModule.OutputFiles(t, "") + outputFiles := testingModule.OutputFiles(ctx, t, "") if len(outputFiles) != 1 { t.Fatalf("expected exactly one output file. output files: [%s]", outputFiles) } @@ -168,7 +168,7 @@ func TestDataLibsRelativeInstallPath(t *testing.T) { testingModule := ctx.ModuleForTests("main_test", "android_arm64_armv8-a") module := testingModule.Module() testBinary := module.(*Module).compiler.(*testDecorator) - outputFiles := testingModule.OutputFiles(t, "") + outputFiles := testingModule.OutputFiles(ctx, t, "") if len(outputFiles) != 1 { t.Fatalf("expected exactly one output file. output files: [%s]", outputFiles) }