GTestBase
public
abstract
class
GTestBase
extends Object
implements
IAbiReceiver,
IConfigurationReceiver,
IRemoteTest,
IRuntimeHintProvider,
IShardableTest,
ITestCollector,
ITestFilterReceiver
java.lang.Object | |
↳ | com.android.tradefed.testtype.GTestBase |
gTest 的基礎類別
摘要
欄位 | |
---|---|
protected
static
final
String |
FILTER_EXTENSION
|
protected
static
final
String |
GTEST_FLAG_FILE
|
protected
static
final
String |
GTEST_FLAG_FILTER
|
protected
static
final
String |
GTEST_FLAG_LIST_TESTS
|
protected
static
final
String |
GTEST_FLAG_PRINT_TIME
|
protected
static
final
String |
GTEST_FLAG_RUN_DISABLED_TESTS
|
protected
static
final
String |
GTEST_XML_OUTPUT
|
公用建構函式 | |
---|---|
GTestBase()
|
公用方法 | |
---|---|
void
|
addAllExcludeFilters(
新增篩選器的 |
void
|
addAllIncludeFilters(
新增篩選器的 |
void
|
addExcludeFilter(String filter)
新增要排除的測試的篩選器。 |
void
|
addIncludeFilter(String filter)
新增篩選器,用於指定要納入哪些測試。 |
String
|
cleanFilter(String filter)
|
void
|
clearExcludeFilters()
刪除目前追蹤的所有排除篩選條件。 |
void
|
clearIncludeFilters()
刪除目前追蹤的所有包含篩選器。 |
IAbi
|
getAbi()
|
|
getAfterTestCmd()
取得在 GTest 之後執行的殼層指令。 |
|
getBeforeTestCmd()
取得在 GTest 之前執行的 Shell 指令。 |
|
getExcludeFilters()
傳回目前「排除」篩選器的 |
|
getFileExclusionFilterRegex()
取得規則運算式,用於排除特定檔案的執行。 |
|
getGTestFlags()
取得要傳遞至原生測試的殼層指令的其他旗標值。 |
|
getIncludeFilters()
傳回目前的包含篩選器 |
long
|
getMaxTestTimeMs()
取得 gtest 執行的最大時間。 |
String
|
getModuleName()
取得要執行的 Android 原生測試模組。 |
boolean
|
getRunDisabledTests()
取得 GTest 是否應執行停用的測試。 |
long
|
getRuntimeHint()
以毫秒為單位,傳回測試的預期執行時間。 |
int
|
getShardCount()
傳回目前的分割區計數。 |
int
|
getShardIndex()
取得這項測試的資料分割索引。 |
String
|
getTestFilterKey()
取得測試篩選器鍵。 |
String
|
getTestModule()
取得模組名稱。 |
boolean
|
isCollectTestsOnly()
僅叫用測試二進位檔,以收集適用測試案例的清單。 |
boolean
|
isEnableXmlOutput()
取得是否使用 gtest XML 輸出測試結果。 |
boolean
|
isSharded()
取得 isSharded 標記。 |
void
|
notifyTestExecution(boolean incompleteTestFound,
通知父項測試執行作業,以便針對重試作業妥善處理納入/排除篩選條件。 |
void
|
setAbi(IAbi abi)
|
void
|
setCollectTestsOnly(boolean shouldCollectTest)
啟用或停用測試收集模式 |
void
|
setConfiguration(IConfiguration configuration)
插入目前使用的 |
void
|
setModuleName(String moduleName)
設定要執行的 Android 原生測試模組。 |
void
|
setShardCount(int shardCount)
設定此測試的分片數量。 |
void
|
setShardIndex(int shardIndex)
設定這項測試的分割區索引。 |
|
split(int shardCountHint)
|
受保護的方法 | |
---|---|
String
|
createFlagFile(String filter)
建立檔案,其中包含將透過 --gtest_flagfile 使用的篩選器,以避免任何 OS 限制在 args 大小。 |
void
|
erasePrependedFileName(
|
String
|
getAllGTestFlags(String path)
取得所有 GTest 旗標以傳遞至 ADB 殼層指令的輔助程式。 |
IConfiguration
|
getConfiguration()
傳回測試設定。 |
String
|
getExceptionMessage(Exception e)
請盡可能擷取具體且明確的描述性訊息至特定 |
String
|
getGTestCmdLine(String fullPath, String flags)
輔助方法,用於建構要執行的 gtest 指令。 |
String
|
getGTestCmdLineWrapper(String fullPath, String flags)
輔助程式,可讓衍生類別在其他工具 (chroot、strace、gdb 等) 下包裝 gtest 指令。 |
String
|
getGTestFilters(String path)
協助取得執行測試的 g-test 篩選器。 |
ITestInvocationListener
|
getGTestListener(ITestInvocationListener... listeners)
傳回提供額外偵錯資訊的 GTestListener,例如在 mDisabledDuplicateCheck 為 false 時偵測並回報重複的測試。 |
abstract
String
|
loadFilter(String path)
定義 get 篩選器方法。 |
void
|
setRunDisabled(boolean runDisabled)
設定 GTest 是否應執行停用的測試。 |
欄位
FILTER_EXTENSION
protected static final String FILTER_EXTENSION
GTEST_FLAG_FILE
protected static final String GTEST_FLAG_FILE
GTEST_FLAG_FILTER
protected static final String GTEST_FLAG_FILTER
GTEST_FLAG_LIST_TESTS
protected static final String GTEST_FLAG_LIST_TESTS
GTEST_FLAG_PRINT_TIME
protected static final String GTEST_FLAG_PRINT_TIME
GTEST_FLAG_RUN_DISABLED_TESTS
protected static final String GTEST_FLAG_RUN_DISABLED_TESTS
GTEST_XML_OUTPUT
protected static final String GTEST_XML_OUTPUT
公用建構函式
GTestBase
public GTestBase ()
公用方法
addAllExcludeFilters
public void addAllExcludeFilters (filters)
新增要排除測試的篩選器 ERROR(/Set)
。
參數 | |
---|---|
filters |
|
addAllIncludeFilters
public void addAllIncludeFilters (filters)
新增篩選器的 ERROR(/Set)
,用於指定要納入哪些測試。
參數 | |
---|---|
filters |
|
addExcludeFilter
public void addExcludeFilter (String filter)
新增篩選器,用於排除要排除的測試。
參數 | |
---|---|
filter |
String |
addIncludeFilter
public void addIncludeFilter (String filter)
新增篩選器,指出要納入哪些測試。
參數 | |
---|---|
filter |
String |
cleanFilter
public String cleanFilter (String filter)
參數 | |
---|---|
filter |
String |
傳回 | |
---|---|
String |
clearExcludeFilters
public void clearExcludeFilters ()
刪除目前追蹤的所有「排除」篩選器。
ClearIncludeFilters
public void clearIncludeFilters ()
刪除目前追蹤的所有包含篩選器。
getAfterTestCmd
publicgetAfterTestCmd ()
取得在 GTest 之後執行的殼層指令。
傳回 | |
---|---|
|
getBeforeTestCmd
publicgetBeforeTestCmd ()
取得在 GTest 前執行的殼層指令。
傳回 | |
---|---|
|
getFileExclusionFilterRegex
publicgetFileExclusionFilterRegex ()
取得規則運算式,排除特定檔案的執行。
傳回 | |
---|---|
|
getGTestFlags
publicgetGTestFlags ()
取得要傳遞至原生測試 shell 指令的其他旗標值。
傳回 | |
---|---|
|
getMaxTestTimeMs
public long getMaxTestTimeMs ()
取得執行 gtest 的時間上限。
傳回 | |
---|---|
long |
getModuleName
public String getModuleName ()
取得要執行的 Android 原生測試模組。
傳回 | |
---|---|
String |
要執行的原生測試模組名稱,如果未設定,則為 null |
getRunDisabledTests
public boolean getRunDisabledTests ()
取得 GTest 是否應執行停用的測試。
傳回 | |
---|---|
boolean |
如果應執行停用的測試,則傳回「是」;否則傳回「否」 |
getRuntimeHint
public long getRuntimeHint ()
以毫秒為單位,傳回測試的預期執行時間。這段時間用於負載平衡分割執行作業
傳回 | |
---|---|
long |
getShardCount
public int getShardCount ()
傳回目前的分割區數量。
傳回 | |
---|---|
int |
getShardIndex
public int getShardIndex ()
取得此測試的區塊索引。
傳回 | |
---|---|
int |
getTestFilterKey
public String getTestFilterKey ()
取得測試篩選器金鑰。
傳回 | |
---|---|
String |
getTestModule
public String getTestModule ()
取得模組名稱。
傳回 | |
---|---|
String |
isCollectTestsOnly
public boolean isCollectTestsOnly ()
只會取得是否要叫用測試二進位檔,以收集適用的測試案例清單。
傳回 | |
---|---|
boolean |
isEnableXmlOutput
public boolean isEnableXmlOutput ()
取得是否使用 gtest xml 輸出測試結果。
傳回 | |
---|---|
boolean |
isSharded
public boolean isSharded ()
Getssharded 標記。
傳回 | |
---|---|
boolean |
通知 TestExecution
public void notifyTestExecution (boolean incompleteTestFound,failedTests)
通知測試執行作業的父項,以便正確處理包含/排除篩選器的重試作業。
參數 | |
---|---|
incompleteTestFound |
boolean |
failedTests |
|
setCollectTestsOnly
public void setCollectTestsOnly (boolean shouldCollectTest)
啟用或停用測試收集模式
setConfiguration
public void setConfiguration (IConfiguration configuration)
插入使用中的 IConfiguration
。
參數 | |
---|---|
configuration |
IConfiguration |
setModuleName
public void setModuleName (String moduleName)
設定要執行的 Android 原生測試模組。
參數 | |
---|---|
moduleName |
String :要執行的原生測試模組名稱 |
setShardCount
public void setShardCount (int shardCount)
設定這項測試的資料分割數量。
參數 | |
---|---|
shardCount |
int |
setShardIndex
public void setShardIndex (int shardIndex)
設定此測試的分割區索引。
參數 | |
---|---|
shardIndex |
int |
分割
publicsplit (int shardCountHint)
split()
的替代版本,同時提供嘗試執行的區塊計數。這對某些無法隨意決定的測試執行程式相當實用。
參數 | |
---|---|
shardCountHint |
int :嘗試的分割區數量。 |
傳回 | |
---|---|
|
要個別執行的子測試集合,或如果測試目前無法分割,則為 null |
受保護的方法
createFlagFile
protected String createFlagFile (String filter)
建立檔案,其中包含將透過 --gtest_flagfile 使用的篩選器,以避免 OS 對 args 大小的限制。
參數 | |
---|---|
filter |
String :篩選器字串 |
傳回 | |
---|---|
String |
包含篩選器的檔案路徑。 |
擲回 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
erasePrependedFileName
protected void erasePrependedFileName (filters, String filename)
參數 | |
---|---|
filters |
|
filename |
String |
getAllGTestFlags
protected String getAllGTestFlags (String path)
輔助程式,可取得所有 GTest 旗標,並傳遞至 ADB 殼層指令。
參數 | |
---|---|
path |
String :裝置上二進位檔的完整路徑。 |
傳回 | |
---|---|
String |
所有應傳遞至 GTest 的 GTest 標記的 String |
擲回 | |
---|---|
DeviceNotAvailableException |
getConfiguration
protected IConfiguration getConfiguration ()
傳回測試設定。
傳回 | |
---|---|
IConfiguration |
IConfiguration |
getExceptionMessage
protected String getExceptionMessage (Exception e)
盡力嘗試針對給定的 Exception
擷取有意義的簡短說明訊息
參數 | |
---|---|
e |
Exception :Exception |
傳回 | |
---|---|
String |
簡短訊息 |
getGTestCmdLine
protected String getGTestCmdLine (String fullPath, String flags)
輔助方法,用於建構要執行的 gtest 指令。
參數 | |
---|---|
fullPath |
String :裝置上 gtest 二進位檔案的絕對檔案系統路徑 |
flags |
String :gtest 執行標記 |
傳回 | |
---|---|
String |
要為 gtest 執行的 Shell 指令列 |
getGTestCmdLineWrapper
protected String getGTestCmdLineWrapper (String fullPath, String flags)
輔助程式,可讓衍生類別在其他工具 (chroot、strace、gdb 等) 下包裝 gtest 指令。
參數 | |
---|---|
fullPath |
String |
flags |
String |
傳回 | |
---|---|
String |
getGTestFilters
protected String getGTestFilters (String path)
取得要執行的測試 g-test 篩選器的輔助程式。
請注意,篩選器只會篩選函式名稱 (例如 Google Test「Test」);所有 Google Test「Test Cases」都會納入考量。
參數 | |
---|---|
path |
String :裝置上二進位檔的完整路徑。 |
傳回 | |
---|---|
String |
要傳遞至 g-test 的完整篩選器旗標,如未指定,則為空白字串 |
擲回 | |
---|---|
DeviceNotAvailableException |
getGTestListener
protected ITestInvocationListener getGTestListener (ITestInvocationListener... listeners)
傳回提供額外偵錯資訊的 GTestListener,例如在 mDisabledDuplicateCheck 為 false 時偵測並回報重複的測試。否則,會傳回傳入的監聽器。
參數 | |
---|---|
listeners |
ITestInvocationListener |
傳回 | |
---|---|
ITestInvocationListener |
loadFilter
protected abstract String loadFilter (String path)
定義 get 篩選器方法。
子類別必須實作如何取得自己的篩選器。
參數 | |
---|---|
path |
String :篩選器檔案的完整路徑。 |
傳回 | |
---|---|
String |
篩選器字串。 |
擲回 | |
---|---|
DeviceNotAvailableException |
setRunDisabled
protected void setRunDisabled (boolean runDisabled)
設定 GTest 是否應執行停用的測試。
參數 | |
---|---|
runDisabled |
boolean |