am 5e9ba49f: Merge "Skip SD card tests on devices without SD cards" into honeycomb

* commit '5e9ba49f5efed4f0adc7ffcf5052668cdfd92a25':
  Skip SD card tests on devices without SD cards
This commit is contained in:
Kenny Root
2011-01-12 12:30:17 -08:00
committed by Android Git Automerger

View File

@@ -623,6 +623,11 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testInstallSdcard() { public void testInstallSdcard() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
mountMedia(); mountMedia();
sampleInstallFromRawResource(PackageManager.INSTALL_EXTERNAL, true); sampleInstallFromRawResource(PackageManager.INSTALL_EXTERNAL, true);
} }
@@ -724,6 +729,11 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testReplaceFailSdcard() { public void testReplaceFailSdcard() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
sampleReplaceFromRawResource(PackageManager.INSTALL_EXTERNAL); sampleReplaceFromRawResource(PackageManager.INSTALL_EXTERNAL);
} }
@@ -740,6 +750,11 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testReplaceSdcard() { public void testReplaceSdcard() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
sampleReplaceFromRawResource(PackageManager.INSTALL_REPLACE_EXISTING | sampleReplaceFromRawResource(PackageManager.INSTALL_REPLACE_EXISTING |
PackageManager.INSTALL_EXTERNAL); PackageManager.INSTALL_EXTERNAL);
} }
@@ -864,6 +879,11 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testDeleteSdcard() { public void testDeleteSdcard() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
deleteFromRawResource(PackageManager.INSTALL_EXTERNAL, 0); deleteFromRawResource(PackageManager.INSTALL_EXTERNAL, 0);
} }
@@ -879,6 +899,11 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testDeleteSdcardRetainData() { public void testDeleteSdcardRetainData() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
deleteFromRawResource(PackageManager.INSTALL_EXTERNAL, PackageManager.DONT_DELETE_DATA); deleteFromRawResource(PackageManager.INSTALL_EXTERNAL, PackageManager.DONT_DELETE_DATA);
} }
@@ -977,6 +1002,11 @@ public class PackageManagerTests extends AndroidTestCase {
} }
boolean mountMedia() { boolean mountMedia() {
// We can't mount emulated storage.
if (Environment.isExternalStorageEmulated()) {
return true;
}
if (checkMediaState(Environment.MEDIA_MOUNTED)) { if (checkMediaState(Environment.MEDIA_MOUNTED)) {
return true; return true;
} }
@@ -1011,6 +1041,11 @@ public class PackageManagerTests extends AndroidTestCase {
} }
private boolean unmountMedia() { private boolean unmountMedia() {
// We can't unmount emulated storage.
if (Environment.isExternalStorageEmulated()) {
return true;
}
if (checkMediaState(Environment.MEDIA_UNMOUNTED)) { if (checkMediaState(Environment.MEDIA_UNMOUNTED)) {
return true; return true;
} }
@@ -1100,6 +1135,11 @@ public class PackageManagerTests extends AndroidTestCase {
*/ */
@LargeTest @LargeTest
public void testMountSdNormalInternal() { public void testMountSdNormalInternal() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
assertTrue(mountFromRawResource()); assertTrue(mountFromRawResource());
} }
@@ -1137,6 +1177,11 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testManifestInstallLocationSdcard() { public void testManifestInstallLocationSdcard() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
installFromRawResource("install.apk", R.raw.install_loc_sdcard, installFromRawResource("install.apk", R.raw.install_loc_sdcard,
0, true, false, -1, PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); 0, true, false, -1, PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
@@ -1155,6 +1200,11 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testManifestInstallLocationFwdLockedFlagSdcard() { public void testManifestInstallLocationFwdLockedFlagSdcard() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
installFromRawResource("install.apk", R.raw.install_loc_unspecified, installFromRawResource("install.apk", R.raw.install_loc_unspecified,
PackageManager.INSTALL_FORWARD_LOCK | PackageManager.INSTALL_FORWARD_LOCK |
PackageManager.INSTALL_EXTERNAL, true, true, PackageManager.INSTALL_EXTERNAL, true, true,
@@ -1164,6 +1214,11 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testManifestInstallLocationFwdLockedSdcard() { public void testManifestInstallLocationFwdLockedSdcard() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
installFromRawResource("install.apk", R.raw.install_loc_sdcard, installFromRawResource("install.apk", R.raw.install_loc_sdcard,
PackageManager.INSTALL_FORWARD_LOCK, true, false, PackageManager.INSTALL_FORWARD_LOCK, true, false,
-1, -1,
@@ -1177,6 +1232,11 @@ public class PackageManagerTests extends AndroidTestCase {
*/ */
@LargeTest @LargeTest
public void testReplaceFlagInternalSdcard() { public void testReplaceFlagInternalSdcard() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int iFlags = 0; int iFlags = 0;
int rFlags = PackageManager.INSTALL_EXTERNAL; int rFlags = PackageManager.INSTALL_EXTERNAL;
InstallParams ip = sampleInstallFromRawResource(iFlags, false); InstallParams ip = sampleInstallFromRawResource(iFlags, false);
@@ -1199,6 +1259,11 @@ public class PackageManagerTests extends AndroidTestCase {
*/ */
@LargeTest @LargeTest
public void testReplaceFlagSdcardInternal() { public void testReplaceFlagSdcardInternal() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int iFlags = PackageManager.INSTALL_EXTERNAL; int iFlags = PackageManager.INSTALL_EXTERNAL;
int rFlags = 0; int rFlags = 0;
InstallParams ip = sampleInstallFromRawResource(iFlags, false); InstallParams ip = sampleInstallFromRawResource(iFlags, false);
@@ -1216,6 +1281,11 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testManifestInstallLocationReplaceInternalSdcard() { public void testManifestInstallLocationReplaceInternalSdcard() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int iFlags = 0; int iFlags = 0;
int iApk = R.raw.install_loc_internal; int iApk = R.raw.install_loc_internal;
int rFlags = 0; int rFlags = 0;
@@ -1239,6 +1309,11 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testManifestInstallLocationReplaceSdcardInternal() { public void testManifestInstallLocationReplaceSdcardInternal() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int iFlags = 0; int iFlags = 0;
int iApk = R.raw.install_loc_sdcard; int iApk = R.raw.install_loc_sdcard;
int rFlags = 0; int rFlags = 0;
@@ -1471,6 +1546,11 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testMoveAppInternalToExternal() { public void testMoveAppInternalToExternal() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int installFlags = PackageManager.INSTALL_INTERNAL; int installFlags = PackageManager.INSTALL_INTERNAL;
int moveFlags = PackageManager.MOVE_EXTERNAL_MEDIA; int moveFlags = PackageManager.MOVE_EXTERNAL_MEDIA;
boolean fail = false; boolean fail = false;
@@ -1489,30 +1569,53 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testMoveAppExternalToExternal() { public void testMoveAppExternalToExternal() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int installFlags = PackageManager.INSTALL_EXTERNAL; int installFlags = PackageManager.INSTALL_EXTERNAL;
int moveFlags = PackageManager.MOVE_EXTERNAL_MEDIA; int moveFlags = PackageManager.MOVE_EXTERNAL_MEDIA;
boolean fail = true; boolean fail = true;
int result = PackageManager.MOVE_FAILED_INVALID_LOCATION; int result = PackageManager.MOVE_FAILED_INVALID_LOCATION;
sampleMoveFromRawResource(installFlags, moveFlags, fail, result); sampleMoveFromRawResource(installFlags, moveFlags, fail, result);
} }
@LargeTest @LargeTest
public void testMoveAppExternalToInternal() { public void testMoveAppExternalToInternal() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int installFlags = PackageManager.INSTALL_EXTERNAL; int installFlags = PackageManager.INSTALL_EXTERNAL;
int moveFlags = PackageManager.MOVE_INTERNAL; int moveFlags = PackageManager.MOVE_INTERNAL;
boolean fail = false; boolean fail = false;
int result = PackageManager.MOVE_SUCCEEDED; int result = PackageManager.MOVE_SUCCEEDED;
sampleMoveFromRawResource(installFlags, moveFlags, fail, result); sampleMoveFromRawResource(installFlags, moveFlags, fail, result);
} }
@LargeTest @LargeTest
public void testMoveAppForwardLocked() { public void testMoveAppForwardLocked() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int installFlags = PackageManager.INSTALL_FORWARD_LOCK; int installFlags = PackageManager.INSTALL_FORWARD_LOCK;
int moveFlags = PackageManager.MOVE_EXTERNAL_MEDIA; int moveFlags = PackageManager.MOVE_EXTERNAL_MEDIA;
boolean fail = true; boolean fail = true;
int result = PackageManager.MOVE_FAILED_FORWARD_LOCKED; int result = PackageManager.MOVE_FAILED_FORWARD_LOCKED;
sampleMoveFromRawResource(installFlags, moveFlags, fail, result); sampleMoveFromRawResource(installFlags, moveFlags, fail, result);
} }
@LargeTest @LargeTest
public void testMoveAppFailInternalToExternalDelete() { public void testMoveAppFailInternalToExternalDelete() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int installFlags = 0; int installFlags = 0;
int moveFlags = PackageManager.MOVE_EXTERNAL_MEDIA; int moveFlags = PackageManager.MOVE_EXTERNAL_MEDIA;
boolean fail = true; boolean fail = true;
@@ -1541,12 +1644,18 @@ public class PackageManagerTests extends AndroidTestCase {
setInstallLoc(origDefaultLoc); setInstallLoc(origDefaultLoc);
} }
} }
/* /*
* Test that an install error code is returned when media is unmounted * Test that an install error code is returned when media is unmounted
* and package installed on sdcard via package manager flag. * and package installed on sdcard via package manager flag.
*/ */
@LargeTest @LargeTest
public void testInstallSdcardUnmount() { public void testInstallSdcardUnmount() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
boolean origState = checkMediaState(Environment.MEDIA_MOUNTED); boolean origState = checkMediaState(Environment.MEDIA_MOUNTED);
try { try {
// Unmount sdcard // Unmount sdcard
@@ -1572,6 +1681,11 @@ public class PackageManagerTests extends AndroidTestCase {
*/ */
@LargeTest @LargeTest
public void testInstallManifestSdcardUnmount() { public void testInstallManifestSdcardUnmount() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
boolean origState = checkMediaState(Environment.MEDIA_MOUNTED); boolean origState = checkMediaState(Environment.MEDIA_MOUNTED);
try { try {
// Unmount sdcard // Unmount sdcard
@@ -1599,6 +1713,7 @@ public class PackageManagerTests extends AndroidTestCase {
* User: UserI, UserE, UserA, User suffix absent if not existing. * User: UserI, UserE, UserA, User suffix absent if not existing.
* *
*/ */
/* /*
* Install an app on internal flash * Install an app on internal flash
*/ */
@@ -1606,21 +1721,28 @@ public class PackageManagerTests extends AndroidTestCase {
public void testFlagI() { public void testFlagI() {
sampleInstallFromRawResource(PackageManager.INSTALL_INTERNAL, true); sampleInstallFromRawResource(PackageManager.INSTALL_INTERNAL, true);
} }
/*
* Install an app on sdcard.
*/
@LargeTest
public void testFlagE() {
sampleInstallFromRawResource(PackageManager.INSTALL_EXTERNAL, true);
}
/* /*
* Install an app on sdcard. * Install an app on sdcard.
*/ */
@LargeTest @LargeTest
public void testFlagE() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
sampleInstallFromRawResource(PackageManager.INSTALL_EXTERNAL, true);
}
/*
* Install an app forward-locked.
*/
@LargeTest
public void testFlagF() { public void testFlagF() {
sampleInstallFromRawResource(PackageManager.INSTALL_FORWARD_LOCK, true); sampleInstallFromRawResource(PackageManager.INSTALL_FORWARD_LOCK, true);
} }
/* /*
* Install an app with both internal and external flags set. should fail * Install an app with both internal and external flags set. should fail
*/ */
@@ -1634,15 +1756,16 @@ public class PackageManagerTests extends AndroidTestCase {
} }
/* /*
* Install an app with both internal and external flags set. should fail * Install an app with both internal and forward-lock flags set.
*/ */
@LargeTest @LargeTest
public void testFlagIF() { public void testFlagIF() {
sampleInstallFromRawResource(PackageManager.INSTALL_FORWARD_LOCK | sampleInstallFromRawResource(PackageManager.INSTALL_FORWARD_LOCK
PackageManager.INSTALL_INTERNAL, true); | PackageManager.INSTALL_INTERNAL, true);
} }
/* /*
* Install an app with both internal and external flags set. should fail * Install an app with both external and forward-lock flags set. should fail
*/ */
@LargeTest @LargeTest
public void testFlagEF() { public void testFlagEF() {
@@ -1652,8 +1775,10 @@ public class PackageManagerTests extends AndroidTestCase {
true, PackageManager.INSTALL_FAILED_INVALID_INSTALL_LOCATION, true, PackageManager.INSTALL_FAILED_INVALID_INSTALL_LOCATION,
PackageInfo.INSTALL_LOCATION_AUTO); PackageInfo.INSTALL_LOCATION_AUTO);
} }
/* /*
* Install an app with both internal and external flags set. should fail * Install an app with both internal and external flags set with forward
* lock. Should fail.
*/ */
@LargeTest @LargeTest
public void testFlagIEF() { public void testFlagIEF() {
@@ -1664,6 +1789,7 @@ public class PackageManagerTests extends AndroidTestCase {
true, PackageManager.INSTALL_FAILED_INVALID_INSTALL_LOCATION, true, PackageManager.INSTALL_FAILED_INVALID_INSTALL_LOCATION,
PackageInfo.INSTALL_LOCATION_AUTO); PackageInfo.INSTALL_LOCATION_AUTO);
} }
/* /*
* Install an app with both internal and manifest option set. * Install an app with both internal and manifest option set.
* should install on internal. * should install on internal.
@@ -1706,36 +1832,54 @@ public class PackageManagerTests extends AndroidTestCase {
*/ */
@LargeTest @LargeTest
public void testFlagEManifestI() { public void testFlagEManifestI() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
installFromRawResource("install.apk", R.raw.install_loc_internal, installFromRawResource("install.apk", R.raw.install_loc_internal,
PackageManager.INSTALL_EXTERNAL, PackageManager.INSTALL_EXTERNAL,
true, true,
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
/* /*
* Install an app with both external and manifest preference for * Install an app with both external and manifest preference for
* preferExternal. Should install externally. * preferExternal. Should install externally.
*/ */
@LargeTest @LargeTest
public void testFlagEManifestE() { public void testFlagEManifestE() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
installFromRawResource("install.apk", R.raw.install_loc_sdcard, installFromRawResource("install.apk", R.raw.install_loc_sdcard,
PackageManager.INSTALL_EXTERNAL, PackageManager.INSTALL_EXTERNAL,
true, true,
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
/* /*
* Install an app with both external and manifest preference for * Install an app with both external and manifest preference for
* auto. should install on external media. * auto. should install on external media.
*/ */
@LargeTest @LargeTest
public void testFlagEManifestA() { public void testFlagEManifestA() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
installFromRawResource("install.apk", R.raw.install_loc_auto, installFromRawResource("install.apk", R.raw.install_loc_auto,
PackageManager.INSTALL_EXTERNAL, PackageManager.INSTALL_EXTERNAL,
true, true,
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
/* /*
* Install an app with fwd locked flag set and install location set to * Install an app with fwd locked flag set and install location set to
* internal. should install internally. * internal. should install internally.
@@ -1743,11 +1887,12 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testFlagFManifestI() { public void testFlagFManifestI() {
installFromRawResource("install.apk", R.raw.install_loc_internal, installFromRawResource("install.apk", R.raw.install_loc_internal,
PackageManager.INSTALL_EXTERNAL, PackageManager.INSTALL_FORWARD_LOCK,
true, true,
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
/* /*
* Install an app with fwd locked flag set and install location set to * Install an app with fwd locked flag set and install location set to
* preferExternal. should install internally. * preferExternal. should install internally.
@@ -1755,11 +1900,12 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testFlagFManifestE() { public void testFlagFManifestE() {
installFromRawResource("install.apk", R.raw.install_loc_sdcard, installFromRawResource("install.apk", R.raw.install_loc_sdcard,
PackageManager.INSTALL_EXTERNAL, PackageManager.INSTALL_FORWARD_LOCK,
true, true,
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
/* /*
* Install an app with fwd locked flag set and install location set to * Install an app with fwd locked flag set and install location set to
* auto. should install internally. * auto. should install internally.
@@ -1767,11 +1913,12 @@ public class PackageManagerTests extends AndroidTestCase {
@LargeTest @LargeTest
public void testFlagFManifestA() { public void testFlagFManifestA() {
installFromRawResource("install.apk", R.raw.install_loc_auto, installFromRawResource("install.apk", R.raw.install_loc_auto,
PackageManager.INSTALL_EXTERNAL, PackageManager.INSTALL_FORWARD_LOCK,
true, true,
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
/* The following test functions verify install location for existing apps. /* The following test functions verify install location for existing apps.
* ie existing app can be installed internally or externally. If install * ie existing app can be installed internally or externally. If install
* flag is explicitly set it should override current location. If manifest location * flag is explicitly set it should override current location. If manifest location
@@ -1796,8 +1943,14 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
-1); -1);
} }
@LargeTest @LargeTest
public void testFlagIExistingE() { public void testFlagIExistingE() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int iFlags = PackageManager.INSTALL_EXTERNAL; int iFlags = PackageManager.INSTALL_EXTERNAL;
int rFlags = PackageManager.INSTALL_INTERNAL | PackageManager.INSTALL_REPLACE_EXISTING; int rFlags = PackageManager.INSTALL_INTERNAL | PackageManager.INSTALL_REPLACE_EXISTING;
// First install. // First install.
@@ -1813,8 +1966,14 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
-1); -1);
} }
@LargeTest @LargeTest
public void testFlagEExistingI() { public void testFlagEExistingI() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int iFlags = PackageManager.INSTALL_INTERNAL; int iFlags = PackageManager.INSTALL_INTERNAL;
int rFlags = PackageManager.INSTALL_EXTERNAL | PackageManager.INSTALL_REPLACE_EXISTING; int rFlags = PackageManager.INSTALL_EXTERNAL | PackageManager.INSTALL_REPLACE_EXISTING;
// First install. // First install.
@@ -1830,8 +1989,14 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
-1); -1);
} }
@LargeTest @LargeTest
public void testFlagEExistingE() { public void testFlagEExistingE() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int iFlags = PackageManager.INSTALL_EXTERNAL; int iFlags = PackageManager.INSTALL_EXTERNAL;
int rFlags = PackageManager.INSTALL_EXTERNAL | PackageManager.INSTALL_REPLACE_EXISTING; int rFlags = PackageManager.INSTALL_EXTERNAL | PackageManager.INSTALL_REPLACE_EXISTING;
// First install. // First install.
@@ -1847,6 +2012,7 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
-1); -1);
} }
@LargeTest @LargeTest
public void testFlagFExistingI() { public void testFlagFExistingI() {
int iFlags = PackageManager.INSTALL_INTERNAL; int iFlags = PackageManager.INSTALL_INTERNAL;
@@ -1864,8 +2030,14 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
-1); -1);
} }
@LargeTest @LargeTest
public void testFlagFExistingE() { public void testFlagFExistingE() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int iFlags = PackageManager.INSTALL_EXTERNAL; int iFlags = PackageManager.INSTALL_EXTERNAL;
int rFlags = PackageManager.INSTALL_FORWARD_LOCK | PackageManager.INSTALL_REPLACE_EXISTING; int rFlags = PackageManager.INSTALL_FORWARD_LOCK | PackageManager.INSTALL_REPLACE_EXISTING;
// First install. // First install.
@@ -1881,6 +2053,7 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
-1); -1);
} }
/* /*
* The following set of tests verify the installation of apps with * The following set of tests verify the installation of apps with
* install location attribute set to internalOnly, preferExternal and auto. * install location attribute set to internalOnly, preferExternal and auto.
@@ -1896,14 +2069,21 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY); PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY);
} }
@LargeTest @LargeTest
public void testManifestE() { public void testManifestE() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
installFromRawResource("install.apk", R.raw.install_loc_sdcard, installFromRawResource("install.apk", R.raw.install_loc_sdcard,
0, 0,
true, true,
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
@LargeTest @LargeTest
public void testManifestA() { public void testManifestA() {
installFromRawResource("install.apk", R.raw.install_loc_auto, installFromRawResource("install.apk", R.raw.install_loc_auto,
@@ -1912,6 +2092,7 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY); PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY);
} }
/* /*
* The following set of tests verify the installation of apps * The following set of tests verify the installation of apps
* with install location attribute set to internalOnly, preferExternal and auto * with install location attribute set to internalOnly, preferExternal and auto
@@ -1936,8 +2117,14 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY); PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY);
} }
@LargeTest @LargeTest
public void testManifestIExistingE() { public void testManifestIExistingE() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int iFlags = PackageManager.INSTALL_EXTERNAL; int iFlags = PackageManager.INSTALL_EXTERNAL;
int rFlags = PackageManager.INSTALL_REPLACE_EXISTING; int rFlags = PackageManager.INSTALL_REPLACE_EXISTING;
// First install. // First install.
@@ -1953,8 +2140,14 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY); PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY);
} }
@LargeTest @LargeTest
public void testManifestEExistingI() { public void testManifestEExistingI() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int iFlags = PackageManager.INSTALL_INTERNAL; int iFlags = PackageManager.INSTALL_INTERNAL;
int rFlags = PackageManager.INSTALL_REPLACE_EXISTING; int rFlags = PackageManager.INSTALL_REPLACE_EXISTING;
// First install. // First install.
@@ -1970,8 +2163,14 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
@LargeTest @LargeTest
public void testManifestEExistingE() { public void testManifestEExistingE() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int iFlags = PackageManager.INSTALL_EXTERNAL; int iFlags = PackageManager.INSTALL_EXTERNAL;
int rFlags = PackageManager.INSTALL_REPLACE_EXISTING; int rFlags = PackageManager.INSTALL_REPLACE_EXISTING;
// First install. // First install.
@@ -1987,6 +2186,7 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
@LargeTest @LargeTest
public void testManifestAExistingI() { public void testManifestAExistingI() {
int iFlags = PackageManager.INSTALL_INTERNAL; int iFlags = PackageManager.INSTALL_INTERNAL;
@@ -2004,8 +2204,14 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_AUTO); PackageInfo.INSTALL_LOCATION_AUTO);
} }
@LargeTest @LargeTest
public void testManifestAExistingE() { public void testManifestAExistingE() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int iFlags = PackageManager.INSTALL_EXTERNAL; int iFlags = PackageManager.INSTALL_EXTERNAL;
int rFlags = PackageManager.INSTALL_REPLACE_EXISTING; int rFlags = PackageManager.INSTALL_REPLACE_EXISTING;
// First install. // First install.
@@ -2021,6 +2227,7 @@ public class PackageManagerTests extends AndroidTestCase {
false, -1, false, -1,
PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
/* /*
* The following set of tests check install location for existing * The following set of tests check install location for existing
* application based on user setting. * application based on user setting.
@@ -2067,36 +2274,62 @@ public class PackageManagerTests extends AndroidTestCase {
int iFlags = PackageManager.INSTALL_INTERNAL; int iFlags = PackageManager.INSTALL_INTERNAL;
setExistingXUserX(userSetting, iFlags, PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY); setExistingXUserX(userSetting, iFlags, PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY);
} }
@LargeTest @LargeTest
public void testExistingIUserE() { public void testExistingIUserE() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int userSetting = PackageHelper.APP_INSTALL_EXTERNAL; int userSetting = PackageHelper.APP_INSTALL_EXTERNAL;
int iFlags = PackageManager.INSTALL_INTERNAL; int iFlags = PackageManager.INSTALL_INTERNAL;
setExistingXUserX(userSetting, iFlags, PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY); setExistingXUserX(userSetting, iFlags, PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY);
} }
@LargeTest @LargeTest
public void testExistingIUserA() { public void testExistingIUserA() {
int userSetting = PackageHelper.APP_INSTALL_AUTO; int userSetting = PackageHelper.APP_INSTALL_AUTO;
int iFlags = PackageManager.INSTALL_INTERNAL; int iFlags = PackageManager.INSTALL_INTERNAL;
setExistingXUserX(userSetting, iFlags, PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY); setExistingXUserX(userSetting, iFlags, PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY);
} }
@LargeTest @LargeTest
public void testExistingEUserI() { public void testExistingEUserI() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int userSetting = PackageHelper.APP_INSTALL_INTERNAL; int userSetting = PackageHelper.APP_INSTALL_INTERNAL;
int iFlags = PackageManager.INSTALL_EXTERNAL; int iFlags = PackageManager.INSTALL_EXTERNAL;
setExistingXUserX(userSetting, iFlags, PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); setExistingXUserX(userSetting, iFlags, PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
@LargeTest @LargeTest
public void testExistingEUserE() { public void testExistingEUserE() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int userSetting = PackageHelper.APP_INSTALL_EXTERNAL; int userSetting = PackageHelper.APP_INSTALL_EXTERNAL;
int iFlags = PackageManager.INSTALL_EXTERNAL; int iFlags = PackageManager.INSTALL_EXTERNAL;
setExistingXUserX(userSetting, iFlags, PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); setExistingXUserX(userSetting, iFlags, PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
@LargeTest @LargeTest
public void testExistingEUserA() { public void testExistingEUserA() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int userSetting = PackageHelper.APP_INSTALL_AUTO; int userSetting = PackageHelper.APP_INSTALL_AUTO;
int iFlags = PackageManager.INSTALL_EXTERNAL; int iFlags = PackageManager.INSTALL_EXTERNAL;
setExistingXUserX(userSetting, iFlags, PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL); setExistingXUserX(userSetting, iFlags, PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL);
} }
/* /*
* The following set of tests verify that the user setting defines * The following set of tests verify that the user setting defines
* the install location. * the install location.
@@ -2140,12 +2373,19 @@ public class PackageManagerTests extends AndroidTestCase {
int iloc = getExpectedInstallLocation(userSetting); int iloc = getExpectedInstallLocation(userSetting);
setUserX(true, userSetting, iloc); setUserX(true, userSetting, iloc);
} }
@LargeTest @LargeTest
public void testUserE() { public void testUserE() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int userSetting = PackageHelper.APP_INSTALL_EXTERNAL; int userSetting = PackageHelper.APP_INSTALL_EXTERNAL;
int iloc = getExpectedInstallLocation(userSetting); int iloc = getExpectedInstallLocation(userSetting);
setUserX(true, userSetting, iloc); setUserX(true, userSetting, iloc);
} }
@LargeTest @LargeTest
public void testUserA() { public void testUserA() {
int userSetting = PackageHelper.APP_INSTALL_AUTO; int userSetting = PackageHelper.APP_INSTALL_AUTO;
@@ -2162,12 +2402,19 @@ public class PackageManagerTests extends AndroidTestCase {
int iloc = PackageInfo.INSTALL_LOCATION_UNSPECIFIED; int iloc = PackageInfo.INSTALL_LOCATION_UNSPECIFIED;
setUserX(false, userSetting, iloc); setUserX(false, userSetting, iloc);
} }
@LargeTest @LargeTest
public void testUserPrefOffUserE() { public void testUserPrefOffUserE() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
int userSetting = PackageHelper.APP_INSTALL_EXTERNAL; int userSetting = PackageHelper.APP_INSTALL_EXTERNAL;
int iloc = PackageInfo.INSTALL_LOCATION_UNSPECIFIED; int iloc = PackageInfo.INSTALL_LOCATION_UNSPECIFIED;
setUserX(false, userSetting, iloc); setUserX(false, userSetting, iloc);
} }
@LargeTest @LargeTest
public void testUserPrefOffA() { public void testUserPrefOffA() {
int userSetting = PackageHelper.APP_INSTALL_AUTO; int userSetting = PackageHelper.APP_INSTALL_AUTO;
@@ -2379,6 +2626,11 @@ public class PackageManagerTests extends AndroidTestCase {
*/ */
@LargeTest @LargeTest
public void testInstallSdcardStaleContainer() { public void testInstallSdcardStaleContainer() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
boolean origMediaState = checkMediaState(Environment.MEDIA_MOUNTED); boolean origMediaState = checkMediaState(Environment.MEDIA_MOUNTED);
try { try {
// Mount media first // Mount media first
@@ -2423,6 +2675,11 @@ public class PackageManagerTests extends AndroidTestCase {
*/ */
@LargeTest @LargeTest
public void testInstallSdcardStaleContainerReinstall() { public void testInstallSdcardStaleContainerReinstall() {
// Do not run on devices with emulated external storage.
if (Environment.isExternalStorageEmulated()) {
return;
}
boolean origMediaState = checkMediaState(Environment.MEDIA_MOUNTED); boolean origMediaState = checkMediaState(Environment.MEDIA_MOUNTED);
try { try {
// Mount media first // Mount media first
@@ -2458,6 +2715,7 @@ public class PackageManagerTests extends AndroidTestCase {
} }
} }
} }
/* /*
* The following series of tests are related to upgrading apps with * The following series of tests are related to upgrading apps with
* different certificates. * different certificates.
@@ -2846,6 +3104,7 @@ public class PackageManagerTests extends AndroidTestCase {
installFromRawResource("install.apk", R.raw.install_uses_feature, 0, true, true, retCode, installFromRawResource("install.apk", R.raw.install_uses_feature, 0, true, true, retCode,
PackageInfo.INSTALL_LOCATION_UNSPECIFIED); PackageInfo.INSTALL_LOCATION_UNSPECIFIED);
} }
/*---------- Recommended install location tests ----*/ /*---------- Recommended install location tests ----*/
/* /*
* TODO's * TODO's