aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
diff options
context:
space:
mode:
authorGravatar asteinb <asteinb@google.com>2018-05-29 11:16:04 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-29 11:17:37 -0700
commit12d27f8321c3e2a0019cf69f2f95f4ee21060145 (patch)
tree440b6ad7176a2c20f79841ccf75f62a5f2d28e7b /src/test/java/com
parent2cb4f48dc5f674a4a99228cce7ca04aef5a0c335 (diff)
Fix edge case in inferring Java package from path to targets
When deriving the Java package from path to a target, actually derive it from the path to the entire target, not just the target's BUILD file. RELNOTES: none PiperOrigin-RevId: 198426047
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestTest.java20
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/android/BUILD1
2 files changed, 21 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestTest.java
index b28eb2e49f..b9726cd607 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLocalTestTest.java
@@ -18,6 +18,7 @@ import static com.google.common.truth.Truth.assertThat;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.util.ActionsTestUtil;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
+import com.google.devtools.build.lib.rules.java.JavaPrimaryClassProvider;
import com.google.devtools.build.lib.testutil.MoreAsserts;
import java.util.List;
import org.junit.Test;
@@ -161,6 +162,25 @@ public abstract class AndroidLocalTestTest extends AbstractAndroidLocalTestTestB
assertThat(resourceApk).isNull();
}
+ /**
+ * Tests that the Java package can be correctly inferred from the path to a target, not just the
+ * path to the corresponding BUILD file.
+ */
+ @Test
+ public void testInferredJavaPackageFromPackageName() throws Exception {
+ useConfiguration("--android_decouple_data_processing");
+
+ ConfiguredTarget target =
+ scratchConfiguredTarget(
+ "java-src/test",
+ "test/java/foo/bar",
+ "android_local_test(name ='test/java/foo/bar',",
+ " manifest = 'AndroidManifest.xml')");
+
+ assertThat(target.getProvider(JavaPrimaryClassProvider.class).getPrimaryClass())
+ .isEqualTo("foo.bar");
+ }
+
@Override
protected String getRuleName() {
return "android_local_test";
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/BUILD b/src/test/java/com/google/devtools/build/lib/rules/android/BUILD
index 3da5c1b498..b04f6061cf 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/BUILD
@@ -340,6 +340,7 @@ java_library(
":AbstractAndroidLocalTestTestBase",
"//src/main/java/com/google/devtools/build/lib:android-rules",
"//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:java-rules",
"//src/main/java/com/google/devtools/build/lib:util",
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/test/java/com/google/devtools/build/lib:actions_testutil",