diff options
Diffstat (limited to 'java/java_test.go')
| -rw-r--r-- | java/java_test.go | 45 | 
1 files changed, 45 insertions, 0 deletions
| diff --git a/java/java_test.go b/java/java_test.go index 32b0b0f68..9e5cf0cf2 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -1667,3 +1667,48 @@ func TestDataDeviceBinsBuildsDeviceBinary(t *testing.T) {  		})  	}  } + +func TestImportMixedBuild(t *testing.T) { +	bp := ` +		java_import { +			name: "baz", +			jars: [ +				"test1.jar", +				"test2.jar", +			], +			bazel_module: { label: "//foo/bar:baz" }, +		} +	` + +	ctx := android.GroupFixturePreparers( +		prepareForJavaTest, +		android.FixtureModifyConfig(func(config android.Config) { +			config.BazelContext = android.MockBazelContext{ +				OutputBaseDir: "outputbase", +				LabelToOutputFiles: map[string][]string{ +					"//foo/bar:baz": []string{"test1.jar", "test2.jar"}, +				}, +			} +		}), +	).RunTestWithBp(t, bp) + +	bazMod := ctx.ModuleForTests("baz", "android_common").Module() +	producer := bazMod.(android.OutputFileProducer) +	expectedOutputFiles := []string{".intermediates/baz/android_common/bazelCombined/baz.jar"} + +	outputFiles, err := producer.OutputFiles("") +	if err != nil { +		t.Errorf("Unexpected error getting java_import outputfiles %s", err) +	} +	actualOutputFiles := android.NormalizePathsForTesting(outputFiles) +	android.AssertDeepEquals(t, "Output files are produced", expectedOutputFiles, actualOutputFiles) + +	javaInfoProvider := ctx.ModuleProvider(bazMod, JavaInfoProvider) +	javaInfo, ok := javaInfoProvider.(JavaInfo) +	if !ok { +		t.Error("could not get JavaInfo from java_import module") +	} +	android.AssertDeepEquals(t, "Header JARs are produced", expectedOutputFiles, android.NormalizePathsForTesting(javaInfo.HeaderJars)) +	android.AssertDeepEquals(t, "Implementation/Resources JARs are produced", expectedOutputFiles, android.NormalizePathsForTesting(javaInfo.ImplementationAndResourcesJars)) +	android.AssertDeepEquals(t, "Implementation JARs are produced", expectedOutputFiles, android.NormalizePathsForTesting(javaInfo.ImplementationJars)) +} |