diff options
author | Adam Michael <ajmichael@google.com> | 2017-02-10 20:06:16 +0000 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2017-02-13 11:32:37 +0000 |
commit | 3bed84ff177c7cbfd0c8d315829cc9dcb35fcf70 (patch) | |
tree | c7494b92344f3ac6471c468b6b5b82afc75a78c4 /src/test/java/com/google | |
parent | d0ae210dec266be180fa95efb903b54b5c878096 (diff) |
Make android_sdk_repository fail if api_level requested is not installed.
This could have prevented https://github.com/bazelbuild/bazel/issues/2500.
--
PiperOrigin-RevId: 147182987
MOS_MIGRATED_REVID=147182987
Diffstat (limited to 'src/test/java/com/google')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryTest.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryTest.java b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryTest.java index 0f33d2dd2f..6024b1f256 100644 --- a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryTest.java +++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/AndroidSdkRepositoryTest.java @@ -15,6 +15,7 @@ package com.google.devtools.build.lib.bazel.rules.android; import static com.google.common.truth.Truth.assertThat; +import static org.junit.Assert.fail; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Artifact; @@ -22,6 +23,7 @@ import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider; import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.FilesToRunProvider; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; +import com.google.devtools.build.lib.packages.BuildFileNotFoundException; import com.google.devtools.build.lib.testutil.TestRuleClassProvider; import com.google.devtools.build.lib.vfs.FileSystemUtils; import org.junit.Before; @@ -42,6 +44,7 @@ public class AndroidSdkRepositoryTest extends BuildViewTestCase { @Before public void setup() throws Exception { scratch.setWorkingDir("/sdk"); + scratch.dir("platforms/android-24"); scratch.dir("platforms/android-25"); scratch.file("extras/google/m2repository/com/google/android/foo/1.0.0/foo.pom", "<project>", @@ -127,4 +130,20 @@ public class AndroidSdkRepositoryTest extends BuildViewTestCase { .getFilesToRun()) .isEmpty(); } + + @Test + public void testMissingApiLevel() throws Exception { + scratch.deleteFile("/sdk/platforms/android-25"); + try { + invalidatePackages(); + getTarget("@androidsdk//:files"); + fail("android_sdk_repository should have failed due to missing SDK api level."); + } catch (BuildFileNotFoundException e) { + assertThat(e.getMessage()) + .contains( + "Android SDK api level 25 was requested but it is not installed in the Android SDK " + + "at /sdk. The api levels found were [24]. Please choose an available api level " + + "or install api level 25 from the Android SDK Manager."); + } + } } |