summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'java/java_test.go')
-rw-r--r--java/java_test.go69
1 files changed, 63 insertions, 6 deletions
diff --git a/java/java_test.go b/java/java_test.go
index 5335d789..53df6f48 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -482,12 +482,6 @@ func TestResources(t *testing.T) {
482 args: "-C java-res -f java-res/a/a -f java-res/b/b", 482 args: "-C java-res -f java-res/a/a -f java-res/b/b",
483 }, 483 },
484 { 484 {
485 // Test that a module with "include_srcs: true" includes its source files in the resources jar
486 name: "include sources",
487 prop: `include_srcs: true`,
488 args: "-C . -f a.java -f b.java -f c.java",
489 },
490 {
491 // Test that a module with wildcards in java_resource_dirs has the correct path prefixes 485 // Test that a module with wildcards in java_resource_dirs has the correct path prefixes
492 name: "wildcard dirs", 486 name: "wildcard dirs",
493 prop: `java_resource_dirs: ["java-res/*"]`, 487 prop: `java_resource_dirs: ["java-res/*"]`,
@@ -555,6 +549,69 @@ func TestResources(t *testing.T) {
555 } 549 }
556} 550}
557 551
552func TestIncludeSrcs(t *testing.T) {
553 ctx := testJava(t, `
554 java_library {
555 name: "foo",
556 srcs: [
557 "a.java",
558 "b.java",
559 "c.java",
560 ],
561 include_srcs: true,
562 }
563
564 java_library {
565 name: "bar",
566 srcs: [
567 "a.java",
568 "b.java",
569 "c.java",
570 ],
571 java_resource_dirs: ["java-res"],
572 include_srcs: true,
573 }
574 `)
575
576 // Test a library with include_srcs: true
577 foo := ctx.ModuleForTests("foo", "android_common").Output("withres/foo.jar")
578 fooSrcJar := ctx.ModuleForTests("foo", "android_common").Output("foo.srcjar")
579
580 if g, w := fooSrcJar.Output.String(), foo.Inputs.Strings(); !inList(g, w) {
581 t.Errorf("foo combined jars %v does not contain %q", w, g)
582 }
583
584 if g, w := fooSrcJar.Args["jarArgs"], "-C . -f a.java -f b.java -f c.java"; g != w {
585 t.Errorf("foo source jar args %q is not %q", w, g)
586 }
587
588 // Test a library with include_srcs: true and resources
589 bar := ctx.ModuleForTests("bar", "android_common").Output("withres/bar.jar")
590 barResCombined := ctx.ModuleForTests("bar", "android_common").Output("res-combined/bar.jar")
591 barRes := ctx.ModuleForTests("bar", "android_common").Output("res/bar.jar")
592 barSrcJar := ctx.ModuleForTests("bar", "android_common").Output("bar.srcjar")
593
594 if g, w := barSrcJar.Output.String(), barResCombined.Inputs.Strings(); !inList(g, w) {
595 t.Errorf("bar combined resource jars %v does not contain %q", w, g)
596 }
597
598 if g, w := barRes.Output.String(), barResCombined.Inputs.Strings(); !inList(g, w) {
599 t.Errorf("bar combined resource jars %v does not contain %q", w, g)
600 }
601
602 if g, w := barResCombined.Output.String(), bar.Inputs.Strings(); !inList(g, w) {
603 t.Errorf("bar combined jars %v does not contain %q", w, g)
604 }
605
606 if g, w := barSrcJar.Args["jarArgs"], "-C . -f a.java -f b.java -f c.java"; g != w {
607 t.Errorf("bar source jar args %q is not %q", w, g)
608 }
609
610 if g, w := barRes.Args["jarArgs"], "-C java-res -f java-res/a/a -f java-res/b/b"; g != w {
611 t.Errorf("bar resource jar args %q is not %q", w, g)
612 }
613}
614
558func TestGeneratedSources(t *testing.T) { 615func TestGeneratedSources(t *testing.T) {
559 ctx := testJava(t, ` 616 ctx := testJava(t, `
560 java_library { 617 java_library {