InstrumentationProtoResultParser

public class InstrumentationProtoResultParser
extends Object implements IInstrumentationResultParser

java.lang.Object
   ↳ com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser


הפונקציה מפענחת את התוצאות של 'protoStd output mode' של בדיקת מכשור שפועלת מהמעטפת, ומעדכנת את ITestRunListener בתוצאות.

הפקודה Am instrument עם האפשרות '-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().

בכל פעם שסטטוס בדיקה חדש יהיה זמין, המאזינים הרשומים יקבלו על כך הודעה.

סיכום

קונסטרוקטורים גלויים לכולם

InstrumentationProtoResultParser(String runName, listeners)

יוצר את InstrumentationProtoResultParser.

שיטות ציבוריות

void addOutput(byte[] data, int offset, int length)

ה-method הזה נקרא בכל פעם שיש נתונים חדשים זמינים.

void cancel()
void flush()
void handleTestRunFailed(String errorMsg)
boolean isCancelled()

קונסטרוקטורים גלויים לכולם

InstrumentationProtoResultParser

public InstrumentationProtoResultParser (String runName, 
                 listeners)

יוצר את InstrumentationProtoResultParser.

פרמטרים
runName String: שם הרצת הבדיקה שצריך לספק ל-ITestRunListener.testRunStarted

listeners : קבלת עדכונים על תוצאות הבדיקה בזמן שהן מתבצעות

שיטות ציבוריות

addOutput

public void addOutput (byte[] data, 
                int offset, 
                int length)

ה-method הזה נקרא בכל פעם שיש נתונים חדשים זמינים.

פרמטרים
data byte: נתונים בסדרה של הודעת InstrumentationData.Session. אם data הוא מקטע חלקי, הוא מתווסף למאגר פנימי ויעובד בקריאה הבאה של addOutput(byte, int, int).

offset int: שינוי של הנתונים החדשים ששמורים ב-data

length int: בייטים של נתונים חדשים ב-data לעיבוד.

ביטול

public void cancel ()

flush

public void flush ()

handleTestRunFailed

public void handleTestRunFailed (String errorMsg)

פרמטרים
errorMsg String

isCancelled

public boolean isCancelled ()

החזרות
boolean