SecurityTestCase
public
class
SecurityTestCase
extends StsExtraBusinessLogicHostTestBase
java.lang.Object | |||||
↳ | com.android.tradefed.testtype.junit4.BaseHostJUnit4Test | ||||
↳ | com.android.compatibility.common.tradefed.testtype.BusinessLogicHostTestBase | ||||
↳ | com.android.compatibility.common.tradefed.testtype.ExtraBusinessLogicHostTestBase | ||||
↳ | com.android.sts.common.tradefed.testtype.StsExtraBusinessLogicHostTestBase | ||||
↳ | com.android.sts.common.tradefed.testtype.SecurityTestCase |
Base test class for all STS tests.
Use RootSecurityTestCase
or NonRootSecurityTestCase
instead.
Summary
Constants | |
---|---|
int |
TIMEOUT_DEFAULT
|
int |
TIMEOUT_NONDETERMINISTIC
|
Fields | |
---|---|
public
PocPusher |
pocPusher
|
public
TestName |
testName
|
Public constructors | |
---|---|
SecurityTestCase()
|
Public methods | |
---|---|
void
|
assertMatches(String pattern, String input)
|
void
|
assertMatchesMultiLine(String pattern, String input)
|
void
|
assertNotKernelPointer(Callable<String> getPtrFunction, ITestDevice deviceToReboot)
Runs a provided function that collects a String to test against kernel pointer leaks. |
void
|
assertNotMatches(String pattern, String input)
|
void
|
assertNotMatchesMultiLine(String pattern, String input)
|
void
|
assertWifiConnected(ITestDevice device)
Asserts the wifi connection status is connected. |
void
|
assumeIsSupportedNfcDevice(ITestDevice device)
|
static
MetricsReportLog
|
buildMetricsReportLog(ITestDevice device)
|
WifiHelper
|
createWifiHelper()
|
static
IAbi
|
getAbi(ITestDevice device)
|
static
IBuildInfo
|
getBuildInfo(ITestDevice device)
|
static
PocPusher
|
getPocPusher(ITestDevice device)
|
static
String
|
getTestName(ITestDevice device)
|
boolean
|
moduleIsPlayManaged(String modulePackageName)
Return true if a module is play managed. |
void
|
safeReboot()
|
void
|
setUp()
Waits for device to be online, marks the most recent boottime of the device |
void
|
tearDown()
Makes sure the phone is online and checks if the device crashed |
void
|
updateKernelStartTime()
Allows a test to pass if called after a planned reboot. |
Protected methods | |
---|---|
boolean
|
containsDriver(ITestDevice device, String driver, boolean checkReadable)
Check if a driver is present on a machine. |
boolean
|
containsDriver(ITestDevice device, String driver)
Check if a driver is present and readable. |
Constants
TIMEOUT_DEFAULT
protected static final int TIMEOUT_DEFAULT
Constant Value: 60 (0x0000003c)
TIMEOUT_NONDETERMINISTIC
public static final int TIMEOUT_NONDETERMINISTIC
Constant Value: 315 (0x0000013b)
Fields
testName
public TestName testName
Public constructors
SecurityTestCase
public SecurityTestCase ()
Public methods
assertMatches
public void assertMatches (String pattern, String input)
Parameters | |
---|---|
pattern |
String |
input |
String |
Throws | |
---|---|
Exception |
assertMatchesMultiLine
public void assertMatchesMultiLine (String pattern, String input)
Parameters | |
---|---|
pattern |
String |
input |
String |
Throws | |
---|---|
Exception |
assertNotKernelPointer
public void assertNotKernelPointer (Callable<String> getPtrFunction, ITestDevice deviceToReboot)
Runs a provided function that collects a String to test against kernel pointer leaks. The getPtrFunction function implementation must return a String that starts with the pointer. i.e. "01234567". Trailing characters are allowed except for [0-9a-fA-F]. In the event that the pointer appears to be vulnerable, a JUnit assert is thrown. Since kernel pointers can be hashed, there is a possibility the hashed pointer overlaps into the normal kernel space. The test re-runs to make false positives statistically insignificant. When kernel pointers won't change without a reboot, provide a device to reboot.
Parameters | |
---|---|
getPtrFunction |
Callable : a function that returns a string that starts with a pointer |
deviceToReboot |
ITestDevice : device to reboot when kernel pointers won't change
|
Throws | |
---|---|
Exception |
assertNotMatches
public void assertNotMatches (String pattern, String input)
Parameters | |
---|---|
pattern |
String |
input |
String |
Throws | |
---|---|
Exception |
assertNotMatchesMultiLine
public void assertNotMatchesMultiLine (String pattern, String input)
Parameters | |
---|---|
pattern |
String |
input |
String |
Throws | |
---|---|
Exception |
assertWifiConnected
public void assertWifiConnected (ITestDevice device)
Asserts the wifi connection status is connected. Because STS can reboot a device immediately before running a test, wifi might not be connected before the test runs. We poll wifi until we hit a timeout or wifi is connected.
Parameters | |
---|---|
device |
ITestDevice : device to be ran on
|
Throws | |
---|---|
Exception |
assumeIsSupportedNfcDevice
public void assumeIsSupportedNfcDevice (ITestDevice device)
Parameters | |
---|---|
device |
ITestDevice |
Throws | |
---|---|
Exception |
buildMetricsReportLog
public static MetricsReportLog buildMetricsReportLog (ITestDevice device)
Parameters | |
---|---|
device |
ITestDevice |
Returns | |
---|---|
MetricsReportLog |
createWifiHelper
public WifiHelper createWifiHelper ()
Returns | |
---|---|
WifiHelper |
Throws | |
---|---|
DeviceNotAvailableException |
getAbi
public static IAbi getAbi (ITestDevice device)
Parameters | |
---|---|
device |
ITestDevice |
Returns | |
---|---|
IAbi |
getBuildInfo
public static IBuildInfo getBuildInfo (ITestDevice device)
Parameters | |
---|---|
device |
ITestDevice |
Returns | |
---|---|
IBuildInfo |
getPocPusher
public static PocPusher getPocPusher (ITestDevice device)
Parameters | |
---|---|
device |
ITestDevice |
Returns | |
---|---|
PocPusher |
getTestName
public static String getTestName (ITestDevice device)
Parameters | |
---|---|
device |
ITestDevice |
Returns | |
---|---|
String |
moduleIsPlayManaged
public boolean moduleIsPlayManaged (String modulePackageName)
Return true if a module is play managed.
Example of skipping a test based on mainline modules:
@Test public void testPocCVE_1234_5678() throws Exception { // This will skip the test if MODULE_METADATA mainline module is play managed. assumeFalse(moduleIsPlayManaged("com.google.android.captiveportallogin")); // Do testing... }
Parameters | |
---|---|
modulePackageName |
String |
Returns | |
---|---|
boolean |
Throws | |
---|---|
Exception |
safeReboot
public void safeReboot ()
Throws | |
---|---|
DeviceNotAvailableException |
setUp
public void setUp ()
Waits for device to be online, marks the most recent boottime of the device
Throws | |
---|---|
Exception |
tearDown
public void tearDown ()
Makes sure the phone is online and checks if the device crashed
Throws | |
---|---|
Exception |
updateKernelStartTime
public void updateKernelStartTime ()
Allows a test to pass if called after a planned reboot.
Throws | |
---|---|
DeviceNotAvailableException |
Protected methods
containsDriver
protected boolean containsDriver (ITestDevice device, String driver, boolean checkReadable)
Check if a driver is present on a machine.
Parameters | |
---|---|
device |
ITestDevice |
driver |
String |
checkReadable |
boolean |
Returns | |
---|---|
boolean |
Throws | |
---|---|
Exception |
containsDriver
protected boolean containsDriver (ITestDevice device, String driver)
Check if a driver is present and readable.
Parameters | |
---|---|
device |
ITestDevice |
driver |
String |
Returns | |
---|---|
boolean |
Throws | |
---|---|
Exception |