diff options
| author | 2017-10-10 01:14:49 +0000 | |
|---|---|---|
| committer | 2017-10-10 01:14:49 +0000 | |
| commit | 2675f5648b8089dca5543b9086ecbacf113508f7 (patch) | |
| tree | 78e6ff17835c8f2a5bc2e5943cc2bc8c2f9fdc77 /java/java_test.go | |
| parent | 4ddac411cb6075c23bb8a50955afabb477e502df (diff) | |
| parent | 54190b3b134a0209dffbfad03202ef7b9222d561 (diff) | |
Merge changes I5400e4b0,Ia6760b01,I8a076c99
* changes:
Add test for java generated sources
Fix doubled generated source files
Fix mixing genrule dependencies with globs
Diffstat (limited to 'java/java_test.go')
| -rw-r--r-- | java/java_test.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/java/java_test.go b/java/java_test.go index c2c7ee265..40343408d 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -61,6 +61,7 @@ func testJava(t *testing.T, bp string) *android.TestContext { ctx.RegisterModuleType("java_import", android.ModuleFactoryAdaptor(ImportFactory)) ctx.RegisterModuleType("java_defaults", android.ModuleFactoryAdaptor(defaultsFactory)) ctx.RegisterModuleType("filegroup", android.ModuleFactoryAdaptor(genrule.FileGroupFactory)) + ctx.RegisterModuleType("genrule", android.ModuleFactoryAdaptor(genrule.GenRuleFactory)) ctx.PreArchMutators(android.RegisterPrebuiltsPreArchMutators) ctx.PreArchMutators(android.RegisterPrebuiltsPostDepsMutators) ctx.PreArchMutators(android.RegisterDefaultsPreArchMutators) @@ -506,6 +507,39 @@ func TestExcludeResources(t *testing.T) { } } +func TestGeneratedSources(t *testing.T) { + ctx := testJava(t, ` + java_library { + name: "foo", + srcs: [ + "a*.java", + ":gen", + "b*.java", + ], + } + + genrule { + name: "gen", + tool_files: ["res/a"], + out: ["gen.java"], + } + `) + + javac := ctx.ModuleForTests("foo", "android_common").Rule("javac") + genrule := ctx.ModuleForTests("gen", "").Rule("generator") + + if len(genrule.Outputs) != 1 || filepath.Base(genrule.Outputs[0].String()) != "gen.java" { + t.Fatalf(`gen output file %v is not [".../gen.java"]`, genrule.Outputs.Strings()) + } + + if len(javac.Inputs) != 3 || + javac.Inputs[0].String() != "a.java" || + javac.Inputs[1].String() != genrule.Outputs[0].String() || + javac.Inputs[2].String() != "b.java" { + t.Errorf(`foo inputs %v != ["a.java", ".../gen.java", "b.java"]`, javac.Inputs) + } +} + func fail(t *testing.T, errs []error) { if len(errs) > 0 { for _, err := range errs { |