diff --git a/core/tests/coretests/Android.mk b/core/tests/coretests/Android.mk
index 77c176f622cfb..1fb98529b268c 100644
--- a/core/tests/coretests/Android.mk
+++ b/core/tests/coretests/Android.mk
@@ -5,10 +5,14 @@ include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
# Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
+LOCAL_SRC_FILES := \
+ $(call all-java-files-under, src) \
+ src/android/os/IAidlTest.aidl
LOCAL_JAVA_LIBRARIES := android.test.runner
LOCAL_PACKAGE_NAME := FrameworksCoreTests
+LOCAL_CERTIFICATE := platform
+
include $(BUILD_PACKAGE)
diff --git a/core/tests/coretests/AndroidManifest.xml b/core/tests/coretests/AndroidManifest.xml
index 02961f4f0b3a9..8d7e18728ea00 100644
--- a/core/tests/coretests/AndroidManifest.xml
+++ b/core/tests/coretests/AndroidManifest.xml
@@ -16,6 +16,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -28,12 +68,8 @@
-
-
-
-
@@ -975,6 +1011,187 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/tests/AndroidTests/res/layout/layout_six.xml b/core/tests/coretests/res/layout/layout_six.xml
similarity index 100%
rename from tests/AndroidTests/res/layout/layout_six.xml
rename to core/tests/coretests/res/layout/layout_six.xml
diff --git a/tests/AndroidTests/res/layout/layout_tag.xml b/core/tests/coretests/res/layout/layout_tag.xml
similarity index 94%
rename from tests/AndroidTests/res/layout/layout_tag.xml
rename to core/tests/coretests/res/layout/layout_tag.xml
index 72874a6d5b936..7fb0489478e61 100644
--- a/tests/AndroidTests/res/layout/layout_tag.xml
+++ b/core/tests/coretests/res/layout/layout_tag.xml
@@ -18,6 +18,6 @@
*/
-->
diff --git a/core/tests/coretests/res/layout/layout_three.xml b/core/tests/coretests/res/layout/layout_three.xml
new file mode 100644
index 0000000000000..7242fc88ca148
--- /dev/null
+++ b/core/tests/coretests/res/layout/layout_three.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/AndroidTests/res/layout/layout_two.xml b/core/tests/coretests/res/layout/layout_two.xml
similarity index 84%
rename from tests/AndroidTests/res/layout/layout_two.xml
rename to core/tests/coretests/res/layout/layout_two.xml
index af14228f98b51..9fb7d3bea5c30 100644
--- a/tests/AndroidTests/res/layout/layout_two.xml
+++ b/core/tests/coretests/res/layout/layout_two.xml
@@ -18,6 +18,6 @@
*/
-->
-
+
diff --git a/tests/AndroidTests/res/raw/medium.xml b/core/tests/coretests/res/raw/medium.xml
similarity index 100%
rename from tests/AndroidTests/res/raw/medium.xml
rename to core/tests/coretests/res/raw/medium.xml
diff --git a/tests/AndroidTests/res/raw/small.xml b/core/tests/coretests/res/raw/small.xml
similarity index 100%
rename from tests/AndroidTests/res/raw/small.xml
rename to core/tests/coretests/res/raw/small.xml
diff --git a/tests/AndroidTests/res/raw/text.txt b/core/tests/coretests/res/raw/text.txt
similarity index 100%
rename from tests/AndroidTests/res/raw/text.txt
rename to core/tests/coretests/res/raw/text.txt
diff --git a/tests/AndroidTests/res/raw/v21_backslash.vcf b/core/tests/coretests/res/raw/v21_backslash.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v21_backslash.vcf
rename to core/tests/coretests/res/raw/v21_backslash.vcf
diff --git a/tests/AndroidTests/res/raw/v21_complicated.vcf b/core/tests/coretests/res/raw/v21_complicated.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v21_complicated.vcf
rename to core/tests/coretests/res/raw/v21_complicated.vcf
diff --git a/tests/AndroidTests/res/raw/v21_invalid_comment_line.vcf b/core/tests/coretests/res/raw/v21_invalid_comment_line.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v21_invalid_comment_line.vcf
rename to core/tests/coretests/res/raw/v21_invalid_comment_line.vcf
diff --git a/tests/AndroidTests/res/raw/v21_japanese_1.vcf b/core/tests/coretests/res/raw/v21_japanese_1.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v21_japanese_1.vcf
rename to core/tests/coretests/res/raw/v21_japanese_1.vcf
diff --git a/tests/AndroidTests/res/raw/v21_japanese_2.vcf b/core/tests/coretests/res/raw/v21_japanese_2.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v21_japanese_2.vcf
rename to core/tests/coretests/res/raw/v21_japanese_2.vcf
diff --git a/tests/AndroidTests/res/raw/v21_multiple_entry.vcf b/core/tests/coretests/res/raw/v21_multiple_entry.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v21_multiple_entry.vcf
rename to core/tests/coretests/res/raw/v21_multiple_entry.vcf
diff --git a/tests/AndroidTests/res/raw/v21_org_before_title.vcf b/core/tests/coretests/res/raw/v21_org_before_title.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v21_org_before_title.vcf
rename to core/tests/coretests/res/raw/v21_org_before_title.vcf
diff --git a/tests/AndroidTests/res/raw/v21_pref_handling.vcf b/core/tests/coretests/res/raw/v21_pref_handling.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v21_pref_handling.vcf
rename to core/tests/coretests/res/raw/v21_pref_handling.vcf
diff --git a/tests/AndroidTests/res/raw/v21_simple_1.vcf b/core/tests/coretests/res/raw/v21_simple_1.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v21_simple_1.vcf
rename to core/tests/coretests/res/raw/v21_simple_1.vcf
diff --git a/tests/AndroidTests/res/raw/v21_simple_2.vcf b/core/tests/coretests/res/raw/v21_simple_2.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v21_simple_2.vcf
rename to core/tests/coretests/res/raw/v21_simple_2.vcf
diff --git a/tests/AndroidTests/res/raw/v21_simple_3.vcf b/core/tests/coretests/res/raw/v21_simple_3.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v21_simple_3.vcf
rename to core/tests/coretests/res/raw/v21_simple_3.vcf
diff --git a/tests/AndroidTests/res/raw/v21_title_before_org.vcf b/core/tests/coretests/res/raw/v21_title_before_org.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v21_title_before_org.vcf
rename to core/tests/coretests/res/raw/v21_title_before_org.vcf
diff --git a/tests/AndroidTests/res/raw/v21_winmo_65.vcf b/core/tests/coretests/res/raw/v21_winmo_65.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v21_winmo_65.vcf
rename to core/tests/coretests/res/raw/v21_winmo_65.vcf
diff --git a/tests/AndroidTests/res/raw/v30_comma_separated.vcf b/core/tests/coretests/res/raw/v30_comma_separated.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v30_comma_separated.vcf
rename to core/tests/coretests/res/raw/v30_comma_separated.vcf
diff --git a/tests/AndroidTests/res/raw/v30_simple.vcf b/core/tests/coretests/res/raw/v30_simple.vcf
similarity index 100%
rename from tests/AndroidTests/res/raw/v30_simple.vcf
rename to core/tests/coretests/res/raw/v30_simple.vcf
diff --git a/core/tests/coretests/res/values/strings.xml b/core/tests/coretests/res/values/strings.xml
index 05b57e0a59427..807386a4419e6 100644
--- a/core/tests/coretests/res/values/strings.xml
+++ b/core/tests/coretests/res/values/strings.xml
@@ -100,4 +100,21 @@
I was included!
View
+
+ S
+ S
+ S
+
+ test
+ text
+
+ Test Granted
+ Used for running unit tests, for
+ testing operations where we have the permission.
+ Test Denied
+ Used for running unit tests, for
+ testing operations where we do not have the permission.
+
+ SearchManager Test
+ A search hint
diff --git a/tests/AndroidTests/res/xml/metadata.xml b/core/tests/coretests/res/xml/metadata.xml
similarity index 100%
rename from tests/AndroidTests/res/xml/metadata.xml
rename to core/tests/coretests/res/xml/metadata.xml
diff --git a/tests/AndroidTests/res/xml/metadata_app.xml b/core/tests/coretests/res/xml/metadata_app.xml
similarity index 100%
rename from tests/AndroidTests/res/xml/metadata_app.xml
rename to core/tests/coretests/res/xml/metadata_app.xml
diff --git a/tests/AndroidTests/res/xml/searchable.xml b/core/tests/coretests/res/xml/searchable.xml
similarity index 100%
rename from tests/AndroidTests/res/xml/searchable.xml
rename to core/tests/coretests/res/xml/searchable.xml
diff --git a/tests/AndroidTests/src/com/android/unit_tests/accounts/AccountManagerServiceTest.java b/core/tests/coretests/src/android/accounts/AccountManagerServiceTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/accounts/AccountManagerServiceTest.java
rename to core/tests/coretests/src/android/accounts/AccountManagerServiceTest.java
index 1e4f161d9f60c..394b9f2a5041a 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/accounts/AccountManagerServiceTest.java
+++ b/core/tests/coretests/src/android/accounts/AccountManagerServiceTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.accounts;
+package android.accounts;
import android.test.AndroidTestCase;
import android.test.RenamingDelegatingContext;
@@ -175,4 +175,4 @@ public class AccountManagerServiceTest extends AndroidTestCase {
assertNull(ams.readAuthTokenFromDatabase(a12, "att2"));
}
-}
\ No newline at end of file
+}
diff --git a/tests/AndroidTests/src/com/android/unit_tests/SearchManagerTest.java b/core/tests/coretests/src/android/app/SearchManagerTest.java
similarity index 96%
rename from tests/AndroidTests/src/com/android/unit_tests/SearchManagerTest.java
rename to core/tests/coretests/src/android/app/SearchManagerTest.java
index 6f6f55dd6cd1a..21ed4c5f12e01 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/SearchManagerTest.java
+++ b/core/tests/coretests/src/android/app/SearchManagerTest.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.app;
-import com.android.unit_tests.activity.LocalActivity;
+import android.app.activity.LocalActivity;
import android.app.Activity;
import android.app.ISearchManager;
@@ -39,8 +39,8 @@ import android.test.suitebuilder.annotation.MediumTest;
public class SearchManagerTest extends ActivityInstrumentationTestCase2 {
private ComponentName SEARCHABLE_ACTIVITY =
- new ComponentName("com.android.unit_tests",
- "com.android.unit_tests.SearchableActivity");
+ new ComponentName("com.android.frameworks.coretests",
+ "android.app.activity.SearchableActivity");
/*
* Bug list of test ideas.
@@ -76,7 +76,7 @@ public class SearchManagerTest extends ActivityInstrumentationTestCase2 0);
+ Cursor c = mDatabase.rawQuery("SELECT data FROM test", null);
+ assertNotNull(c);
+ assertTrue(c.moveToFirst());
+ assertEquals(42.11, c.getDouble(0));
+ c.close();
+ }
+
+ @MediumTest
+ public void testCursor1() throws Exception {
+ populateDefaultTable();
+
+ Cursor c = mDatabase.query("test", null, null, null, null, null, null);
+
+ int dataColumn = c.getColumnIndexOrThrow("data");
+
+ // The cursor should ignore text before the last period when looking for a column. (This
+ // is a temporary hack in all implementations of getColumnIndex.)
+ int dataColumn2 = c.getColumnIndexOrThrow("junk.data");
+ assertEquals(dataColumn, dataColumn2);
+
+ assertSame(3, c.getCount());
+
+ assertTrue(c.isBeforeFirst());
+
+ try {
+ c.getInt(0);
+ fail("CursorIndexOutOfBoundsException expected");
+ } catch (CursorIndexOutOfBoundsException ex) {
+ // expected
+ }
+
+ c.moveToNext();
+ assertEquals(1, c.getInt(0));
+
+ String s = c.getString(dataColumn);
+ assertEquals(sString1, s);
+
+ c.moveToNext();
+ s = c.getString(dataColumn);
+ assertEquals(sString2, s);
+
+ c.moveToNext();
+ s = c.getString(dataColumn);
+ assertEquals(sString3, s);
+
+ c.moveToPosition(-1);
+ c.moveToNext();
+ s = c.getString(dataColumn);
+ assertEquals(sString1, s);
+
+ c.moveToPosition(2);
+ s = c.getString(dataColumn);
+ assertEquals(sString3, s);
+
+ int i;
+
+ for (c.moveToFirst(), i = 0; !c.isAfterLast(); c.moveToNext(), i++) {
+ c.getInt(0);
+ }
+
+ assertEquals(3, i);
+
+ try {
+ c.getInt(0);
+ fail("CursorIndexOutOfBoundsException expected");
+ } catch (CursorIndexOutOfBoundsException ex) {
+ // expected
+ }
+ c.close();
+ }
+
+ @MediumTest
+ public void testCursor2() throws Exception {
+ populateDefaultTable();
+
+ Cursor c = mDatabase.query("test", null, "_id > 1000", null, null, null, null);
+ assertEquals(0, c.getCount());
+ assertTrue(c.isBeforeFirst());
+
+ try {
+ c.getInt(0);
+ fail("CursorIndexOutOfBoundsException expected");
+ } catch (CursorIndexOutOfBoundsException ex) {
+ // expected
+ }
+
+ int i;
+ for (c.moveToFirst(), i = 0; !c.isAfterLast(); c.moveToNext(), i++) {
+ c.getInt(0);
+ }
+ assertEquals(0, i);
+ try {
+ c.getInt(0);
+ fail("CursorIndexOutOfBoundsException expected");
+ } catch (CursorIndexOutOfBoundsException ex) {
+ // expected
+ }
+ c.close();
+ }
+
+ @MediumTest
+ public void testLargeField() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (_id INTEGER PRIMARY KEY, data TEXT);");
+
+ StringBuilder sql = new StringBuilder(2100);
+ sql.append("INSERT INTO test (data) VALUES ('");
+ Random random = new Random(System.currentTimeMillis());
+ StringBuilder randomString = new StringBuilder(1979);
+ for (int i = 0; i < 1979; i++) {
+ randomString.append((random.nextInt() & 0xf) % 10);
+ }
+ sql.append(randomString);
+ sql.append("');");
+ mDatabase.execSQL(sql.toString());
+
+ Cursor c = mDatabase.query("test", null, null, null, null, null, null);
+ assertNotNull(c);
+ assertEquals(1, c.getCount());
+
+ assertTrue(c.moveToFirst());
+ assertEquals(0, c.getPosition());
+ String largeString = c.getString(c.getColumnIndexOrThrow("data"));
+ assertNotNull(largeString);
+ assertEquals(randomString.toString(), largeString);
+ c.close();
+ }
+
+ class TestObserver extends DataSetObserver {
+ int total;
+ SQLiteCursor c;
+ boolean quit = false;
+ public TestObserver(int total_, SQLiteCursor cursor) {
+ c = cursor;
+ total = total_;
+ }
+
+ @Override
+ public void onChanged() {
+ int count = c.getCount();
+ if (total == count) {
+ int i = 0;
+ while (c.moveToNext()) {
+ assertEquals(i, c.getInt(1));
+ i++;
+ }
+ assertEquals(count, i);
+ quit = true;
+ Looper.myLooper().quit();
+ }
+ }
+
+ @Override
+ public void onInvalidated() {
+ }
+ }
+
+ //@Large
+ @Suppress
+ public void testLoadingThreadDelayRegisterData() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (_id INTEGER PRIMARY KEY, data INT);");
+
+ final int count = 505;
+ String sql = "INSERT INTO test (data) VALUES (?);";
+ SQLiteStatement s = mDatabase.compileStatement(sql);
+ for (int i = 0; i < count; i++) {
+ s.bindLong(1, i);
+ s.execute();
+ }
+
+ int maxRead = 500;
+ int initialRead = 5;
+ SQLiteCursor c = (SQLiteCursor)mDatabase.rawQuery("select * from test;",
+ null, initialRead, maxRead);
+
+ TestObserver observer = new TestObserver(count, c);
+ c.getCount();
+ c.registerDataSetObserver(observer);
+ if (!observer.quit) {
+ Looper.loop();
+ }
+ c.close();
+ }
+
+ @LargeTest
+ public void testLoadingThread() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (_id INTEGER PRIMARY KEY, data INT);");
+
+ final int count = 50000;
+ String sql = "INSERT INTO test (data) VALUES (?);";
+ SQLiteStatement s = mDatabase.compileStatement(sql);
+ for (int i = 0; i < count; i++) {
+ s.bindLong(1, i);
+ s.execute();
+ }
+
+ int maxRead = 1000;
+ int initialRead = 5;
+ SQLiteCursor c = (SQLiteCursor)mDatabase.rawQuery("select * from test;",
+ null, initialRead, maxRead);
+
+ TestObserver observer = new TestObserver(count, c);
+ c.registerDataSetObserver(observer);
+ c.getCount();
+
+ Looper.loop();
+ c.close();
+ }
+
+ @LargeTest
+ public void testLoadingThreadClose() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (_id INTEGER PRIMARY KEY, data INT);");
+
+ final int count = 1000;
+ String sql = "INSERT INTO test (data) VALUES (?);";
+ SQLiteStatement s = mDatabase.compileStatement(sql);
+ for (int i = 0; i < count; i++) {
+ s.bindLong(1, i);
+ s.execute();
+ }
+
+ int maxRead = 11;
+ int initialRead = 5;
+ SQLiteCursor c = (SQLiteCursor)mDatabase.rawQuery("select * from test;",
+ null, initialRead, maxRead);
+
+ TestObserver observer = new TestObserver(count, c);
+ c.registerDataSetObserver(observer);
+ c.getCount();
+ c.close();
+ }
+
+ @LargeTest
+ public void testLoadingThreadDeactivate() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (_id INTEGER PRIMARY KEY, data INT);");
+
+ final int count = 1000;
+ String sql = "INSERT INTO test (data) VALUES (?);";
+ SQLiteStatement s = mDatabase.compileStatement(sql);
+ for (int i = 0; i < count; i++) {
+ s.bindLong(1, i);
+ s.execute();
+ }
+
+ int maxRead = 11;
+ int initialRead = 5;
+ SQLiteCursor c = (SQLiteCursor)mDatabase.rawQuery("select * from test;",
+ null, initialRead, maxRead);
+
+ TestObserver observer = new TestObserver(count, c);
+ c.registerDataSetObserver(observer);
+ c.getCount();
+ c.deactivate();
+ c.close();
+ }
+
+ @LargeTest
+ public void testManyRowsLong() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (_id INTEGER PRIMARY KEY, data INT);");
+
+ final int count = 36799;
+ for (int i = 0; i < count; i++) {
+ mDatabase.execSQL("INSERT INTO test (data) VALUES (" + i + ");");
+ }
+
+ Cursor c = mDatabase.query("test", new String[]{"data"}, null, null, null, null, null);
+ assertNotNull(c);
+
+ int i = 0;
+ while (c.moveToNext()) {
+ assertEquals(i, c.getInt(0));
+ i++;
+ }
+ assertEquals(count, i);
+ assertEquals(count, c.getCount());
+
+ Log.d("testManyRows", "count " + Integer.toString(i));
+ c.close();
+ }
+
+ @LargeTest
+ public void testManyRowsTxt() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (_id INTEGER PRIMARY KEY, data TEXT);");
+ StringBuilder sql = new StringBuilder(2100);
+ sql.append("INSERT INTO test (data) VALUES ('");
+ Random random = new Random(System.currentTimeMillis());
+ StringBuilder randomString = new StringBuilder(1979);
+ for (int i = 0; i < 1979; i++) {
+ randomString.append((random.nextInt() & 0xf) % 10);
+ }
+ sql.append(randomString);
+ sql.append("');");
+
+ // if cursor window size changed, adjust this value too
+ final int count = 600; // more than two fillWindow needed
+ for (int i = 0; i < count; i++) {
+ mDatabase.execSQL(sql.toString());
+ }
+
+ Cursor c = mDatabase.query("test", new String[]{"data"}, null, null, null, null, null);
+ assertNotNull(c);
+
+ int i = 0;
+ while (c.moveToNext()) {
+ assertEquals(randomString.toString(), c.getString(0));
+ i++;
+ }
+ assertEquals(count, i);
+ assertEquals(count, c.getCount());
+ c.close();
+ }
+
+ @LargeTest
+ public void testManyRowsTxtLong() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (_id INTEGER PRIMARY KEY, txt TEXT, data INT);");
+
+ Random random = new Random(System.currentTimeMillis());
+ StringBuilder randomString = new StringBuilder(1979);
+ for (int i = 0; i < 1979; i++) {
+ randomString.append((random.nextInt() & 0xf) % 10);
+ }
+
+ // if cursor window size changed, adjust this value too
+ final int count = 600;
+ for (int i = 0; i < count; i++) {
+ StringBuilder sql = new StringBuilder(2100);
+ sql.append("INSERT INTO test (txt, data) VALUES ('");
+ sql.append(randomString);
+ sql.append("','");
+ sql.append(i);
+ sql.append("');");
+ mDatabase.execSQL(sql.toString());
+ }
+
+ Cursor c = mDatabase.query("test", new String[]{"txt", "data"}, null, null, null, null, null);
+ assertNotNull(c);
+
+ int i = 0;
+ while (c.moveToNext()) {
+ assertEquals(randomString.toString(), c.getString(0));
+ assertEquals(i, c.getInt(1));
+ i++;
+ }
+ assertEquals(count, i);
+ assertEquals(count, c.getCount());
+ c.close();
+ }
+
+ @MediumTest
+ public void testRequery() throws Exception {
+ populateDefaultTable();
+
+ Cursor c = mDatabase.rawQuery("SELECT * FROM test", null);
+ assertNotNull(c);
+ assertEquals(3, c.getCount());
+ c.deactivate();
+ c.requery();
+ assertEquals(3, c.getCount());
+ c.close();
+ }
+
+ @MediumTest
+ public void testRequeryWithSelection() throws Exception {
+ populateDefaultTable();
+
+ Cursor c = mDatabase.rawQuery("SELECT data FROM test WHERE data = '" + sString1 + "'",
+ null);
+ assertNotNull(c);
+ assertEquals(1, c.getCount());
+ assertTrue(c.moveToFirst());
+ assertEquals(sString1, c.getString(0));
+ c.deactivate();
+ c.requery();
+ assertEquals(1, c.getCount());
+ assertTrue(c.moveToFirst());
+ assertEquals(sString1, c.getString(0));
+ c.close();
+ }
+
+ @MediumTest
+ public void testRequeryWithSelectionArgs() throws Exception {
+ populateDefaultTable();
+
+ Cursor c = mDatabase.rawQuery("SELECT data FROM test WHERE data = ?",
+ new String[]{sString1});
+ assertNotNull(c);
+ assertEquals(1, c.getCount());
+ assertTrue(c.moveToFirst());
+ assertEquals(sString1, c.getString(0));
+ c.deactivate();
+ c.requery();
+ assertEquals(1, c.getCount());
+ assertTrue(c.moveToFirst());
+ assertEquals(sString1, c.getString(0));
+ c.close();
+ }
+
+ @MediumTest
+ public void testRequeryWithAlteredSelectionArgs() throws Exception {
+ /**
+ * Test the ability of a subclass of SQLiteCursor to change its query arguments.
+ */
+ populateDefaultTable();
+
+ SQLiteDatabase.CursorFactory factory = new SQLiteDatabase.CursorFactory() {
+ public Cursor newCursor(
+ SQLiteDatabase db, SQLiteCursorDriver masterQuery, String editTable,
+ SQLiteQuery query) {
+ return new SQLiteCursor(db, masterQuery, editTable, query) {
+ @Override
+ public boolean requery() {
+ setSelectionArguments(new String[]{"2"});
+ return super.requery();
+ }
+ };
+ }
+ };
+ Cursor c = mDatabase.rawQueryWithFactory(
+ factory, "SELECT data FROM test WHERE _id <= ?", new String[]{"1"},
+ null);
+ assertNotNull(c);
+ assertEquals(1, c.getCount());
+ assertTrue(c.moveToFirst());
+ assertEquals(sString1, c.getString(0));
+
+ // Our hacked requery() changes the query arguments in the cursor.
+ c.requery();
+
+ assertEquals(2, c.getCount());
+ assertTrue(c.moveToFirst());
+ assertEquals(sString1, c.getString(0));
+ assertTrue(c.moveToNext());
+ assertEquals(sString2, c.getString(0));
+
+ // Test that setting query args on a deactivated cursor also works.
+ c.deactivate();
+ c.requery();
+ }
+}
diff --git a/tests/AndroidTests/src/com/android/unit_tests/DatabaseGeneralTest.java b/core/tests/coretests/src/android/database/DatabaseGeneralTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/DatabaseGeneralTest.java
rename to core/tests/coretests/src/android/database/DatabaseGeneralTest.java
index d7dd601adc868..ca650e0b2b7ca 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/DatabaseGeneralTest.java
+++ b/core/tests/coretests/src/android/database/DatabaseGeneralTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.database;
import android.content.ContentValues;
import android.content.Context;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/DatabaseLocaleTest.java b/core/tests/coretests/src/android/database/DatabaseLocaleTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/DatabaseLocaleTest.java
rename to core/tests/coretests/src/android/database/DatabaseLocaleTest.java
index f07ca7c74ef63..b32829412cb57 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/DatabaseLocaleTest.java
+++ b/core/tests/coretests/src/android/database/DatabaseLocaleTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.database;
import android.database.sqlite.SQLiteDatabase;
import android.database.Cursor;
@@ -126,4 +126,4 @@ public class DatabaseLocaleTest extends TestCase {
if (cursor != null) cursor.close();
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/AndroidTests/src/com/android/unit_tests/DatabaseLockTest.java b/core/tests/coretests/src/android/database/DatabaseLockTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/DatabaseLockTest.java
rename to core/tests/coretests/src/android/database/DatabaseLockTest.java
index 326f873630f89..f7a9f8af3801c 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/DatabaseLockTest.java
+++ b/core/tests/coretests/src/android/database/DatabaseLockTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.database;
import android.app.Activity;
import android.content.Context;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/DatabasePerformanceTests.java b/core/tests/coretests/src/android/database/DatabasePerformanceTests.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/DatabasePerformanceTests.java
rename to core/tests/coretests/src/android/database/DatabasePerformanceTests.java
index 68ce5e1585e73..b8ebcc4a025e7 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/DatabasePerformanceTests.java
+++ b/core/tests/coretests/src/android/database/DatabasePerformanceTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.database;
import junit.framework.Assert;
diff --git a/core/tests/coretests/src/android/database/DatabaseStatementTest.java b/core/tests/coretests/src/android/database/DatabaseStatementTest.java
new file mode 100644
index 0000000000000..71dc3ae08439b
--- /dev/null
+++ b/core/tests/coretests/src/android/database/DatabaseStatementTest.java
@@ -0,0 +1,324 @@
+/*
+ * Copyright (C) 2007 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.database;
+
+import android.content.Context;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteConstraintException;
+import android.database.sqlite.SQLiteDatabase;
+import android.database.sqlite.SQLiteDoneException;
+import android.database.sqlite.SQLiteStatement;
+import android.test.AndroidTestCase;
+import android.test.PerformanceTestCase;
+import android.test.suitebuilder.annotation.MediumTest;
+import android.test.suitebuilder.annotation.SmallTest;
+import junit.framework.TestCase;
+
+import java.io.File;
+
+public class DatabaseStatementTest extends AndroidTestCase implements PerformanceTestCase {
+
+ private static final String sString1 = "this is a test";
+ private static final String sString2 = "and yet another test";
+ private static final String sString3 = "this string is a little longer, but still a test";
+
+ private static final int CURRENT_DATABASE_VERSION = 42;
+ private SQLiteDatabase mDatabase;
+ private File mDatabaseFile;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ File dbDir = getContext().getDir("tests", Context.MODE_PRIVATE);
+ mDatabaseFile = new File(dbDir, "database_test.db");
+
+ if (mDatabaseFile.exists()) {
+ mDatabaseFile.delete();
+ }
+ mDatabase = SQLiteDatabase.openOrCreateDatabase(mDatabaseFile.getPath(), null);
+ assertNotNull(mDatabase);
+ mDatabase.setVersion(CURRENT_DATABASE_VERSION);
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ mDatabase.close();
+ mDatabaseFile.delete();
+ super.tearDown();
+ }
+
+ public boolean isPerformanceOnly() {
+ return false;
+ }
+
+ // These test can only be run once.
+ public int startPerformance(Intermediates intermediates) {
+ return 1;
+ }
+
+ private void populateDefaultTable() {
+ mDatabase.execSQL("CREATE TABLE test (_id INTEGER PRIMARY KEY, data TEXT);");
+
+ mDatabase.execSQL("INSERT INTO test (data) VALUES ('" + sString1 + "');");
+ mDatabase.execSQL("INSERT INTO test (data) VALUES ('" + sString2 + "');");
+ mDatabase.execSQL("INSERT INTO test (data) VALUES ('" + sString3 + "');");
+ }
+
+ @MediumTest
+ public void testExecuteStatement() throws Exception {
+ populateDefaultTable();
+ SQLiteStatement statement = mDatabase.compileStatement("DELETE FROM test");
+ statement.execute();
+
+ Cursor c = mDatabase.query("test", null, null, null, null, null, null);
+ assertEquals(0, c.getCount());
+ c.deactivate();
+ statement.close();
+ }
+
+ @MediumTest
+ public void testSimpleQuery() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (num INTEGER NOT NULL, str TEXT NOT NULL);");
+ mDatabase.execSQL("INSERT INTO test VALUES (1234, 'hello');");
+ SQLiteStatement statement1 =
+ mDatabase.compileStatement("SELECT num FROM test WHERE str = ?");
+ SQLiteStatement statement2 =
+ mDatabase.compileStatement("SELECT str FROM test WHERE num = ?");
+
+ try {
+ statement1.bindString(1, "hello");
+ long value = statement1.simpleQueryForLong();
+ assertEquals(1234, value);
+
+ statement1.bindString(1, "world");
+ statement1.simpleQueryForLong();
+ fail("shouldn't get here");
+ } catch (SQLiteDoneException e) {
+ // expected
+ }
+
+ try {
+ statement2.bindLong(1, 1234);
+ String value = statement1.simpleQueryForString();
+ assertEquals("hello", value);
+
+ statement2.bindLong(1, 5678);
+ statement1.simpleQueryForString();
+ fail("shouldn't get here");
+ } catch (SQLiteDoneException e) {
+ // expected
+ }
+
+ statement1.close();
+ statement2.close();
+ }
+
+ @MediumTest
+ public void testStatementLongBinding() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (num INTEGER);");
+ SQLiteStatement statement = mDatabase.compileStatement("INSERT INTO test (num) VALUES (?)");
+
+ for (int i = 0; i < 10; i++) {
+ statement.bindLong(1, i);
+ statement.execute();
+ }
+ statement.close();
+
+ Cursor c = mDatabase.query("test", null, null, null, null, null, null);
+ int numCol = c.getColumnIndexOrThrow("num");
+ c.moveToFirst();
+ for (long i = 0; i < 10; i++) {
+ long num = c.getLong(numCol);
+ assertEquals(i, num);
+ c.moveToNext();
+ }
+ c.close();
+ }
+
+ @MediumTest
+ public void testStatementStringBinding() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (num TEXT);");
+ SQLiteStatement statement = mDatabase.compileStatement("INSERT INTO test (num) VALUES (?)");
+
+ for (long i = 0; i < 10; i++) {
+ statement.bindString(1, Long.toHexString(i));
+ statement.execute();
+ }
+ statement.close();
+
+ Cursor c = mDatabase.query("test", null, null, null, null, null, null);
+ int numCol = c.getColumnIndexOrThrow("num");
+ c.moveToFirst();
+ for (long i = 0; i < 10; i++) {
+ String num = c.getString(numCol);
+ assertEquals(Long.toHexString(i), num);
+ c.moveToNext();
+ }
+ c.close();
+ }
+
+ @MediumTest
+ public void testStatementClearBindings() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (num INTEGER);");
+ SQLiteStatement statement = mDatabase.compileStatement("INSERT INTO test (num) VALUES (?)");
+
+ for (long i = 0; i < 10; i++) {
+ statement.bindLong(1, i);
+ statement.clearBindings();
+ statement.execute();
+ }
+ statement.close();
+
+ Cursor c = mDatabase.query("test", null, null, null, null, null, "ROWID");
+ int numCol = c.getColumnIndexOrThrow("num");
+ assertTrue(c.moveToFirst());
+ for (long i = 0; i < 10; i++) {
+ assertTrue(c.isNull(numCol));
+ c.moveToNext();
+ }
+ c.close();
+ }
+
+ @MediumTest
+ public void testSimpleStringBinding() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (num TEXT, value TEXT);");
+ String statement = "INSERT INTO test (num, value) VALUES (?,?)";
+
+ String[] args = new String[2];
+ for (int i = 0; i < 2; i++) {
+ args[i] = Integer.toHexString(i);
+ }
+
+ mDatabase.execSQL(statement, args);
+
+ Cursor c = mDatabase.query("test", null, null, null, null, null, null);
+ int numCol = c.getColumnIndexOrThrow("num");
+ int valCol = c.getColumnIndexOrThrow("value");
+ c.moveToFirst();
+ String num = c.getString(numCol);
+ assertEquals(Integer.toHexString(0), num);
+
+ String val = c.getString(valCol);
+ assertEquals(Integer.toHexString(1), val);
+ c.close();
+ }
+
+ @MediumTest
+ public void testStatementMultipleBindings() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (num INTEGER, str TEXT);");
+ SQLiteStatement statement =
+ mDatabase.compileStatement("INSERT INTO test (num, str) VALUES (?, ?)");
+
+ for (long i = 0; i < 10; i++) {
+ statement.bindLong(1, i);
+ statement.bindString(2, Long.toHexString(i));
+ statement.execute();
+ }
+ statement.close();
+
+ Cursor c = mDatabase.query("test", null, null, null, null, null, "ROWID");
+ int numCol = c.getColumnIndexOrThrow("num");
+ int strCol = c.getColumnIndexOrThrow("str");
+ assertTrue(c.moveToFirst());
+ for (long i = 0; i < 10; i++) {
+ long num = c.getLong(numCol);
+ String str = c.getString(strCol);
+ assertEquals(i, num);
+ assertEquals(Long.toHexString(i), str);
+ c.moveToNext();
+ }
+ c.close();
+ }
+
+ private static class StatementTestThread extends Thread {
+ private SQLiteDatabase mDatabase;
+ private SQLiteStatement mStatement;
+
+ public StatementTestThread(SQLiteDatabase db, SQLiteStatement statement) {
+ super();
+ mDatabase = db;
+ mStatement = statement;
+ }
+
+ @Override
+ public void run() {
+ mDatabase.beginTransaction();
+ for (long i = 0; i < 10; i++) {
+ mStatement.bindLong(1, i);
+ mStatement.bindString(2, Long.toHexString(i));
+ mStatement.execute();
+ }
+ mDatabase.setTransactionSuccessful();
+ mDatabase.endTransaction();
+
+ Cursor c = mDatabase.query("test", null, null, null, null, null, "ROWID");
+ int numCol = c.getColumnIndexOrThrow("num");
+ int strCol = c.getColumnIndexOrThrow("str");
+ assertTrue(c.moveToFirst());
+ for (long i = 0; i < 10; i++) {
+ long num = c.getLong(numCol);
+ String str = c.getString(strCol);
+ assertEquals(i, num);
+ assertEquals(Long.toHexString(i), str);
+ c.moveToNext();
+ }
+ c.close();
+ }
+ }
+
+ @MediumTest
+ public void testStatementMultiThreaded() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (num INTEGER, str TEXT);");
+ SQLiteStatement statement =
+ mDatabase.compileStatement("INSERT INTO test (num, str) VALUES (?, ?)");
+
+ StatementTestThread thread = new StatementTestThread(mDatabase, statement);
+ thread.start();
+ try {
+ thread.join();
+ } finally {
+ statement.close();
+ }
+ }
+
+ @MediumTest
+ public void testStatementConstraint() throws Exception {
+ mDatabase.execSQL("CREATE TABLE test (num INTEGER NOT NULL);");
+ SQLiteStatement statement = mDatabase.compileStatement("INSERT INTO test (num) VALUES (?)");
+
+ // Try to insert NULL, which violates the constraint
+ try {
+ statement.clearBindings();
+ statement.execute();
+ fail("expected exception not thrown");
+ } catch (SQLiteConstraintException e) {
+ // expected
+ }
+
+ // Make sure the statement can still be used
+ statement.bindLong(1, 1);
+ statement.execute();
+ statement.close();
+
+ Cursor c = mDatabase.query("test", null, null, null, null, null, null);
+ int numCol = c.getColumnIndexOrThrow("num");
+ c.moveToFirst();
+ long num = c.getLong(numCol);
+ assertEquals(1, num);
+ c.close();
+ }
+}
diff --git a/tests/AndroidTests/src/com/android/unit_tests/DatabaseStressTest.java b/core/tests/coretests/src/android/database/DatabaseStressTest.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/DatabaseStressTest.java
rename to core/tests/coretests/src/android/database/DatabaseStressTest.java
index b1101254556b0..30e46e7dfb901 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/DatabaseStressTest.java
+++ b/core/tests/coretests/src/android/database/DatabaseStressTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.database;
import android.content.Context;
import android.database.sqlite.*;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/LocalSocketTest.java b/core/tests/coretests/src/android/net/LocalSocketTest.java
similarity index 95%
rename from tests/AndroidTests/src/com/android/unit_tests/LocalSocketTest.java
rename to core/tests/coretests/src/android/net/LocalSocketTest.java
index 0b8ec7408b6e9..1349844c80cf1 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/LocalSocketTest.java
+++ b/core/tests/coretests/src/android/net/LocalSocketTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.net;
import android.net.Credentials;
import android.net.LocalServerSocket;
@@ -35,11 +35,11 @@ public class LocalSocketTest extends TestCase {
LocalSocket ls;
LocalSocket ls1;
- ss = new LocalServerSocket("com.android.unit_tests.LocalSocketTest");
+ ss = new LocalServerSocket("android.net.LocalSocketTest");
ls = new LocalSocket();
- ls.connect(new LocalSocketAddress("com.android.unit_tests.LocalSocketTest"));
+ ls.connect(new LocalSocketAddress("android.net.LocalSocketTest"));
ls1 = ss.accept();
diff --git a/tests/AndroidTests/src/com/android/unit_tests/SSLTest.java b/core/tests/coretests/src/android/net/SSLTest.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/SSLTest.java
rename to core/tests/coretests/src/android/net/SSLTest.java
index 94811801b55eb..810ed0d5882d1 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/SSLTest.java
+++ b/core/tests/coretests/src/android/net/SSLTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.net;
import android.net.SSLCertificateSocketFactory;
import android.test.suitebuilder.annotation.Suppress;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/UriMatcherTest.java b/core/tests/coretests/src/android/net/UriMatcherTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/UriMatcherTest.java
rename to core/tests/coretests/src/android/net/UriMatcherTest.java
index ce3ea75675aee..287214460b6af 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/UriMatcherTest.java
+++ b/core/tests/coretests/src/android/net/UriMatcherTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.net;
import android.content.UriMatcher;
import android.net.Uri;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/UriTest.java b/core/tests/coretests/src/android/net/UriTest.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/UriTest.java
rename to core/tests/coretests/src/android/net/UriTest.java
index 42066d9536ec8..ad71fcbad6cfc 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/UriTest.java
+++ b/core/tests/coretests/src/android/net/UriTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.net;
import android.net.Uri;
import android.content.ContentUris;
@@ -52,15 +52,20 @@ public class UriTest extends TestCase {
private void parcelAndUnparcel(Uri u) {
Parcel p = Parcel.obtain();
- Uri.writeToParcel(p, u);
- p.setDataPosition(0);
- assertEquals(u, Uri.CREATOR.createFromParcel(p));
+ try {
+ Uri.writeToParcel(p, u);
+ p.setDataPosition(0);
+ assertEquals(u, Uri.CREATOR.createFromParcel(p));
- p.setDataPosition(0);
- u = u.buildUpon().build();
- Uri.writeToParcel(p, u);
- p.setDataPosition(0);
- assertEquals(u, Uri.CREATOR.createFromParcel(p));
+ p.setDataPosition(0);
+ u = u.buildUpon().build();
+ Uri.writeToParcel(p, u);
+ p.setDataPosition(0);
+ assertEquals(u, Uri.CREATOR.createFromParcel(p));
+ }
+ finally {
+ p.recycle();
+ }
}
@SmallTest
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/AidlTest.aidl b/core/tests/coretests/src/android/os/AidlTest.aidl
similarity index 95%
rename from tests/AndroidTests/src/com/android/unit_tests/os/AidlTest.aidl
rename to core/tests/coretests/src/android/os/AidlTest.aidl
index 62c75a514a860..6004f4b870a24 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/AidlTest.aidl
+++ b/core/tests/coretests/src/android/os/AidlTest.aidl
@@ -15,6 +15,6 @@
** limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
parcelable AidlTest.TestParcelable;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/AidlTest.java b/core/tests/coretests/src/android/os/AidlTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/os/AidlTest.java
rename to core/tests/coretests/src/android/os/AidlTest.java
index 52e666d84e250..bf11d56de0458 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/AidlTest.java
+++ b/core/tests/coretests/src/android/os/AidlTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import android.os.IInterface;
import android.os.Parcel;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/BroadcasterTest.java b/core/tests/coretests/src/android/os/BroadcasterTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/os/BroadcasterTest.java
rename to core/tests/coretests/src/android/os/BroadcasterTest.java
index 0df1653a46f16..551ea8d7d5d45 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/BroadcasterTest.java
+++ b/core/tests/coretests/src/android/os/BroadcasterTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import android.os.Broadcaster;
import android.os.Handler;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/BuildTest.java b/core/tests/coretests/src/android/os/BuildTest.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/BuildTest.java
rename to core/tests/coretests/src/android/os/BuildTest.java
index 88fa3ccbd829a..37586279d9801 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/BuildTest.java
+++ b/core/tests/coretests/src/android/os/BuildTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.os;
import android.os.Build;
import android.test.suitebuilder.annotation.SmallTest;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/FileObserverTest.java b/core/tests/coretests/src/android/os/FileObserverTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/os/FileObserverTest.java
rename to core/tests/coretests/src/android/os/FileObserverTest.java
index a9be5bdad15b1..ca4e0d657c463 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/FileObserverTest.java
+++ b/core/tests/coretests/src/android/os/FileObserverTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import com.google.android.collect.Lists;
import com.google.android.collect.Maps;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/FileUtilsTest.java b/core/tests/coretests/src/android/os/FileUtilsTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/os/FileUtilsTest.java
rename to core/tests/coretests/src/android/os/FileUtilsTest.java
index f2c92932f8a13..f12cbe1e7983d 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/FileUtilsTest.java
+++ b/core/tests/coretests/src/android/os/FileUtilsTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import android.content.Context;
import android.os.FileUtils;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/HandlerTester.java b/core/tests/coretests/src/android/os/HandlerTester.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/os/HandlerTester.java
rename to core/tests/coretests/src/android/os/HandlerTester.java
index 303245f59ff81..a216a0bf71693 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/HandlerTester.java
+++ b/core/tests/coretests/src/android/os/HandlerTester.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import android.os.Handler;
import android.os.Looper;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/HandlerThreadTest.java b/core/tests/coretests/src/android/os/HandlerThreadTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/os/HandlerThreadTest.java
rename to core/tests/coretests/src/android/os/HandlerThreadTest.java
index f2025c6b91db6..9772aa427999c 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/HandlerThreadTest.java
+++ b/core/tests/coretests/src/android/os/HandlerThreadTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import junit.framework.TestCase;
import android.os.Handler;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/HierarchicalStateMachineTest.java b/core/tests/coretests/src/android/os/HierarchicalStateMachineTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/os/HierarchicalStateMachineTest.java
rename to core/tests/coretests/src/android/os/HierarchicalStateMachineTest.java
index c5ca5a7211189..6e50c7e56117d 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/HierarchicalStateMachineTest.java
+++ b/core/tests/coretests/src/android/os/HierarchicalStateMachineTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import junit.framework.TestCase;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/IAidlTest.aidl b/core/tests/coretests/src/android/os/IAidlTest.aidl
similarity index 96%
rename from tests/AndroidTests/src/com/android/unit_tests/os/IAidlTest.aidl
rename to core/tests/coretests/src/android/os/IAidlTest.aidl
index 94c39ff74e101..a09022e0a135d 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/IAidlTest.aidl
+++ b/core/tests/coretests/src/android/os/IAidlTest.aidl
@@ -15,9 +15,9 @@
** limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
-import com.android.unit_tests.os.AidlTest;
+import android.os.AidlTest;
interface IAidlTest {
int intMethod(int a);
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/IdleHandlerTest.java b/core/tests/coretests/src/android/os/IdleHandlerTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/os/IdleHandlerTest.java
rename to core/tests/coretests/src/android/os/IdleHandlerTest.java
index fc3b00745d4fe..6c0a862aa2ea3 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/IdleHandlerTest.java
+++ b/core/tests/coretests/src/android/os/IdleHandlerTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import android.os.Handler;
import android.os.Looper;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/MemoryFileTest.java b/core/tests/coretests/src/android/os/MemoryFileTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/os/MemoryFileTest.java
rename to core/tests/coretests/src/android/os/MemoryFileTest.java
index 18b3d6321e83d..411bdaa309f87 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/MemoryFileTest.java
+++ b/core/tests/coretests/src/android/os/MemoryFileTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import android.os.MemoryFile;
import android.test.AndroidTestCase;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/MessageQueueTest.java b/core/tests/coretests/src/android/os/MessageQueueTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/os/MessageQueueTest.java
rename to core/tests/coretests/src/android/os/MessageQueueTest.java
index 155a2471b22e8..b7c2d1f1c1495 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/MessageQueueTest.java
+++ b/core/tests/coretests/src/android/os/MessageQueueTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import android.os.Handler;
import android.os.Message;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/MessengerService.java b/core/tests/coretests/src/android/os/MessengerService.java
similarity index 97%
rename from tests/AndroidTests/src/com/android/unit_tests/os/MessengerService.java
rename to core/tests/coretests/src/android/os/MessengerService.java
index 9228a43fb7b7d..f15e134080847 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/MessengerService.java
+++ b/core/tests/coretests/src/android/os/MessengerService.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import android.app.Service;
import android.content.Intent;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/MessengerTest.java b/core/tests/coretests/src/android/os/MessengerTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/os/MessengerTest.java
rename to core/tests/coretests/src/android/os/MessengerTest.java
index 2a3e204df41b6..473ffe2298b3f 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/MessengerTest.java
+++ b/core/tests/coretests/src/android/os/MessengerTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import android.content.ComponentName;
import android.content.Context;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/OsTests.java b/core/tests/coretests/src/android/os/OsTests.java
similarity index 90%
rename from tests/AndroidTests/src/com/android/unit_tests/os/OsTests.java
rename to core/tests/coretests/src/android/os/OsTests.java
index bf02509ed35fe..582bf1ae204aa 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/OsTests.java
+++ b/core/tests/coretests/src/android/os/OsTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import com.google.android.collect.Lists;
import junit.framework.TestSuite;
@@ -30,10 +30,8 @@ public class OsTests {
suite.addTestSuite(BroadcasterTest.class);
suite.addTestSuite(FileObserverTest.class);
suite.addTestSuite(IdleHandlerTest.class);
- suite.addTestSuite(MemoryFileTest.class);
suite.addTestSuite(MessageQueueTest.class);
suite.addTestSuite(MessengerTest.class);
- suite.addTestSuite(PowerManagerTest.class);
suite.addTestSuite(SystemPropertiesTest.class);
return suite;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/PerformanceCollectorTest.java b/core/tests/coretests/src/android/os/PerformanceCollectorTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/os/PerformanceCollectorTest.java
rename to core/tests/coretests/src/android/os/PerformanceCollectorTest.java
index 25b6e0ef05dc2..a382239e7869c 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/PerformanceCollectorTest.java
+++ b/core/tests/coretests/src/android/os/PerformanceCollectorTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import android.os.Bundle;
import android.os.Parcelable;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/PowerManagerTest.java b/core/tests/coretests/src/android/os/PowerManagerTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/os/PowerManagerTest.java
rename to core/tests/coretests/src/android/os/PowerManagerTest.java
index 2f1a7389e8fc2..e089b3e0768e6 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/PowerManagerTest.java
+++ b/core/tests/coretests/src/android/os/PowerManagerTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import android.content.Context;
import android.os.PowerManager;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/SystemPropertiesTest.java b/core/tests/coretests/src/android/os/SystemPropertiesTest.java
similarity index 93%
rename from tests/AndroidTests/src/com/android/unit_tests/os/SystemPropertiesTest.java
rename to core/tests/coretests/src/android/os/SystemPropertiesTest.java
index df08bb9293ae9..25868ce0b7024 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/SystemPropertiesTest.java
+++ b/core/tests/coretests/src/android/os/SystemPropertiesTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import static junit.framework.Assert.assertEquals;
import junit.framework.TestCase;
@@ -23,7 +23,7 @@ import android.os.SystemProperties;
import android.test.suitebuilder.annotation.SmallTest;
public class SystemPropertiesTest extends TestCase {
- private static final String KEY = "com.android.unit_tests";
+ private static final String KEY = "com.android.frameworks.coretests";
@SmallTest
public void testProperties() throws Exception {
if (false) {
diff --git a/tests/AndroidTests/src/com/android/unit_tests/os/TestHandlerThread.java b/core/tests/coretests/src/android/os/TestHandlerThread.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/os/TestHandlerThread.java
rename to core/tests/coretests/src/android/os/TestHandlerThread.java
index dba8dde9ed178..7e84af363a866 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/os/TestHandlerThread.java
+++ b/core/tests/coretests/src/android/os/TestHandlerThread.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.os;
+package android.os;
import android.os.Handler;
import android.os.Looper;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/TraceTest.java b/core/tests/coretests/src/android/os/TraceTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/TraceTest.java
rename to core/tests/coretests/src/android/os/TraceTest.java
index 670508053717a..7a788ee6c25db 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/TraceTest.java
+++ b/core/tests/coretests/src/android/os/TraceTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.os;
import android.os.Debug;
import android.test.AndroidTestCase;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/ContentValuesBuilder.java b/core/tests/coretests/src/android/pim/vcard/ContentValuesBuilder.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/ContentValuesBuilder.java
rename to core/tests/coretests/src/android/pim/vcard/ContentValuesBuilder.java
index e99e4cb6b0f39..b3c0773903fab 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/ContentValuesBuilder.java
+++ b/core/tests/coretests/src/android/pim/vcard/ContentValuesBuilder.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.content.ContentValues;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/ContentValuesVerifier.java b/core/tests/coretests/src/android/pim/vcard/ContentValuesVerifier.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/ContentValuesVerifier.java
rename to core/tests/coretests/src/android/pim/vcard/ContentValuesVerifier.java
index 3fa6ae6b0edfc..b9e9875cd9a7e 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/ContentValuesVerifier.java
+++ b/core/tests/coretests/src/android/pim/vcard/ContentValuesVerifier.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.pim.vcard.VCardConfig;
import android.pim.vcard.VCardEntry;
@@ -98,4 +98,4 @@ import java.util.List;
elem.verifyResolver();
}
}
-}
\ No newline at end of file
+}
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/ContentValuesVerifierElem.java b/core/tests/coretests/src/android/pim/vcard/ContentValuesVerifierElem.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/ContentValuesVerifierElem.java
rename to core/tests/coretests/src/android/pim/vcard/ContentValuesVerifierElem.java
index f5112171c70e7..2edbb36d42204 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/ContentValuesVerifierElem.java
+++ b/core/tests/coretests/src/android/pim/vcard/ContentValuesVerifierElem.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.content.ContentValues;
import android.pim.vcard.VCardConfig;
@@ -92,4 +92,4 @@ import java.io.InputStream;
public void onParsingEnd() {
mHandler.onEnd();
}
-}
\ No newline at end of file
+}
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/ExportTestResolver.java b/core/tests/coretests/src/android/pim/vcard/ExportTestResolver.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/ExportTestResolver.java
rename to core/tests/coretests/src/android/pim/vcard/ExportTestResolver.java
index a76dfd8b69114..1b3cdcc555450 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/ExportTestResolver.java
+++ b/core/tests/coretests/src/android/pim/vcard/ExportTestResolver.java
@@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.content.ContentResolver;
import android.content.ContentValues;
@@ -210,4 +210,4 @@ import java.util.List;
}
};
}
-}
\ No newline at end of file
+}
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/ImportTestResolver.java b/core/tests/coretests/src/android/pim/vcard/ImportTestResolver.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/ImportTestResolver.java
rename to core/tests/coretests/src/android/pim/vcard/ImportTestResolver.java
index a1e9d75f64ad3..019b9e39f824b 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/ImportTestResolver.java
+++ b/core/tests/coretests/src/android/pim/vcard/ImportTestResolver.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/LineVerifier.java b/core/tests/coretests/src/android/pim/vcard/LineVerifier.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/LineVerifier.java
rename to core/tests/coretests/src/android/pim/vcard/LineVerifier.java
index 27b95a603fa48..cef15fd762c07 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/LineVerifier.java
+++ b/core/tests/coretests/src/android/pim/vcard/LineVerifier.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.content.Context;
import android.pim.vcard.VCardComposer;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/LineVerifierElem.java b/core/tests/coretests/src/android/pim/vcard/LineVerifierElem.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/LineVerifierElem.java
rename to core/tests/coretests/src/android/pim/vcard/LineVerifierElem.java
index fc478afcf11be..b23b29be8a6ad 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/LineVerifierElem.java
+++ b/core/tests/coretests/src/android/pim/vcard/LineVerifierElem.java
@@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.pim.vcard.VCardConfig;
import android.text.TextUtils;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/PropertyNode.java b/core/tests/coretests/src/android/pim/vcard/PropertyNode.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/PropertyNode.java
rename to core/tests/coretests/src/android/pim/vcard/PropertyNode.java
index 14a789abd861f..2c1f6d28de98d 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/PropertyNode.java
+++ b/core/tests/coretests/src/android/pim/vcard/PropertyNode.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.content.ContentValues;
import android.pim.vcard.VCardEntry;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/PropertyNodesVerifier.java b/core/tests/coretests/src/android/pim/vcard/PropertyNodesVerifier.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/PropertyNodesVerifier.java
rename to core/tests/coretests/src/android/pim/vcard/PropertyNodesVerifier.java
index 0afad490b383e..cfdd0743fa5cd 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/PropertyNodesVerifier.java
+++ b/core/tests/coretests/src/android/pim/vcard/PropertyNodesVerifier.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.content.ContentValues;
import android.pim.vcard.VCardConfig;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardExporterTests.java b/core/tests/coretests/src/android/pim/vcard/VCardExporterTests.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/VCardExporterTests.java
rename to core/tests/coretests/src/android/pim/vcard/VCardExporterTests.java
index e744a9226fdf2..004a197352d93 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardExporterTests.java
+++ b/core/tests/coretests/src/android/pim/vcard/VCardExporterTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.content.ContentValues;
import android.pim.vcard.VCardConfig;
@@ -31,7 +31,7 @@ import android.provider.ContactsContract.CommonDataKinds.StructuredName;
import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.CommonDataKinds.Website;
-import com.android.unit_tests.vcard.PropertyNodesVerifierElem.TypeSet;
+import android.pim.vcard.PropertyNodesVerifierElem.TypeSet;
import java.util.Arrays;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardImporterTests.java b/core/tests/coretests/src/android/pim/vcard/VCardImporterTests.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/VCardImporterTests.java
rename to core/tests/coretests/src/android/pim/vcard/VCardImporterTests.java
index 45d3e3c7faeeb..21f22540c6970 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardImporterTests.java
+++ b/core/tests/coretests/src/android/pim/vcard/VCardImporterTests.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.content.ContentValues;
import android.pim.vcard.VCardConfig;
@@ -28,8 +28,8 @@ import android.provider.ContactsContract.CommonDataKinds.StructuredName;
import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.CommonDataKinds.Website;
-import com.android.unit_tests.R;
-import com.android.unit_tests.vcard.PropertyNodesVerifierElem.TypeSet;
+import com.android.frameworks.coretests.R;
+import android.pim.vcard.PropertyNodesVerifierElem.TypeSet;
import java.util.Arrays;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardJapanizationTests.java b/core/tests/coretests/src/android/pim/vcard/VCardJapanizationTests.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/VCardJapanizationTests.java
rename to core/tests/coretests/src/android/pim/vcard/VCardJapanizationTests.java
index eea98c601ee69..5b60342c872b3 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardJapanizationTests.java
+++ b/core/tests/coretests/src/android/pim/vcard/VCardJapanizationTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.content.ContentValues;
import android.pim.vcard.VCardConfig;
@@ -24,7 +24,7 @@ import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.CommonDataKinds.StructuredName;
import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
-import com.android.unit_tests.vcard.PropertyNodesVerifierElem.TypeSet;
+import android.pim.vcard.PropertyNodesVerifierElem.TypeSet;
import java.util.Arrays;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardTestsBase.java b/core/tests/coretests/src/android/pim/vcard/VCardTestsBase.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/VCardTestsBase.java
rename to core/tests/coretests/src/android/pim/vcard/VCardTestsBase.java
index 2382b42df7090..0857e0c6e3ad2 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardTestsBase.java
+++ b/core/tests/coretests/src/android/pim/vcard/VCardTestsBase.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.content.ContentProvider;
import android.content.ContentProviderOperation;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardUtilsTests.java b/core/tests/coretests/src/android/pim/vcard/VCardUtilsTests.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/VCardUtilsTests.java
rename to core/tests/coretests/src/android/pim/vcard/VCardUtilsTests.java
index 9f173af716e3a..59299f9dff35e 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardUtilsTests.java
+++ b/core/tests/coretests/src/android/pim/vcard/VCardUtilsTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.pim.vcard.VCardUtils;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardVerifier.java b/core/tests/coretests/src/android/pim/vcard/VCardVerifier.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/VCardVerifier.java
rename to core/tests/coretests/src/android/pim/vcard/VCardVerifier.java
index 4b97750aa74d1..bfc315829c2da 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/VCardVerifier.java
+++ b/core/tests/coretests/src/android/pim/vcard/VCardVerifier.java
@@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.content.ContentProvider;
import android.content.ContentResolver;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/VNode.java b/core/tests/coretests/src/android/pim/vcard/VNode.java
similarity index 96%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/VNode.java
rename to core/tests/coretests/src/android/pim/vcard/VNode.java
index 75873203b0057..79f10dc92e19c 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/VNode.java
+++ b/core/tests/coretests/src/android/pim/vcard/VNode.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import java.util.ArrayList;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/vcard/VNodeBuilder.java b/core/tests/coretests/src/android/pim/vcard/VNodeBuilder.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/vcard/VNodeBuilder.java
rename to core/tests/coretests/src/android/pim/vcard/VNodeBuilder.java
index 971fe0dc494a7..0e6c3259b5fa7 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/vcard/VNodeBuilder.java
+++ b/core/tests/coretests/src/android/pim/vcard/VNodeBuilder.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.unit_tests.vcard;
+package android.pim.vcard;
import android.content.ContentValues;
import android.pim.vcard.VCardInterpreter;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/SettingsProviderTest.java b/core/tests/coretests/src/android/provider/SettingsProviderTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/SettingsProviderTest.java
rename to core/tests/coretests/src/android/provider/SettingsProviderTest.java
index 7d828ec320322..f82d79ad728b5 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/SettingsProviderTest.java
+++ b/core/tests/coretests/src/android/provider/SettingsProviderTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.provider;
import android.content.ContentResolver;
import android.content.ContentUris;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/SmsProviderTest.java b/core/tests/coretests/src/android/provider/SmsProviderTest.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/SmsProviderTest.java
rename to core/tests/coretests/src/android/provider/SmsProviderTest.java
index 0e2f0c54619ab..c8ed728715cbc 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/SmsProviderTest.java
+++ b/core/tests/coretests/src/android/provider/SmsProviderTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.provider;
import android.content.ContentResolver;
import android.content.ContentValues;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/SpannedTest.java b/core/tests/coretests/src/android/text/SpannedTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/SpannedTest.java
rename to core/tests/coretests/src/android/text/SpannedTest.java
index 9e3f483fe179f..1c22cf9fe84b5 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/SpannedTest.java
+++ b/core/tests/coretests/src/android/text/SpannedTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.text;
import android.graphics.Typeface;
import android.os.Parcel;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/TextLayoutTest.java b/core/tests/coretests/src/android/text/TextLayoutTest.java
similarity index 97%
rename from tests/AndroidTests/src/com/android/unit_tests/TextLayoutTest.java
rename to core/tests/coretests/src/android/text/TextLayoutTest.java
index 8cfcd5e698ec5..6cf30005ee76e 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/TextLayoutTest.java
+++ b/core/tests/coretests/src/android/text/TextLayoutTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.text;
import android.test.suitebuilder.annotation.SmallTest;
import android.text.DynamicLayout;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/TextUtilsTest.java b/core/tests/coretests/src/android/text/TextUtilsTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/TextUtilsTest.java
rename to core/tests/coretests/src/android/text/TextUtilsTest.java
index b1948962e63bd..5b427be23dc7b 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/TextUtilsTest.java
+++ b/core/tests/coretests/src/android/text/TextUtilsTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.text;
import android.graphics.Paint;
import android.test.suitebuilder.annotation.LargeTest;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/TimeTest.java b/core/tests/coretests/src/android/text/format/TimeTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/TimeTest.java
rename to core/tests/coretests/src/android/text/format/TimeTest.java
index 724ef6a56137c..489f58b03cdbc 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/TimeTest.java
+++ b/core/tests/coretests/src/android/text/format/TimeTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.text.format;
import android.test.suitebuilder.annotation.SmallTest;
import android.test.suitebuilder.annotation.Suppress;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/LogTest.java b/core/tests/coretests/src/android/util/LogTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/LogTest.java
rename to core/tests/coretests/src/android/util/LogTest.java
index 786c4b97c7bb6..41947d7214da5 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/LogTest.java
+++ b/core/tests/coretests/src/android/util/LogTest.java
@@ -1,4 +1,4 @@
-package com.android.unit_tests;
+package android.util;
import junit.framework.Assert;
import junit.framework.TestCase;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/TimeUtilsTest.java b/core/tests/coretests/src/android/util/TimeUtilsTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/TimeUtilsTest.java
rename to core/tests/coretests/src/android/util/TimeUtilsTest.java
index 6ba64fdeb1730..65a6078f692c4 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/TimeUtilsTest.java
+++ b/core/tests/coretests/src/android/util/TimeUtilsTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.util;
import junit.framework.TestCase;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/CreateViewTest.java b/core/tests/coretests/src/android/view/CreateViewTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/CreateViewTest.java
rename to core/tests/coretests/src/android/view/CreateViewTest.java
index 0c57ac4fa77e0..16656f6886405 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/CreateViewTest.java
+++ b/core/tests/coretests/src/android/view/CreateViewTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.view;
import android.content.Context;
import android.test.AndroidTestCase;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/InflateTest.java b/core/tests/coretests/src/android/view/InflateTest.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/InflateTest.java
rename to core/tests/coretests/src/android/view/InflateTest.java
index d7c9d60d0935d..cb4f8e2399b15 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/InflateTest.java
+++ b/core/tests/coretests/src/android/view/InflateTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.view;
import android.content.Context;
import android.content.res.Resources;
@@ -24,6 +24,7 @@ import android.test.suitebuilder.annotation.SmallTest;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
+import com.android.frameworks.coretests.R;
import java.util.Map;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/MenuTest.java b/core/tests/coretests/src/android/view/MenuTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/MenuTest.java
rename to core/tests/coretests/src/android/view/MenuTest.java
index c436726a0fc87..e8a8438607f86 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/MenuTest.java
+++ b/core/tests/coretests/src/android/view/MenuTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.view;
import com.android.internal.view.menu.MenuBuilder;
@@ -29,6 +29,8 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
+import com.android.frameworks.coretests.R;
+
public class MenuTest extends AndroidTestCase {
private MenuBuilder mMenu;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/WebkitTest.java b/core/tests/coretests/src/android/webkit/WebkitTest.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/WebkitTest.java
rename to core/tests/coretests/src/android/webkit/WebkitTest.java
index 4a0519e271e31..17b4088f09962 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/WebkitTest.java
+++ b/core/tests/coretests/src/android/webkit/WebkitTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.webkit;
import android.test.AndroidTestCase;
import android.text.format.DateFormat;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/LabelView.java b/core/tests/coretests/src/android/widget/LabelView.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/LabelView.java
rename to core/tests/coretests/src/android/widget/LabelView.java
index ac297766faf97..4661c0115db4c 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/LabelView.java
+++ b/core/tests/coretests/src/android/widget/LabelView.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.widget;
import android.content.Context;
import android.graphics.Canvas;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/TextViewPerformanceTest.java b/core/tests/coretests/src/android/widget/TextViewPerformanceTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/TextViewPerformanceTest.java
rename to core/tests/coretests/src/android/widget/TextViewPerformanceTest.java
index 6fa8f4fffbe82..c25df7c1b44e4 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/TextViewPerformanceTest.java
+++ b/core/tests/coretests/src/android/widget/TextViewPerformanceTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.widget;
import android.content.Context;
import android.graphics.Bitmap;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/TextViewTest.java b/core/tests/coretests/src/android/widget/TextViewTest.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/TextViewTest.java
rename to core/tests/coretests/src/android/widget/TextViewTest.java
index 8e491181de99a..d8d145c98b2ec 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/TextViewTest.java
+++ b/core/tests/coretests/src/android/widget/TextViewTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.widget;
import com.google.android.collect.Lists;
import com.google.android.collect.Maps;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/BitwiseStreamsTest.java b/core/tests/coretests/src/com/android/internal/util/BitwiseStreamsTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/BitwiseStreamsTest.java
rename to core/tests/coretests/src/com/android/internal/util/BitwiseStreamsTest.java
index c5562b36b7e32..a304b68145dfd 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/BitwiseStreamsTest.java
+++ b/core/tests/coretests/src/com/android/internal/util/BitwiseStreamsTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package com.android.internal.util;
import com.android.internal.util.BitwiseInputStream;
import com.android.internal.util.BitwiseOutputStream;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/CharSequencesTest.java b/core/tests/coretests/src/com/android/internal/util/CharSequencesTest.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/CharSequencesTest.java
rename to core/tests/coretests/src/com/android/internal/util/CharSequencesTest.java
index 092f309189ad4..55d186c292f6e 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/CharSequencesTest.java
+++ b/core/tests/coretests/src/com/android/internal/util/CharSequencesTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package com.android.internal.util;
import com.android.internal.util.CharSequences;
import static com.android.internal.util.CharSequences.forAsciiBytes;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/ParentalControlTest.java b/core/tests/coretests/src/com/google/android/net/ParentalControlTest.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/ParentalControlTest.java
rename to core/tests/coretests/src/com/google/android/net/ParentalControlTest.java
index d4d2a8257186a..d8ffeab2892e4 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/ParentalControlTest.java
+++ b/core/tests/coretests/src/com/google/android/net/ParentalControlTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package com.google.android.net;
import com.google.android.net.ParentalControl;
import com.google.android.net.ParentalControlState;
diff --git a/graphics/tests/graphicstests/Android.mk b/graphics/tests/graphicstests/Android.mk
new file mode 100644
index 0000000000000..1845395a77901
--- /dev/null
+++ b/graphics/tests/graphicstests/Android.mk
@@ -0,0 +1,14 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+# We only want this apk build for tests.
+LOCAL_MODULE_TAGS := tests
+
+# Include all test java files.
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_JAVA_LIBRARIES := android.test.runner
+LOCAL_PACKAGE_NAME := FrameworksGraphicsTests
+
+include $(BUILD_PACKAGE)
+
diff --git a/graphics/tests/graphicstests/AndroidManifest.xml b/graphics/tests/graphicstests/AndroidManifest.xml
new file mode 100644
index 0000000000000..5fb5959bc0687
--- /dev/null
+++ b/graphics/tests/graphicstests/AndroidManifest.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/AndroidTests/res/drawable/test128x96.png b/graphics/tests/graphicstests/res/drawable/test128x96.png
similarity index 100%
rename from tests/AndroidTests/res/drawable/test128x96.png
rename to graphics/tests/graphicstests/res/drawable/test128x96.png
diff --git a/tests/AndroidTests/res/drawable/test16x12.png b/graphics/tests/graphicstests/res/drawable/test16x12.png
similarity index 100%
rename from tests/AndroidTests/res/drawable/test16x12.png
rename to graphics/tests/graphicstests/res/drawable/test16x12.png
diff --git a/tests/AndroidTests/res/drawable/test256x192.png b/graphics/tests/graphicstests/res/drawable/test256x192.png
similarity index 100%
rename from tests/AndroidTests/res/drawable/test256x192.png
rename to graphics/tests/graphicstests/res/drawable/test256x192.png
diff --git a/tests/AndroidTests/res/drawable/test320x240.png b/graphics/tests/graphicstests/res/drawable/test320x240.png
similarity index 100%
rename from tests/AndroidTests/res/drawable/test320x240.png
rename to graphics/tests/graphicstests/res/drawable/test320x240.png
diff --git a/tests/AndroidTests/res/drawable/test32x24.png b/graphics/tests/graphicstests/res/drawable/test32x24.png
similarity index 100%
rename from tests/AndroidTests/res/drawable/test32x24.png
rename to graphics/tests/graphicstests/res/drawable/test32x24.png
diff --git a/tests/AndroidTests/res/drawable/test64x48.png b/graphics/tests/graphicstests/res/drawable/test64x48.png
similarity index 100%
rename from tests/AndroidTests/res/drawable/test64x48.png
rename to graphics/tests/graphicstests/res/drawable/test64x48.png
diff --git a/tests/AndroidTests/src/com/android/unit_tests/graphics/BitmapTest.java b/graphics/tests/graphicstests/src/android/graphics/BitmapTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/graphics/BitmapTest.java
rename to graphics/tests/graphicstests/src/android/graphics/BitmapTest.java
index e8001e34c0868..6734bb798c6fa 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/graphics/BitmapTest.java
+++ b/graphics/tests/graphicstests/src/android/graphics/BitmapTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.graphics;
+package android.graphics;
import android.graphics.Bitmap;
import android.graphics.Color;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/GraphicsPerformanceTests.java b/graphics/tests/graphicstests/src/android/graphics/GraphicsPerformanceTests.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/GraphicsPerformanceTests.java
rename to graphics/tests/graphicstests/src/android/graphics/GraphicsPerformanceTests.java
index a6c58699b2dc4..f60ac7bdb5e5c 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/GraphicsPerformanceTests.java
+++ b/graphics/tests/graphicstests/src/android/graphics/GraphicsPerformanceTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.graphics;
import junit.framework.Assert;
import android.content.Context;
@@ -28,6 +28,8 @@ import android.test.PerformanceTestCase;
import android.test.suitebuilder.annotation.Suppress;
import android.util.Log;
+import com.android.frameworks.graphicstests.R;
+
/**
* Graphics Performance Tests
*
diff --git a/tests/AndroidTests/src/com/android/unit_tests/graphics/GraphicsTests.java b/graphics/tests/graphicstests/src/android/graphics/GraphicsTests.java
similarity index 95%
rename from tests/AndroidTests/src/com/android/unit_tests/graphics/GraphicsTests.java
rename to graphics/tests/graphicstests/src/android/graphics/GraphicsTests.java
index a8b6b9ab2cbd7..8d01ea7ffd419 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/graphics/GraphicsTests.java
+++ b/graphics/tests/graphicstests/src/android/graphics/GraphicsTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.graphics;
+package android.graphics;
import junit.framework.TestSuite;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/ThreadBitmapTest.java b/graphics/tests/graphicstests/src/android/graphics/ThreadBitmapTest.java
similarity index 97%
rename from tests/AndroidTests/src/com/android/unit_tests/ThreadBitmapTest.java
rename to graphics/tests/graphicstests/src/android/graphics/ThreadBitmapTest.java
index 220bc99ebfdab..84bdc5683ac6f 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/ThreadBitmapTest.java
+++ b/graphics/tests/graphicstests/src/android/graphics/ThreadBitmapTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.graphics;
import junit.framework.TestCase;
import android.graphics.Bitmap;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/graphics/TypefaceTest.java b/graphics/tests/graphicstests/src/android/graphics/TypefaceTest.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/graphics/TypefaceTest.java
rename to graphics/tests/graphicstests/src/android/graphics/TypefaceTest.java
index 5c40e6f91c940..334fddf78fbf4 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/graphics/TypefaceTest.java
+++ b/graphics/tests/graphicstests/src/android/graphics/TypefaceTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests.graphics;
+package android.graphics;
import android.graphics.Paint;
import android.graphics.Typeface;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/GeocoderTest.java b/location/tests/locationtests/src/android/location/GeocoderTest.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/GeocoderTest.java
rename to location/tests/locationtests/src/android/location/GeocoderTest.java
index e28a7dc489f5a..8a13a24cf5e62 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/GeocoderTest.java
+++ b/location/tests/locationtests/src/android/location/GeocoderTest.java
@@ -1,4 +1,4 @@
-package com.android.unit_tests;
+package android.location;
/*
* Copyright (C) 2007 The Android Open Source Project
diff --git a/tests/AndroidTests/src/com/android/unit_tests/LocationManagerTest.java b/location/tests/locationtests/src/android/location/LocationManagerTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/LocationManagerTest.java
rename to location/tests/locationtests/src/android/location/LocationManagerTest.java
index 47c7522a7960d..0b8e61d2539c1 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/LocationManagerTest.java
+++ b/location/tests/locationtests/src/android/location/LocationManagerTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.location;
import android.content.Context;
import android.location.Criteria;
diff --git a/sax/tests/saxtests/Android.mk b/sax/tests/saxtests/Android.mk
new file mode 100644
index 0000000000000..836711b13dde9
--- /dev/null
+++ b/sax/tests/saxtests/Android.mk
@@ -0,0 +1,14 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+# We only want this apk build for tests.
+LOCAL_MODULE_TAGS := tests
+
+# Include all test java files.
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_JAVA_LIBRARIES := android.test.runner
+LOCAL_PACKAGE_NAME := FrameworksSaxTests
+
+include $(BUILD_PACKAGE)
+
diff --git a/sax/tests/saxtests/AndroidManifest.xml b/sax/tests/saxtests/AndroidManifest.xml
new file mode 100644
index 0000000000000..c66844d819fd9
--- /dev/null
+++ b/sax/tests/saxtests/AndroidManifest.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/AndroidTests/res/raw/youtube.xml b/sax/tests/saxtests/res/raw/youtube.xml
similarity index 100%
rename from tests/AndroidTests/res/raw/youtube.xml
rename to sax/tests/saxtests/res/raw/youtube.xml
diff --git a/tests/AndroidTests/src/com/android/unit_tests/ExpatPerformanceTest.java b/sax/tests/saxtests/src/android/sax/ExpatPerformanceTest.java
similarity index 98%
rename from tests/AndroidTests/src/com/android/unit_tests/ExpatPerformanceTest.java
rename to sax/tests/saxtests/src/android/sax/ExpatPerformanceTest.java
index 0d51047224e26..892c49052533b 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/ExpatPerformanceTest.java
+++ b/sax/tests/saxtests/src/android/sax/ExpatPerformanceTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.sax;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.LargeTest;
@@ -31,6 +31,8 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import com.android.frameworks.saxtests.R;
+
public class ExpatPerformanceTest extends AndroidTestCase {
private static final String TAG = ExpatPerformanceTest.class.getSimpleName();
diff --git a/tests/AndroidTests/src/com/android/unit_tests/SafeSaxTest.java b/sax/tests/saxtests/src/android/sax/SafeSaxTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/SafeSaxTest.java
rename to sax/tests/saxtests/src/android/sax/SafeSaxTest.java
index 8ccd26e733c23..bee393863dfe7 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/SafeSaxTest.java
+++ b/sax/tests/saxtests/src/android/sax/SafeSaxTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.sax;
import android.graphics.Bitmap;
import android.sax.Element;
@@ -40,6 +40,8 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import com.android.frameworks.saxtests.R;
+
public class SafeSaxTest extends AndroidTestCase {
private static final String TAG = SafeSaxTest.class.getName();
diff --git a/services/tests/servicestests/Android.mk b/services/tests/servicestests/Android.mk
new file mode 100644
index 0000000000000..2caccf7187e6b
--- /dev/null
+++ b/services/tests/servicestests/Android.mk
@@ -0,0 +1,15 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+# We only want this apk build for tests.
+LOCAL_MODULE_TAGS := tests
+
+# Include all test java files.
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+
+LOCAL_JAVA_LIBRARIES := android.test.runner services
+LOCAL_PACKAGE_NAME := FrameworksServicesTests
+
+include $(BUILD_PACKAGE)
+
diff --git a/services/tests/servicestests/AndroidManifest.xml b/services/tests/servicestests/AndroidManifest.xml
new file mode 100644
index 0000000000000..9856c6d89ae3b
--- /dev/null
+++ b/services/tests/servicestests/AndroidManifest.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/AndroidTests/src/com/android/unit_tests/DropBoxTest.java b/services/tests/servicestests/src/com/android/server/DropBoxTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/DropBoxTest.java
rename to services/tests/servicestests/src/com/android/server/DropBoxTest.java
index d20abd92606e2..3842d45004fee 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/DropBoxTest.java
+++ b/services/tests/servicestests/src/com/android/server/DropBoxTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package com.android.server;
import android.content.ContentResolver;
import android.content.Context;
diff --git a/telephony/tests/telephonytests/AndroidManifest.xml b/telephony/tests/telephonytests/AndroidManifest.xml
index 70aeebc59d15c..6a9742343b75c 100644
--- a/telephony/tests/telephonytests/AndroidManifest.xml
+++ b/telephony/tests/telephonytests/AndroidManifest.xml
@@ -33,4 +33,5 @@
android:label="Frameworks Telephony Tests">
+
diff --git a/tests/AndroidTests/src/com/android/unit_tests/GsmSmsTest.java b/telephony/tests/telephonytests/src/com/android/internal/telephony/GsmSmsTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/GsmSmsTest.java
rename to telephony/tests/telephonytests/src/com/android/internal/telephony/GsmSmsTest.java
index 8987d6bf5d96a..3103fc17e20da 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/GsmSmsTest.java
+++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/GsmSmsTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package com.android.internal.telephony;
import com.android.internal.telephony.GsmAlphabet;
import com.android.internal.telephony.SmsHeader;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/MccTableTest.java b/telephony/tests/telephonytests/src/com/android/internal/telephony/MccTableTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/MccTableTest.java
rename to telephony/tests/telephonytests/src/com/android/internal/telephony/MccTableTest.java
index b2f1dede317d1..1ea1285080cc4 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/MccTableTest.java
+++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/MccTableTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package com.android.internal.telephony;
import com.android.internal.telephony.MccTable;
diff --git a/telephony/tests/telephonytests/src/com/android/internal/telephony/NeighboringCellInfoTest.java b/telephony/tests/telephonytests/src/com/android/internal/telephony/NeighboringCellInfoTest.java
new file mode 100644
index 0000000000000..b63dc71b45fcd
--- /dev/null
+++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/NeighboringCellInfoTest.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.internal.telephony;
+
+import android.os.Parcel;
+import android.test.AndroidTestCase;
+import android.telephony.NeighboringCellInfo;
+import android.test. suitebuilder.annotation.SmallTest;
+
+import static android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN;
+import static android.telephony.TelephonyManager.NETWORK_TYPE_EDGE;
+import static android.telephony.TelephonyManager.NETWORK_TYPE_GPRS;
+import static android.telephony.TelephonyManager.NETWORK_TYPE_UMTS;
+
+public class NeighboringCellInfoTest extends AndroidTestCase {
+ @SmallTest
+ public void testConstructor() {
+ int rssi = 31;
+ NeighboringCellInfo nc;
+
+ nc = new NeighboringCellInfo(rssi, "FFFFFFF", NETWORK_TYPE_EDGE);
+ assertEquals(NETWORK_TYPE_EDGE, nc.getNetworkType());
+ assertEquals(rssi, nc.getRssi());
+ assertEquals(0xfff, nc.getLac());
+ assertEquals(0xffff, nc.getCid());
+ assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getPsc());
+
+ nc = new NeighboringCellInfo(rssi, "1FF", NETWORK_TYPE_UMTS);
+ assertEquals(NETWORK_TYPE_UMTS, nc.getNetworkType());
+ assertEquals(rssi, nc.getRssi());
+ assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getCid());
+ assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getLac());
+ assertEquals(0x1ff, nc.getPsc());
+
+ nc = new NeighboringCellInfo(rssi, "1FF", NETWORK_TYPE_UNKNOWN);
+ assertEquals(NETWORK_TYPE_UNKNOWN, nc.getNetworkType());
+ assertEquals(rssi, nc.getRssi());
+ assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getCid());
+ assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getLac());
+ assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getPsc());
+ }
+
+ @SmallTest
+ public void testParcel() {
+ int rssi = 20;
+
+ NeighboringCellInfo nc = new NeighboringCellInfo(rssi, "12345678", NETWORK_TYPE_GPRS);
+ assertEquals(NETWORK_TYPE_GPRS, nc.getNetworkType());
+ assertEquals(rssi, nc.getRssi());
+ assertEquals(0x1234, nc.getLac());
+ assertEquals(0x5678, nc.getCid());
+ assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getPsc());
+
+ Parcel p = Parcel.obtain();
+ p.setDataPosition(0);
+ nc.writeToParcel(p, 0);
+
+ p.setDataPosition(0);
+ NeighboringCellInfo nw = new NeighboringCellInfo(p);
+ assertEquals(NETWORK_TYPE_GPRS, nw.getNetworkType());
+ assertEquals(rssi, nw.getRssi());
+ assertEquals(0x1234, nw.getLac());
+ assertEquals(0x5678, nw.getCid());
+ assertEquals(NeighboringCellInfo.UNKNOWN_CID, nw.getPsc());
+ }
+}
diff --git a/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java b/telephony/tests/telephonytests/src/com/android/internal/telephony/cdma/sms/CdmaSmsTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java
rename to telephony/tests/telephonytests/src/com/android/internal/telephony/cdma/sms/CdmaSmsTest.java
index db47693db9341..58e73e0dabbcd 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/CdmaSmsTest.java
+++ b/telephony/tests/telephonytests/src/com/android/internal/telephony/cdma/sms/CdmaSmsTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package com.android.internal.telephony.cdma.sms;
import android.telephony.TelephonyManager;
diff --git a/tests/AndroidTests/Android.mk b/tests/AndroidTests/Android.mk
index a81b779080779..bff8fba2c6acc 100644
--- a/tests/AndroidTests/Android.mk
+++ b/tests/AndroidTests/Android.mk
@@ -11,8 +11,7 @@ LOCAL_STATIC_JAVA_LIBRARIES := gsf-client
LOCAL_AAPT_FLAGS = -c xx_YY -c cs -c 160dpi -c 32dpi -c 240dpi
LOCAL_SRC_FILES := \
- $(call all-subdir-java-files) \
- src/com/android/unit_tests/os/IAidlTest.aidl
+ $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := AndroidTests
LOCAL_CERTIFICATE := platform
diff --git a/tests/AndroidTests/AndroidManifest.xml b/tests/AndroidTests/AndroidManifest.xml
index e0d8f79bce0ed..c2548b927c827 100644
--- a/tests/AndroidTests/AndroidManifest.xml
+++ b/tests/AndroidTests/AndroidManifest.xml
@@ -17,21 +17,6 @@
-
-
-
-
-
-
-
-
-
@@ -39,19 +24,12 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
@@ -78,167 +45,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/AndroidTests/res/layout/layout_three.xml b/tests/AndroidTests/res/layout/layout_three.xml
deleted file mode 100644
index 7b1ccc54149a5..0000000000000
--- a/tests/AndroidTests/res/layout/layout_three.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/AndroidTests/res/values/strings.xml b/tests/AndroidTests/res/values/strings.xml
index 49d8ae72d964e..e8b150a7aacce 100644
--- a/tests/AndroidTests/res/values/strings.xml
+++ b/tests/AndroidTests/res/values/strings.xml
@@ -8,25 +8,13 @@
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
+ distributed under the License is distributed on an "AS IS" BASI
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
- Test Granted
- Used for running unit tests, for
- testing operations where we have the permission.
- Test Denied
- Used for running unit tests, for
- testing operations where we do not have the permission.
-
- S
-
- S
-
- S
100
true
@@ -41,17 +29,10 @@
here
- text
-
- test
-
- A dog
- Some dogs
- SearchManager Test
- A search hint
-
diff --git a/tests/AndroidTests/src/com/android/unit_tests/AndroidPerformanceTests.java b/tests/AndroidTests/src/com/android/unit_tests/AndroidPerformanceTests.java
index b6a859457e21f..795fe2bf60a63 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/AndroidPerformanceTests.java
+++ b/tests/AndroidTests/src/com/android/unit_tests/AndroidPerformanceTests.java
@@ -27,12 +27,8 @@ public class AndroidPerformanceTests extends TestListActivity {
public static class Suite {
public static String[] children() {
return new String[] {
- DatabasePerformanceTests.class.getName(),
- GraphicsPerformanceTests.class.getName(),
JavaPerformanceTests.class.getName(),
- LogTest.PerformanceTest.class.getName(),
PerformanceTests.class.getName(),
- TextViewPerformanceTest.class.getName(),
};
}
}
diff --git a/tests/AndroidTests/src/com/android/unit_tests/DatabaseTests.java b/tests/AndroidTests/src/com/android/unit_tests/DatabaseTests.java
deleted file mode 100644
index a288c73facdde..0000000000000
--- a/tests/AndroidTests/src/com/android/unit_tests/DatabaseTests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.unit_tests;
-
-import junit.framework.TestSuite;
-
-public class DatabaseTests {
- public static TestSuite suite() {
- TestSuite suite = new TestSuite(DatabaseTests.class.getName());
-
- suite.addTestSuite(DatabaseGeneralTest.class);
- suite.addTestSuite(DatabaseLocaleTest.class);
- suite.addTestSuite(CursorWindowTest.class);
- suite.addTestSuite(DatabaseLockTest.class);
-
- return suite;
- }
-}
diff --git a/tests/FrameworkTest/AndroidManifest.xml b/tests/FrameworkTest/AndroidManifest.xml
index 3030c06be7b2b..4db8952066600 100644
--- a/tests/FrameworkTest/AndroidManifest.xml
+++ b/tests/FrameworkTest/AndroidManifest.xml
@@ -41,934 +41,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- V
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vpn/tests/vpntests/Android.mk b/vpn/tests/vpntests/Android.mk
new file mode 100644
index 0000000000000..a19fb56265d03
--- /dev/null
+++ b/vpn/tests/vpntests/Android.mk
@@ -0,0 +1,14 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+# We only want this apk build for tests.
+LOCAL_MODULE_TAGS := tests
+
+# Include all test java files.
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_JAVA_LIBRARIES := android.test.runner
+LOCAL_PACKAGE_NAME := FrameworksVpnTests
+
+include $(BUILD_PACKAGE)
+
diff --git a/vpn/tests/vpntests/AndroidManifest.xml b/vpn/tests/vpntests/AndroidManifest.xml
new file mode 100644
index 0000000000000..d8405f6b8b45f
--- /dev/null
+++ b/vpn/tests/vpntests/AndroidManifest.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/AndroidTests/src/com/android/unit_tests/VpnTest.java b/vpn/tests/vpntests/src/android/net/vpn/VpnTest.java
similarity index 99%
rename from tests/AndroidTests/src/com/android/unit_tests/VpnTest.java
rename to vpn/tests/vpntests/src/android/net/vpn/VpnTest.java
index cb64293bd76b8..46a57d33ed918 100755
--- a/tests/AndroidTests/src/com/android/unit_tests/VpnTest.java
+++ b/vpn/tests/vpntests/src/android/net/vpn/VpnTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.unit_tests;
+package android.net.vpn;
import android.content.BroadcastReceiver;
import android.content.Context;