보안 테스트 케이스

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


모든 STS 테스트의 기본 테스트 클래스입니다.

대신 RootSecurityTestCase 또는 NonRootSecurityTestCase를 사용하세요.

요약

상수

int TIMEOUT_DEFAULT

int TIMEOUT_NONDETERMINISTIC

필드

public PocPusher pocPusher

public TestName testName

공개 생성자

SecurityTestCase()

공개 메서드

void assertMatches(String pattern, String input)
void assertMatchesMultiLine(String pattern, String input)
void assertNotKernelPointer(Callable<String> getPtrFunction, ITestDevice deviceToReboot)

커널 포인터 누수를 테스트하기 위해 문자열을 수집하는 제공된 함수를 실행합니다.

void assertNotMatches(String pattern, String input)
void assertNotMatchesMultiLine(String pattern, String input)
void assertWifiConnected(ITestDevice device)

Wi-Fi 연결 상태가 연결되었다고 어설션합니다.

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)

재생 관리 모듈이면 true를 반환합니다.

void safeReboot()
void setUp()

기기가 온라인 상태가 될 때까지 대기하고 기기의 최근 부팅 시간을 표시합니다.

void tearDown()

휴대전화가 온라인 상태인지 확인하고 기기가 비정상 종료되었는지 확인

void updateKernelStartTime()

계획된 재부팅 후에 호출되면 테스트를 통과할 수 있습니다.

보호된 메서드

boolean containsDriver(ITestDevice device, String driver, boolean checkReadable)

시스템에 드라이버가 있는지 확인합니다.

boolean containsDriver(ITestDevice device, String driver)

드라이버가 있고 읽을 수 있는지 확인합니다.

상수

기본 시간 초과

protected static final int TIMEOUT_DEFAULT

상수 값: 60개 (0x0000003c)

TIMEOUT_NONDETERMINISTIC

public static final int TIMEOUT_NONDETERMINISTIC

상수 값: 315명 (0x0000013b)

필드

PocPusher

public PocPusher pocPusher

테스트 이름

public TestName testName

공개 생성자

보안 테스트 케이스

public SecurityTestCase ()

공개 메서드

주장 일치

public void assertMatches (String pattern, 
                String input)

매개변수
pattern String

input String

생성 값
Exception

assertMatchMultiLine

public void assertMatchesMultiLine (String pattern, 
                String input)

매개변수
pattern String

input String

생성 값
Exception

assertNotKernelPointer

public void assertNotKernelPointer (Callable<String> getPtrFunction, 
                ITestDevice deviceToReboot)

커널 포인터 누수를 테스트하기 위해 문자열을 수집하는 제공된 함수를 실행합니다. 이 getPtrFunction 함수 구현은 포인터로 시작하는 문자열을 반환해야 합니다. 예: '01234567' [0-9a-fA-F]를 제외하고 맨 뒤에 오는 문자가 허용됩니다. 만약 포인터가 취약한 것으로 보이면 JUnit 어설션이 발생합니다. 커널 포인터는 해시된 포인터가 일반적인 커널 공간과 겹칠 가능성이 있습니다. 이 거짓양성을 통계적으로 무의미하게 만들기 위해 실험을 다시 실행해야 합니다 커널 포인터가 작동하지 않는 경우 재부팅하지 않고 변경하는 경우 재부팅할 기기를 제공하세요.

매개변수
getPtrFunction Callable: 포인터로 시작하는 문자열을 반환하는 함수

deviceToReboot ITestDevice: 커널 포인터가 변경되지 않을 때 재부팅할 기기

생성 값
Exception

assertNotMatch

public void assertNotMatches (String pattern, 
                String input)

매개변수
pattern String

input String

생성 값
Exception

assertNotMatchMultiLine

public void assertNotMatchesMultiLine (String pattern, 
                String input)

매개변수
pattern String

input String

생성 값
Exception

어설션Wi-Fi연결

public void assertWifiConnected (ITestDevice device)

Wi-Fi 연결 상태가 연결되었다고 어설션합니다. STS는 기기를 즉시 재부팅할 수 있기 때문에 테스트 실행 전에 Wi-Fi가 연결되지 않았을 수 있습니다. 다음 시점까지 Wi-Fi 폴링 시간 초과가 발생하거나 Wi-Fi가 연결됩니다.

매개변수
device ITestDevice: 실행할 기기

생성 값
Exception

가정IsSupportedNfcDevice

public void assumeIsSupportedNfcDevice (ITestDevice device)

매개변수
device ITestDevice

생성 값
Exception

buildMetricsReportLog

public static MetricsReportLog buildMetricsReportLog (ITestDevice device)

매개변수
device ITestDevice

반환 값
MetricsReportLog

createWifiHelper

public WifiHelper createWifiHelper ()

반환 값
WifiHelper

생성 값
DeviceNotAvailableException

게트아비

public static IAbi getAbi (ITestDevice device)

매개변수
device ITestDevice

반환 값
IAbi

getBuildInfo

public static IBuildInfo getBuildInfo (ITestDevice device)

매개변수
device ITestDevice

반환 값
IBuildInfo

getPocPusher

public static PocPusher getPocPusher (ITestDevice device)

매개변수
device ITestDevice

반환 값
PocPusher

getTestName

public static String getTestName (ITestDevice device)

매개변수
device ITestDevice

반환 값
String

moduleIsPlayManaged

public boolean moduleIsPlayManaged (String modulePackageName)

재생 관리 모듈이면 true를 반환합니다.

메인라인 모듈에 기반한 테스트를 건너뛰는 예:

  @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...
  }
 

매개변수
modulePackageName String

반환 값
boolean

생성 값
Exception

세이프 리부트

public void safeReboot ()

생성 값
DeviceNotAvailableException

설정

public void setUp ()

기기가 온라인 상태가 될 때까지 대기하고 기기의 최근 부팅 시간을 표시합니다.

생성 값
Exception

해체

public void tearDown ()

휴대전화가 온라인 상태인지 확인하고 기기가 비정상 종료되었는지 확인

생성 값
Exception

updateKernelStartTime

public void updateKernelStartTime ()

계획된 재부팅 후에 호출되면 테스트를 통과할 수 있습니다.

생성 값
DeviceNotAvailableException

보호된 메서드

includeDriver

protected boolean containsDriver (ITestDevice device, 
                String driver, 
                boolean checkReadable)

시스템에 드라이버가 있는지 확인합니다.

매개변수
device ITestDevice

driver String

checkReadable boolean

반환 값
boolean

생성 값
Exception

includeDriver

protected boolean containsDriver (ITestDevice device, 
                String driver)

드라이버가 있고 읽을 수 있는지 확인합니다.

매개변수
device ITestDevice

driver String

반환 값
boolean

생성 값
Exception