Merge "Don't attempt to launch disabled activities in smoke test."

This commit is contained in:
Steve Moyer
2014-03-16 17:26:43 +00:00
committed by Gerrit Code Review
2 changed files with 12 additions and 10 deletions

View File

@ -26,15 +26,6 @@
<uses-library android:name="android.test.runner" />
</application>
<!--
This declares that this app uses the instrumentation test runner targeting the package of
com.android.smoketest. To run the tests use the command:
`adb shell am instrument -w com.android.smoketest.tests/android.test.InstrumentationTestRunner`
-->
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.android.smoketest"
android:label="System Smoke Tests"/>
<!--
This declares a method to run the instrumentation with a special runner, which will run each
app as a separate testcase. To do so, use the command:

View File

@ -154,6 +154,11 @@ public class ProcessErrorsTest extends AndroidTestCase {
// launch app, and wait 7 seconds for it to start/settle
final Intent intent = intentForActivity(app);
if (intent == null) {
Log.i(TAG, String.format("Activity %s/%s is disabled, skipping",
app.activityInfo.packageName, app.activityInfo.name));
return Collections.EMPTY_LIST;
}
getContext().startActivity(intent);
try {
Thread.sleep(appLaunchWait);
@ -238,10 +243,16 @@ public class ProcessErrorsTest extends AndroidTestCase {
/**
* A helper function to create an {@link Intent} to run, given a {@link ResolveInfo} specifying
* an activity to be launched.
*
* @return the {@link Intent} or <code>null</code> if given app is disabled
*/
static Intent intentForActivity(ResolveInfo app) {
Intent intentForActivity(ResolveInfo app) {
final ComponentName component = new ComponentName(app.activityInfo.packageName,
app.activityInfo.name);
if (getContext().getPackageManager().getComponentEnabledSetting(component) ==
PackageManager.COMPONENT_ENABLED_STATE_DISABLED) {
return null;
}
final Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(component);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);