Skip to content
This repository has been archived by the owner on Nov 8, 2023. It is now read-only.

Commit

Permalink
Don't attempt to launch disabled activities in smoke test.
Browse files Browse the repository at this point in the history
Also remove the superfluous runner from manifest.

Change-Id: I194b260d443d9bd4a16f62893bb2f7bcfb7ed40e
  • Loading branch information
Steve Moyer committed Feb 21, 2014
1 parent 05cebdc commit 39d259b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 10 deletions.
9 changes: 0 additions & 9 deletions tests/SmokeTest/tests/AndroidManifest.xml
Expand Up @@ -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:
Expand Down
Expand Up @@ -154,6 +154,11 @@ public Collection<ProcessError> runOneActivity(ResolveInfo app) {

// 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);
Expand Down Expand Up @@ -238,10 +243,16 @@ static List<ResolveInfo> getLauncherActivities(PackageManager pm) {
/**
* 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);
Expand Down

0 comments on commit 39d259b

Please sign in to comment.