Home | History | Annotate | Download | only in monkey
      1 package com.android.cts.monkey;
      2 
      3 import com.android.compatibility.common.tradefed.build.CompatibilityBuildHelper;
      4 import com.android.tradefed.build.IBuildInfo;
      5 import com.android.tradefed.device.DeviceNotAvailableException;
      6 import com.android.tradefed.device.ITestDevice;
      7 import com.android.tradefed.testtype.DeviceTestCase;
      8 import com.android.tradefed.testtype.IAbi;
      9 import com.android.tradefed.testtype.IAbiReceiver;
     10 import com.android.tradefed.testtype.IBuildReceiver;
     11 import com.android.tradefed.util.AbiUtils;
     12 
     13 import java.io.File;
     14 
     15 abstract class AbstractMonkeyTest extends DeviceTestCase implements IAbiReceiver, IBuildReceiver {
     16 
     17     static final String[] PKGS = {"com.android.cts.monkey", "com.android.cts.monkey2"};
     18     static final String[] APKS = {"CtsMonkeyApp.apk", "CtsMonkeyApp2.apk"};
     19 
     20     /**
     21      * Base monkey command with flags to avoid side effects like airplane mode.
     22      */
     23     static final String MONKEY_CMD = "monkey --pct-motion 0 --pct-majornav 0 --pct-syskeys 0 --pct-anyevent 0 --pct-rotation 0";
     24 
     25     IAbi mAbi;
     26     IBuildInfo mBuild;
     27     ITestDevice mDevice;
     28 
     29     @Override
     30     public void setAbi(IAbi abi) {
     31         mAbi = abi;
     32     }
     33 
     34     @Override
     35     public void setBuild(IBuildInfo buildInfo) {
     36         mBuild = buildInfo;
     37     }
     38 
     39     @Override
     40     protected void setUp() throws Exception {
     41         super.setUp();
     42         mDevice = getDevice();
     43         String[] options = {AbiUtils.createAbiFlag(mAbi.getName())};
     44         CompatibilityBuildHelper buildHelper = new CompatibilityBuildHelper(mBuild);
     45         for (int i = 0; i < PKGS.length; i++) {
     46             mDevice.uninstallPackage(PKGS[i]);
     47             File app = buildHelper.getTestFile(APKS[i]);
     48             mDevice.installPackage(app, false, options);
     49         }
     50         clearLogCat();
     51     }
     52 
     53     @Override
     54     protected void tearDown() throws Exception {
     55         super.tearDown();
     56         for (int i = 0; i < PKGS.length; i++) {
     57             mDevice.uninstallPackage(PKGS[i]);
     58         }
     59     }
     60 
     61     private void clearLogCat() throws DeviceNotAvailableException {
     62         mDevice.executeAdbCommand("logcat", "-c");
     63     }
     64 }
     65