Skip to content

Commit b7c2470

Browse files
committed
Better error reporting for PackageManager tests
The unit tests were eating failure reasons. Remove some assertions so the useful messages percolate up to the JUnit report. Change-Id: Ica8efe403ca3eb4f0c4f2a18939a22085f74a08f
1 parent 52c5aca commit b7c2470

File tree

1 file changed

+25
-17
lines changed

1 file changed

+25
-17
lines changed

core/tests/coretests/src/android/content/pm/PackageManagerTests.java

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -170,11 +170,10 @@ private IPackageManager getIPm() {
170170
return ipm;
171171
}
172172

173-
public boolean invokeInstallPackage(Uri packageURI, int flags, GenericReceiver receiver) {
173+
public void invokeInstallPackage(Uri packageURI, int flags, GenericReceiver receiver,
174+
boolean shouldSucceed) {
174175
PackageInstallObserver observer = new PackageInstallObserver();
175-
final boolean received = false;
176176
mContext.registerReceiver(receiver, receiver.filter);
177-
final boolean DEBUG = true;
178177
try {
179178
// Wait on observer
180179
synchronized(observer) {
@@ -192,10 +191,24 @@ public boolean invokeInstallPackage(Uri packageURI, int flags, GenericReceiver r
192191
if(!observer.isDone()) {
193192
fail("Timed out waiting for packageInstalled callback");
194193
}
195-
if (observer.returnCode != PackageManager.INSTALL_SUCCEEDED) {
196-
Log.i(TAG, "Failed to install with error code = " + observer.returnCode);
197-
return false;
194+
195+
if (shouldSucceed) {
196+
if (observer.returnCode != PackageManager.INSTALL_SUCCEEDED) {
197+
fail("Package installation should have succeeded, but got code "
198+
+ observer.returnCode);
199+
}
200+
} else {
201+
if (observer.returnCode == PackageManager.INSTALL_SUCCEEDED) {
202+
fail("Package installation should fail");
203+
}
204+
205+
/*
206+
* We'll never expect get a notification since we
207+
* shouldn't succeed.
208+
*/
209+
return;
198210
}
211+
199212
// Verify we received the broadcast
200213
waitTime = 0;
201214
while((!receiver.isDone()) && (waitTime < MAX_WAIT_TIME) ) {
@@ -209,7 +222,6 @@ public boolean invokeInstallPackage(Uri packageURI, int flags, GenericReceiver r
209222
if(!receiver.isDone()) {
210223
fail("Timed out waiting for PACKAGE_ADDED notification");
211224
}
212-
return receiver.received;
213225
}
214226
}
215227
} finally {
@@ -588,7 +600,7 @@ private void installFromRawResource(InstallParams ip,
588600
}
589601
} else {
590602
InstallReceiver receiver = new InstallReceiver(pkg.packageName);
591-
assertTrue(invokeInstallPackage(packageURI, flags, receiver));
603+
invokeInstallPackage(packageURI, flags, receiver, true);
592604
// Verify installed information
593605
assertInstall(pkg, flags, expInstallLocation);
594606
}
@@ -705,13 +717,9 @@ private void sampleReplaceFromRawResource(int flags) {
705717
receiver = new InstallReceiver(ip.pkg.packageName);
706718
}
707719
try {
708-
try {
709-
assertEquals(invokeInstallPackage(ip.packageURI, flags, receiver), replace);
710-
if (replace) {
711-
assertInstall(ip.pkg, flags, ip.pkg.installLocation);
712-
}
713-
} catch (Exception e) {
714-
failStr("Failed with exception : " + e);
720+
invokeInstallPackage(ip.packageURI, flags, receiver, replace);
721+
if (replace) {
722+
assertInstall(ip.pkg, flags, ip.pkg.installLocation);
715723
}
716724
} finally {
717725
cleanUpInstall(ip);
@@ -1244,7 +1252,7 @@ public void testReplaceFlagInternalSdcard() {
12441252
GenericReceiver receiver = new ReplaceReceiver(ip.pkg.packageName);
12451253
int replaceFlags = rFlags | PackageManager.INSTALL_REPLACE_EXISTING;
12461254
try {
1247-
assertEquals(invokeInstallPackage(ip.packageURI, replaceFlags, receiver), true);
1255+
invokeInstallPackage(ip.packageURI, replaceFlags, receiver, true);
12481256
assertInstall(ip.pkg, rFlags, ip.pkg.installLocation);
12491257
} catch (Exception e) {
12501258
failStr("Failed with exception : " + e);
@@ -1271,7 +1279,7 @@ public void testReplaceFlagSdcardInternal() {
12711279
GenericReceiver receiver = new ReplaceReceiver(ip.pkg.packageName);
12721280
int replaceFlags = rFlags | PackageManager.INSTALL_REPLACE_EXISTING;
12731281
try {
1274-
assertEquals(invokeInstallPackage(ip.packageURI, replaceFlags, receiver), true);
1282+
invokeInstallPackage(ip.packageURI, replaceFlags, receiver, true);
12751283
assertInstall(ip.pkg, iFlags, ip.pkg.installLocation);
12761284
} catch (Exception e) {
12771285
failStr("Failed with exception : " + e);

0 commit comments

Comments
 (0)