aboutsummaryrefslogtreecommitdiff
path: root/tests/api
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2012-11-12 09:46:07 +0100
committerXavier Ducrohet <xav@android.com>2012-11-12 11:00:48 +0100
commitec1ea61b42ba03107a75f524df6e3c06532f196d (patch)
treef9cde8de0c3b17ce586de629c294375c0fb5f627 /tests/api
parent91f53cd2dd9caef4ffbfd996df2612ee35e5fb21 (diff)
downloadbuild-ec1ea61b42ba03107a75f524df6e3c06532f196d.tar.gz
Add test that builds all the test projects.
Change-Id: I8686052470b71f9f61f83da360a205a2f04d5271
Diffstat (limited to 'tests/api')
-rw-r--r--tests/api/build.gradle32
-rw-r--r--tests/api/src/main/AndroidManifest.xml30
-rw-r--r--tests/api/src/main/java/com/android/tests/basic/Main.java15
-rw-r--r--tests/api/src/main/res/drawable/icon.pngbin0 -> 2574 bytes
-rw-r--r--tests/api/src/main/res/layout/main.xml14
-rw-r--r--tests/api/src/main/res/values/strings.xml4
-rw-r--r--tests/api/src/release/res/values/strings.xml4
-rw-r--r--tests/api/src/test/java/com/android/tests/basic/MainTest.java38
8 files changed, 137 insertions, 0 deletions
diff --git a/tests/api/build.gradle b/tests/api/build.gradle
new file mode 100644
index 0000000..be69012
--- /dev/null
+++ b/tests/api/build.gradle
@@ -0,0 +1,32 @@
+buildscript {
+ repositories {
+ maven { url '../../repo' }
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:0.3-SNAPSHOT'
+ }
+}
+apply plugin: 'android'
+
+android {
+ target "android-15"
+}
+
+// query for all (non-test) variants and inject a new step in the builds
+android.buildVariants.each { variant ->
+ // create a task that "handles" the compile classes
+ // does some processing (or not)
+ // and outputs a jar
+ def jarTask = tasks.add(name: "jar${variant.name.capitalize()}", type: Jar) {
+ from variant.javaCompile.destinationDir
+ destinationDir file("${buildDir}/jars/${variant.dirName}")
+ baseName "classes"
+ }
+
+ // this task depends on the compilation task
+ jarTask.dependsOn variant.javaCompile
+
+ // now make the dex task depend on it and use its output
+ variant.dex.dependsOn jarTask
+ variant.dex.sourceFiles = files(jarTask.archivePath).files
+} \ No newline at end of file
diff --git a/tests/api/src/main/AndroidManifest.xml b/tests/api/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..4f8d570
--- /dev/null
+++ b/tests/api/src/main/AndroidManifest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.tests.basic">
+ <application android:label="@string/app_name" android:icon="@drawable/icon">
+ <activity android:name=".Main"
+ android:label="@string/app_name">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+
+ <uses-permission android:name="com.blah" />
+
+ <permission-group android:name="foo.permission-group.COST_MONEY"
+ android:label="@string/app_name"
+ android:description="@string/app_name" />
+
+ <permission android:name="foo.permission.SEND_SMS"
+ android:permissionGroup="foo.permission-group.COST_MONEY"
+ android:label="@string/app_name"
+ android:description="@string/app_name" />
+
+ <permission android:name="foo.blah.SEND_SMS"
+ android:permissionGroup="foo.permission-group.COST_MONEY"
+ android:label="@string/app_name"
+ android:description="@string/app_name" />
+
+</manifest>
diff --git a/tests/api/src/main/java/com/android/tests/basic/Main.java b/tests/api/src/main/java/com/android/tests/basic/Main.java
new file mode 100644
index 0000000..2b0e698
--- /dev/null
+++ b/tests/api/src/main/java/com/android/tests/basic/Main.java
@@ -0,0 +1,15 @@
+package com.android.tests.basic;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+public class Main extends Activity
+{
+ /** Called when the activity is first created. */
+ @Override
+ public void onCreate(Bundle savedInstanceState)
+ {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.main);
+ }
+}
diff --git a/tests/api/src/main/res/drawable/icon.png b/tests/api/src/main/res/drawable/icon.png
new file mode 100644
index 0000000..a07c69f
--- /dev/null
+++ b/tests/api/src/main/res/drawable/icon.png
Binary files differ
diff --git a/tests/api/src/main/res/layout/main.xml b/tests/api/src/main/res/layout/main.xml
new file mode 100644
index 0000000..b199751
--- /dev/null
+++ b/tests/api/src/main/res/layout/main.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ >
+<TextView
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:text="Test App - Basic"
+ android:id="@+id/text"
+ />
+</LinearLayout>
+
diff --git a/tests/api/src/main/res/values/strings.xml b/tests/api/src/main/res/values/strings.xml
new file mode 100644
index 0000000..60ea2d0
--- /dev/null
+++ b/tests/api/src/main/res/values/strings.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">_Test-Basic</string>
+</resources>
diff --git a/tests/api/src/release/res/values/strings.xml b/tests/api/src/release/res/values/strings.xml
new file mode 100644
index 0000000..532909c
--- /dev/null
+++ b/tests/api/src/release/res/values/strings.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="app_name">_Test-Basic-Release</string>
+</resources>
diff --git a/tests/api/src/test/java/com/android/tests/basic/MainTest.java b/tests/api/src/test/java/com/android/tests/basic/MainTest.java
new file mode 100644
index 0000000..7cf7329
--- /dev/null
+++ b/tests/api/src/test/java/com/android/tests/basic/MainTest.java
@@ -0,0 +1,38 @@
+package com.android.tests.basic;
+
+import android.test.ActivityInstrumentationTestCase2;
+import android.test.suitebuilder.annotation.MediumTest;
+import android.widget.TextView;
+
+public class MainTest extends ActivityInstrumentationTestCase2<Main> {
+
+ private TextView mTextView;
+
+ /**
+ * Creates an {@link ActivityInstrumentationTestCase2} that tests the {@link Main} activity.
+ */
+ public MainTest() {
+ super(Main.class);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ final Main a = getActivity();
+ // ensure a valid handle to the activity has been returned
+ assertNotNull(a);
+ mTextView = (TextView) a.findViewById(R.id.text);
+ }
+
+ /**
+ * The name 'test preconditions' is a convention to signal that if this
+ * test doesn't pass, the test case was not set up properly and it might
+ * explain any and all failures in other tests. This is not guaranteed
+ * to run before other tests, as junit uses reflection to find the tests.
+ */
+ @MediumTest
+ public void testPreconditions() {
+ assertNotNull(mTextView);
+ }
+}
+