Fix tests for the flavors project.
Xavier Ducrohet [Fri, 21 Sep 2012 20:58:36 +0000 (13:58 -0700)]
The test folders are case-sensitive and the camelcase was
not respected. We might need warning on this.

Also fixed a case where if the first task to run is the
compile one, the builder wouldn't be instantiated yet
and the runtimejar query would fail with an NPE.

Change-Id: Id6f27cb8ea45f212f5b93ac19b3b3c12c3f3ed85

gradle/src/main/groovy/com/android/build/gradle/AndroidBasePlugin.groovy
gradle/src/main/groovy/com/android/build/gradle/BaseAndroidTask.groovy
testapps/flavors/src/testF1/java/com/android/tests/flavors/MainActivityGroup1Test.java [moved from testapps/flavors/src/testF1/java/com/android/tests/flavors/MainActivityTest.java with 96% similarity]
testapps/flavors/src/testF2/java/com/android/tests/flavors/MainActivityGroup1Test.java [moved from testapps/flavors/src/testF2/java/com/android/tests/flavors/MainActivityTest.java with 96% similarity]
testapps/flavors/src/testFa/java/com/android/tests/flavors/MainActivityGroup2Test.java [moved from testapps/flavors/src/testFA/java/com/android/tests/flavors/MainActivityTest.java with 92% similarity]
testapps/flavors/src/testFb/java/com/android/tests/flavors/MainActivityGroup2Test.java [moved from testapps/flavors/src/testFB/java/com/android/tests/flavors/MainActivityTest.java with 92% similarity]

index d8cbda6..9dbe187 100644 (file)
@@ -112,12 +112,15 @@ abstract class AndroidBasePlugin {
         return project.logger.isEnabled(LogLevel.DEBUG)
     }
 
-    AndroidBuilder getAndroidBuilder(Object key) {
-        return builders.get(key)
-    }
+    AndroidBuilder getAndroidBuilder(ApplicationVariant variant) {
+        AndroidBuilder androidBuilder = builders.get(variant)
+
+        if (androidBuilder == null) {
+            androidBuilder = variant.createBuilder(this)
+            builders.put(variant, androidBuilder)
+        }
 
-    void setAndroidBuilder(Object key, AndroidBuilder androidBuilder) {
-        builders.put(key, androidBuilder)
+        return androidBuilder
     }
 
     private void findSdk(Project project) {
index 94cba8e..e75cb0e 100644 (file)
@@ -30,13 +30,6 @@ abstract class BaseAndroidTask extends DefaultTask {
     Iterable<Object> configObjects
 
     protected AndroidBuilder getBuilder() {
-        AndroidBuilder androidBuilder = plugin.getAndroidBuilder(variant);
-
-        if (androidBuilder == null) {
-            androidBuilder = variant.createBuilder(plugin)
-            plugin.setAndroidBuilder(variant, androidBuilder)
-        }
-
-        return androidBuilder
+        return plugin.getAndroidBuilder(variant);
     }
 }
@@ -37,7 +37,7 @@ import android.widget.TextView;
  * See {@link com.example.android.apis.AllTests} for documentation on running
  * all tests and individual tests in this application.
  */
-public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> {
+public class MainActivityGroup1Test extends ActivityInstrumentationTestCase2<MainActivity> {
 
     private TextView mResOverLay;
     private TextView mResOverLay1;
@@ -47,7 +47,7 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv
     /**
      * Creates an {@link ActivityInstrumentationTestCase2} that tests the {@link Focus2} activity.
      */
-    public MainActivityTest() {
+    public MainActivityGroup1Test() {
         super(MainActivity.class);
     }
 
@@ -37,7 +37,7 @@ import android.widget.TextView;
  * See {@link com.example.android.apis.AllTests} for documentation on running
  * all tests and individual tests in this application.
  */
-public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> {
+public class MainActivityGroup1Test extends ActivityInstrumentationTestCase2<MainActivity> {
 
     private TextView mResOverLay;
     private TextView mResOverLay1;
@@ -47,7 +47,7 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv
     /**
      * Creates an {@link ActivityInstrumentationTestCase2} that tests the {@link Focus2} activity.
      */
-    public MainActivityTest() {
+    public MainActivityGroup1Test() {
         super(MainActivity.class);
     }
 
@@ -37,7 +37,7 @@ import android.widget.TextView;
  * See {@link com.example.android.apis.AllTests} for documentation on running
  * all tests and individual tests in this application.
  */
-public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> {
+public class MainActivityGroup2Test extends ActivityInstrumentationTestCase2<MainActivity> {
 
     private TextView mResOverLay;
     private TextView mResOverLay2;
@@ -47,7 +47,7 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv
     /**
      * Creates an {@link ActivityInstrumentationTestCase2} that tests the {@link Focus2} activity.
      */
-    public MainActivityTest() {
+    public MainActivityGroup2Test() {
         super(MainActivity.class);
     }
 
@@ -82,17 +82,17 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv
     public void testResOverlay() {
         // because this group has lower priority, we check that the resource from
         // this flavor is not used.
-        assertNotEquals("FA", mResOverLay.getText());
+        assertFalse("FA".equals(mResOverLay.getText()));
         assertEquals("FA", mResOverLay2.getText());
     }
 
     @MediumTest
     public void testBuildConfig() {
-        assertEquals("FA", mBuildConfig1.getText());
+        assertEquals("FA", mBuildConfig2.getText());
     }
 
     @MediumTest
     public void testCodeOverlay() {
-        assertEquals("FA", mCodeOverlay1.getText());
+        assertEquals("FA", mCodeOverlay2.getText());
     }
 }
@@ -37,7 +37,7 @@ import android.widget.TextView;
  * See {@link com.example.android.apis.AllTests} for documentation on running
  * all tests and individual tests in this application.
  */
-public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> {
+public class MainActivityGroup2Test extends ActivityInstrumentationTestCase2<MainActivity> {
 
     private TextView mResOverLay;
     private TextView mResOverLay2;
@@ -47,7 +47,7 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv
     /**
      * Creates an {@link ActivityInstrumentationTestCase2} that tests the {@link Focus2} activity.
      */
-    public MainActivityTest() {
+    public MainActivityGroup2Test() {
         super(MainActivity.class);
     }
 
@@ -82,17 +82,17 @@ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActiv
     public void testResOverlay() {
         // because this group has lower priority, we check that the resource from
         // this flavor is not used.
-        assertNotEquals("FB", mResOverLay.getText());
+        assertFalse("FB".equals(mResOverLay.getText()));
         assertEquals("FB", mResOverLay2.getText());
     }
 
     @MediumTest
     public void testBuildConfig() {
-        assertEquals("FB", mBuildConfig1.getText());
+        assertEquals("FB", mBuildConfig2.getText());
     }
 
     @MediumTest
     public void testCodeOverlay() {
-        assertEquals("FB", mCodeOverlay1.getText());
+        assertEquals("FB", mCodeOverlay2.getText());
     }
 }