InstrumentationProtoResultParser
public
class
InstrumentationProtoResultParser
extends Object
implements
IInstrumentationResultParser
| java.lang.Object | |
| ↳ | com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser |
מנתח את התוצאות של הרצת בדיקת מכשור במצב הפלט protoStd ממעטפת, ומעדכן את ITestRunListener לגבי התוצאות.
פקודת כלי עם האפשרות -m מוציאה את סטטוס הביצוע של הבדיקה בפורמט protobuf בינארי באופן מצטבר. הודעת ה-protobuf של הפלט היא InstrumentationData.Session, שיש לה שני שדות: 1) שדה חוזר של InstrumentationData.TestStatus, 2) InstrumentationData.SessionStatus. הפקודה am instrument מוציאה הודעת סטטוס של הבדיקה
לפני או אחרי כל הפעלה של הבדיקה. הפונקציה addOutput(byte, int, int) מופעלת עם ארגומנט data שהוא בייטים מסודרים של TestStatus(es). אחרי שכל הבדיקות מסתיימות, הפקודה
מפיקה לבסוף את הפלט SessionStatus.
הגדרה מלאה של protobuf זמינה בכתובת https://cs.android.com/android/platform/superproject/+/master:frameworks/base/cmds/am/proto/instrumentation_data.proto.
InstrumentationProtoResultParser הוא אוטומט סופי, והמצבים מוגדרים ב-ERROR(InstrumentationProtoResultParserState/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState InstrumentationProtoResultParserState). המצב מתחיל ב-ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#NOT_STARTED). כשהוא מזהה סטטוס של מקרה בדיקה ראשון, הוא עובר ל-ERROR(InstrumentationProtoResultParserState.RUNNING/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#RUNNING InstrumentationProtoResultParserState.RUNNING). הסטטוס משתנה ל-ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#FINISHED) אם כל הבדיקות הסתיימו, או ל-ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#CANCELLED) אם מתבצעת קריאה ל-cancel().
בכל פעם שסטטוס חדש של בדיקה יהיה זמין, המאזינים הרשומים יקבלו על כך הודעה.
סיכום
Constructors ציבוריים | |
|---|---|
InstrumentationProtoResultParser(String runName,
|
|
methods ציבוריים | |
|---|---|
void
|
addOutput(byte[] data, int offset, int length)
השיטה הזו מופעלת בכל פעם שיש נתונים חדשים זמינים. |
void
|
cancel()
בקשה לביטול הרצת הבדיקה. |
void
|
flush()
הפונקציה מופעלת בסיום ההרצה של התהליך (אלא אם התהליך בוטל). |
void
|
handleTestRunFailed(String errorMsg)
השיטה הזו מופעלת כשהפקודה am instrument קורסת עם חריגה. |
boolean
|
isCancelled()
שיטת ביטול להפסקת הביצוע של פקודת ה-Shell המרוחקת. |
Constructors ציבוריים
InstrumentationProtoResultParser
public InstrumentationProtoResultParser (String runName,
listeners) מבנים InstrumentationProtoResultParser.
| פרמטרים | |
|---|---|
runName |
String: השם של הרצת הבדיקה שצריך לספק ל-ITestRunListener.testRunStarted |
listeners |
: מקבלים עדכונים על תוצאות הבדיקות בזמן שהן מתבצעות |
methods ציבוריים
addOutput
public void addOutput (byte[] data,
int offset,
int length)השיטה הזו מופעלת בכל פעם שיש נתונים חדשים זמינים.
| פרמטרים | |
|---|---|
data |
byte: נתונים מסודרים של הודעה InstrumentationData.Session. אם data
הוא נתח לא שלם, הוא יתווסף למאגר זמני פנימי ויעבור עיבוד בקריאה הבאה של addOutput(byte, int, int). |
offset |
int: היסט של הנתונים החדשים שמאוחסנים ב-data |
length |
int: בייטים של נתונים חדשים ב-data שצריך לעבד. |
ביטול
public void cancel ()
בקשה לביטול הרצת הבדיקה.
ישירה
public void flush ()
הפונקציה מופעלת בסיום ההרצה של התהליך (אלא אם התהליך בוטל). כך המקבל יכול לסיים את הפעולה ולנקות את כל הנתונים שעוד לא עברו עיבוד.
handleTestRunFailed
public void handleTestRunFailed (String errorMsg)
המערכת קוראת לשיטה הזו כשהפקודה am instrument קורסת עם חריגה. אם הקריסה מתרחשת במהלך ביצוע הבדיקה, כל המאזינים הרשומים צריכים לקבל התראה ITestRunListener.testRunFailed ואחריה ITestRunListener.testRunEnded(long, .
| פרמטרים | |
|---|---|
errorMsg |
String |
isCancelled
public boolean isCancelled ()
שיטת ביטול להפסקת הביצוע של פקודת ה-Shell המרוחקת.
| החזרות | |
|---|---|
boolean |
true כדי לבטל את ההרצה של הפקודה. |