מעבד BasePostCPU

public abstract class BasePostProcessor
extends Object implements IPostProcessor

JavaScript.lang.Object
com.android.tradefed.postprocessor.BasePostProcessor


הבסיס IPostProcessor שכל הטמעה צריכה להרחיב. עליך לוודא שהפוסט מתבצעת קריאה לשיטות עיבוד לפני מדווחים התוצאות הסופיות.

סיכום

בנאים ציבוריים

BasePostProcessor()

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

final ITestInvocationListener init(ITestInvocationListener listener)

שלב האתחול של מעבד המידע.

final void invocationEnded(long elapsedTime)

דיווחים שההפעלה הסתיימה, בין אם בהצלחה או בגלל שגיאה כלשהי תנאי.

final void invocationFailed(FailureDescription failure)

מדווח על הפעלה שלא הושלמה עקב מצב שגיאה כלשהו.

final void invocationFailed(Throwable cause)

מדווח על הפעלה שלא הושלמה עקב מצב שגיאה כלשהו.

void invocationSkipped(SkipReason reason)

דיווח על הפעלה כתוכן שדילגת עליו

final void invocationStarted(IInvocationContext context)

פונקציות מאזיני הפעלה להעברה

final boolean isDisabled()

הפונקציה מחזירה את הערך True אם כל האובייקט מושבת (דילוג על ההגדרה וגם על הפריקה).

final void logAssociation(String dataName, LogFile logFile)

במקרים מסוימים היומן צריך להיות משויך באופן הדוק למקרי הבדיקה, אבל אפשר לעשות זאת כך גם בקישור הישיר testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) אי אפשר להתקשר חזרה.

עדכון השיוך של יומן הבדיקה.

processAllTestMetricsAndLogs(ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, allTestLogs)

אפשר להטמיע את השיטה הזו כדי לצבור מדדים ויומנים בכל הבדיקות.

abstract processRunMetricsAndLogs( rawMetrics, runLogs)

צריך להשתמש בשיטה הזו כדי ליצור קבוצה של מדדים חדשים מהמדדים הקיימים יומנים.

processTestMetricsAndLogs(TestDescription testDescription, testMetrics, testLogs)

צריך להשתמש בשיטה הזו כדי לפרסם מדדי תהליכים ויומנים מכל בדיקה.

final void setLogSaver(ILogSaver logSaver)

מגדירים את השדה ILogSaver כדי לאפשר לכלי ההטמעה לשמור קבצים.

void setUp()

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

final void testAssumptionFailure(TestDescription test, String trace)

מופעלת כשבדיקה אטומית מסמנת שהיא מניחה שהתנאי לא נכון

final void testAssumptionFailure(TestDescription test, FailureDescription failure)

מופעלת כשבדיקה אטומית מסמנת שהיא מניחה שהתנאי לא נכון

final void testEnded(TestDescription test, long endTime, testMetrics)

חלופה ל-ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) שבה ניתן לציין את שעת הסיום ישירות.

final void testEnded(TestDescription test, testMetrics)

מדווח על סיום ההפעלה של מקרה בדיקה ספציפי.

final void testFailed(TestDescription test, FailureDescription failure)

מדווח על כשל במקרה בדיקה ספציפי.

final void testFailed(TestDescription test, String trace)

מדווח על כשל במקרה בדיקה ספציפי.

final void testIgnored(TestDescription test)

נשלחת קריאה כאשר בדיקה לא תבוצע, בדרך כלל מפני שלשיטת בדיקה יש הערות עם org.junit.ignore.

final void testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)

משתמשים בשיטה הזו כדי לרשום קובץ מההטמעה של PostProcessor.

final void testLogSaved(String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)

בוצעה קריאה כשיומן הבדיקה נשמר.

final void testModuleEnded()

מדווח על סיום הרצת מודול.

final void testModuleStarted(IInvocationContext moduleContext)

מדווח על תחילת המודול שפועל.

final void testRunEnded(long elapsedTime, runMetrics)

הדוחות הסתיימו של הרצת הבדיקה.

final void testRunFailed(FailureDescription failure)

הרצת בדיקת הדוחות נכשלה בגלל כשל שתואר על ידי FailureDescription.

final void testRunFailed(String errorMessage)

הפעלת בדיקת הדוחות נכשלה עקב שגיאה חמורה.

final void testRunStarted(String runName, int testCount, int attemptNumber)

מדווח על התחלה של הרצת בדיקה.

final void testRunStarted(String runName, int testCount)

הרצה של קריאה חוזרת (callback)

final void testRunStarted(String runName, int testCount, int attemptNumber, long startTime)

מדווח על התחלה של הרצת בדיקה.

final void testRunStopped(long elapsedTime)

הרצת בדיקת הדוחות הופסקה לפני שהסתיימה עקב בקשה של משתמש.

final void testSkipped(TestDescription test, SkipReason reason)

מוצגת קריאה כשמדלגים על בדיקה והיא לא בוצעה מסיבה שבדרך כלל לא צפויה.

final void testStarted(TestDescription test, long startTime)

חלופה ל-testStarted(com.android.tradefed.result.TestDescription) שבה מציינים גם מתי הבדיקה התחיל, בשילוב עם ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)) למדידה מדויקת.

final void testStarted(TestDescription test)

קריאות חוזרות (callback) של מקרי בדיקה

שיטות מוגנות

void cleanUp()
MetricMeasurement.DataType getMetricType()

במקרה הצורך, אפשר לשנות את השיטה הזו כדי לשנות את סוג המדד.

String getRunName()

בנאים ציבוריים

מעבד BasePostCPU

public BasePostProcessor ()

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

להתחיל

public final ITestInvocationListener init (ITestInvocationListener listener)

שלב האתחול של מעבד המידע. בקשות לקבלת שיחות לפני כל הבדיקות קריאה חוזרת (callback).

פרמטרים
listener ITestInvocationListener

החזרות
ITestInvocationListener

ההפעלה הסתיימה

public final void invocationEnded (long elapsedTime)

דיווחים שההפעלה הסתיימה, בין אם בהצלחה או בגלל שגיאה כלשהי תנאי.

תתבצע קריאה אוטומטית על ידי framework של TradeFederation.

פרמטרים
elapsedTime long: זמן ההפעלה שחלף באלפיות השנייה

ההפעלה נכשלה

public final void invocationFailed (FailureDescription failure)

מדווח על הפעלה שלא הושלמה עקב מצב שגיאה כלשהו.

תתבצע קריאה אוטומטית על ידי framework של TradeFederation.

פרמטרים
failure FailureDescription: FailureDescription שמתאר את הסיבה לכשל

ההפעלה נכשלה

public final void invocationFailed (Throwable cause)

מדווח על הפעלה שלא הושלמה עקב מצב שגיאה כלשהו.

תתבצע קריאה אוטומטית על ידי framework של TradeFederation.

פרמטרים
cause Throwable: הסיבה Throwable לכשל

המערכת דילגה על ההפעלה

public void invocationSkipped (SkipReason reason)

דיווח על הפעלה כתוכן שדילגת עליו

פרמטרים
reason SkipReason

ההפעלה התחילה

public final void invocationStarted (IInvocationContext context)

פונקציות מאזיני הפעלה להעברה

פרמטרים
context IInvocationContext: מידע על ההפעלה

מושבתת

public final boolean isDisabled ()

הפונקציה מחזירה את הערך True אם כל האובייקט מושבת (דילוג על ההגדרה וגם על הפריקה). אחרת, שקרית.

החזרות
boolean

שיוך (logAssociation)

public final void logAssociation (String dataName, 
                LogFile logFile)

במקרים מסוימים היומן צריך להיות משויך באופן הדוק למקרי הבדיקה, אבל אפשר לעשות זאת כך גם בקישור הישיר testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) אי אפשר להתקשר חזרה. לכן הקריאה החוזרת הזאת מאפשרת ליצור קשר חזק במפורש.

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

פרמטרים
dataName String: שם הנתונים

logFile LogFile: ה-LogFile שתועד בעבר וצריך להיות משויך אל מקרה בדיקה.

לעבדAllTestMetricsAndLogs

public  processAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, 
                 allTestLogs)

אפשר להטמיע את השיטה הזו כדי לצבור מדדים ויומנים בכל הבדיקות. מדדים שמתקבלים שיטה זו תשמש כדיווח כמדדי הרצה. יש להשתמש רק במדדים החדשים שנוצרו מוחזרים ומקבלים שם מפתח ייחודי (אסור לגרום להתנגשות עם מפתחות קיימים).

פרמטרים
allTestMetrics ListMultimap: HashMultimap שמאחסנת את המדדים מכל בדיקה בקיבוץ לפי מדד שמות.

allTestLogs : מפה שבה מאוחסנת מפה של כל בדיקה של קובצי יומן, עם שמות הנתונים שלהם באמצעות TestDescription של כל בדיקה כמפתחות.

החזרות
קבוצה של מדדים חדשים שנוצרו מכל מדדי הבדיקה.

productRunMetricsAndLogs

public abstract  processRunMetricsAndLogs ( rawMetrics, 
                 runLogs)

צריך להשתמש בשיטה הזו כדי ליצור קבוצה של מדדים חדשים מהמדדים הקיימים יומנים. מוחזרים רק המדדים החדשים שנוצרו, עם שם מפתח ייחודי (לא עלולה להיות התנגשות עם מפתחות קיימים).

פרמטרים
rawMetrics : קבוצת המדדים הגולמיים שזמינים להפעלה.

runLogs : קבוצת קובצי היומן להרצת הבדיקה.

החזרות
קבוצת המדדים החדשים שנוצרו ממדדי ההרצה.

fullTestMetricsAndLogs

public  processTestMetricsAndLogs (TestDescription testDescription, 
                 testMetrics, 
                 testLogs)

צריך להשתמש בשיטה הזו כדי לפרסם מדדי תהליכים ויומנים מכל בדיקה. רק החדשים מוחזרים שנוצרו עם שם מפתח ייחודי (ללא התנגשות עם שם מפתח קיים) מותר להשתמש במפתחות).

פרמטרים
testDescription TestDescription: האובייקט TestDescription שמתאר את הבדיקה.

testMetrics : קבוצת המדדים מהבדיקה.

testLogs : קבוצת הקבצים שנרשמו במהלך הבדיקה.

החזרות
קבוצת מדדים חדשים שנוצרו ממדדי הבדיקה.

setLogSaver

public final void setLogSaver (ILogSaver logSaver)

מגדירים את השדה ILogSaver כדי לאפשר לכלי ההטמעה לשמור קבצים.

פרמטרים
logSaver ILogSaver: ILogSaver

הגדרה

public void setUp ()

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

testAssumptionFailure

public final void testAssumptionFailure (TestDescription test, 
                String trace)

מופעלת כשבדיקה אטומית מסמנת שהיא מניחה שהתנאי לא נכון

פרמטרים
test TestDescription: מזהה את הבדיקה

trace String: דוח קריסות של כשל

testAssumptionFailure

public final void testAssumptionFailure (TestDescription test, 
                FailureDescription failure)

מופעלת כשבדיקה אטומית מסמנת שהיא מניחה שהתנאי לא נכון

פרמטרים
test TestDescription: מזהה את הבדיקה

failure FailureDescription: FailureDescription מתאר את הכשל ואת ההקשר שלו.

הבדיקה הסתיימה

public final void testEnded (TestDescription test, 
                long endTime, 
                 testMetrics)

חלופה ל-ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) שבה ניתן לציין את שעת הסיום ישירות. כדי למדוד במדויק, צריך להשתמש בשילוב עם המאפיין testStarted(com.android.tradefed.result.TestDescription, long).

פרמטרים
test TestDescription: מזהה את הבדיקה

endTime long: זמן הסיום של הבדיקה, שנמדד באמצעות System.currentTimeMillis()

testMetrics : ERROR(/Map) מהמדדים שנפלטו

הבדיקה הסתיימה

public final void testEnded (TestDescription test, 
                 testMetrics)

מדווח על סיום ההפעלה של מקרה בדיקה ספציפי.

אם לא הפעלת את testFailed(TestDescription, FailureDescription), הבדיקה הזו עברה. מחזירה גם כל מפתח/ערך מדדים שייתכן שהתקבלו במהלך הביצוע של מקרה הבדיקה.

פרמטרים
test TestDescription: מזהה את הבדיקה

testMetrics : ERROR(/Map) מהמדדים שנפלטו

הבדיקה נכשלה

public final void testFailed (TestDescription test, 
                FailureDescription failure)

מדווח על כשל במקרה בדיקה ספציפי.

הקריאה תתבצע בין testStarted ל-testEnded.

פרמטרים
test TestDescription: מזהה את הבדיקה

failure FailureDescription: FailureDescription מתאר את הכשל ואת ההקשר שלו.

הבדיקה נכשלה

public final void testFailed (TestDescription test, 
                String trace)

מדווח על כשל במקרה בדיקה ספציפי.

הקריאה תתבצע בין testStarted ל-testEnded.

פרמטרים
test TestDescription: מזהה את הבדיקה

trace String: דוח קריסות של כשל

התעלמות מבדיקה

public final void testIgnored (TestDescription test)

נשלחת קריאה כאשר בדיקה לא תבוצע, בדרך כלל מפני שלשיטת בדיקה יש הערות עם org.junit.ignore.

פרמטרים
test TestDescription: מזהה את הבדיקה

יומן בדיקה

public final void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

משתמשים בשיטה הזו כדי לרשום קובץ מההטמעה של PostProcessor.

פרמטרים
dataName String: שם תיאורי של הנתונים String. לדוגמה 'device_logcat'. הערה dataName לא יכול להיות ייחודי בכל הפעלה. כלומר, הטמעות צריכות להיות מסוגלות לטפל כמה קריאות עם אותו dataName

dataType LogDataType: ה-LogDataType של הנתונים

dataStream InputStreamSource: ה-InputStreamSource של הנתונים. מטמיעים צריכים להתקשר CreateInputStream כדי להתחיל לקרוא את הנתונים, ולוודא לסגור את StreamStream לאחר השלמת הפעולה. המתקשרים צריכים לוודא שמקור הנתונים יישאר קיימים ונגישים עד לסיום שיטת testLog.

testLogSaved

public final void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)

בוצעה קריאה כשיומן הבדיקה נשמר.

יש להשתמש בו במקום ITestInvocationListener#testLog(String, LogDataType, InputStreamSource).

פרמטרים
dataName String: שם תיאורי של הנתונים String. לדוגמה 'device_logcat'. הערה dataName לא יכול להיות ייחודי בכל הפעלה. כלומר, הטמעות צריכות להיות מסוגלות לטפל כמה קריאות עם אותו dataName

dataType LogDataType: ה-LogDataType של הנתונים

dataStream InputStreamSource: ה-InputStreamSource של הנתונים. מטמיעים צריכים להתקשר CreateInputStream כדי להתחיל לקרוא את הנתונים, ולוודא לסגור את StreamStream לאחר השלמת הפעולה.

logFile LogFile: ה-LogFile שמכיל את המטא-נתונים של הקובץ שנשמר.

testModuleEnded

public final void testModuleEnded ()

מדווח על סיום הרצת מודול.

TestModuleStarted

public final void testModuleStarted (IInvocationContext moduleContext)

מדווח על תחילת המודול שפועל. הקריאה החוזרת הזו משויכת ל-testModuleEnded() והיא אופציונלית ברצף. נעשה בו שימוש רק במהלך הרצה שנעשה בה שימוש מודולים של הרצה בחבילות.

פרמטרים
moduleContext IInvocationContext: ה-IInvocationContext של המודול.

הבדיקה הסתיימה

public final void testRunEnded (long elapsedTime, 
                 runMetrics)

הדוחות הסתיימו של הרצת הבדיקה. FIXME: אנחנו לא יכולים ליצור שתי מפות<> עם סוגים שונים, כאן צריך להשתמש ב-HashMap.

פרמטרים
elapsedTime long: דיווח על הזמן שחלף במכשיר, באלפיות השנייה

runMetrics : צמדי מפתח/ערך מדווחים בסיום הרצת בדיקה עם Metric.

הבדיקה נכשלה

public final void testRunFailed (FailureDescription failure)

הרצת בדיקת הדוחות נכשלה בגלל כשל שתואר על ידי FailureDescription.

פרמטרים
failure FailureDescription: FailureDescription מתאר את הכשל ואת ההקשר שלו.

הבדיקה נכשלה

public final void testRunFailed (String errorMessage)

הפעלת בדיקת הדוחות נכשלה עקב שגיאה חמורה.

פרמטרים
errorMessage String: String מתארת את הסיבה לכשל בהפעלה.

בדיקת ההרצה

public final void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber)

מדווח על התחלה של הרצת בדיקה.

פרמטרים
runName String: שם הרצת הבדיקה

testCount int: מספר הבדיקות הכולל בהרצת הבדיקה

attemptNumber int: מספר הזמנה, לזיהוי הניסיונות השונים של אותו runName שפועלים כמה פעמים. ה-TryNumber הוא 0 באינדקס והוא אמור לגדול מדי פעם מתרחשת ריצה חדשה. לדוגמה הבדיקה מתבצעת שוב ושוב 3 פעמים. היא צריכה להיות 4 סה"כ פועל תחת אותו runName ו-TryNumber הוא בין 0 ל-3.

בדיקת ההרצה

public final void testRunStarted (String runName, 
                int testCount)

הרצה של קריאה חוזרת (callback)

פרמטרים
runName String: שם הרצת הבדיקה

testCount int: מספר הבדיקות הכולל בהרצת הבדיקה

בדיקת ההרצה

public final void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber, 
                long startTime)

מדווח על התחלה של הרצת בדיקה.

פרמטרים
runName String: שם הרצת הבדיקה

testCount int: מספר הבדיקות הכולל בהרצת הבדיקה

attemptNumber int: מספר הזמנה, לזיהוי הניסיונות השונים של אותו runName שפועלים כמה פעמים. ה-TryNumber הוא 0 באינדקס והוא אמור לגדול בכל פעם מתבצעת הרצה חדשה. לדוגמה בדיקה מפורטת מתבצעת שוב 3 פעמים, והבדיקה צריכה להימשך 4 הפעלות בסך הכל באותו runName ו-TryNumber הוא בין 0 ל-3.

startTime long: משך הזמן שבו התחילה הריצה, שנמדדת באמצעות System.currentTimeMillis()

TestRunSStop

public final void testRunStopped (long elapsedTime)

הרצת בדיקת הדוחות הופסקה לפני שהסתיימה עקב בקשה של משתמש.

TODO: לא בשימוש כרגע, כדאי להסיר

פרמטרים
elapsedTime long: דיווח על הזמן שחלף במכשיר, באלפיות השנייה

הבדיקה דילגה

public final void testSkipped (TestDescription test, 
                SkipReason reason)

מוצגת קריאה כשמדלגים על בדיקה והיא לא בוצעה מסיבה שבדרך כלל לא צפויה. ננסה לבצע שוב את הבדיקות האלה כדי להוציא לפועל כמו שצריך.

פרמטרים
test TestDescription: מזהה את הבדיקה

reason SkipReason: SkipReason

הבדיקה התחילה

public final void testStarted (TestDescription test, 
                long startTime)

חלופה ל-testStarted(com.android.tradefed.result.TestDescription) שבה מציינים גם מתי הבדיקה התחיל, בשילוב עם ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)) למדידה מדויקת.

פרמטרים
test TestDescription: מזהה את הבדיקה

startTime long: השעה שבה התחילה הבדיקה, שנמדדת באמצעות System.currentTimeMillis()

הבדיקה התחילה

public final void testStarted (TestDescription test)

קריאות חוזרות (callback) של מקרי בדיקה

פרמטרים
test TestDescription: מזהה את הבדיקה

שיטות מוגנות

ניקוי

protected void cleanUp ()

getMetricType

protected MetricMeasurement.DataType getMetricType ()

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

החזרות
MetricMeasurement.DataType

getRunName

protected String getRunName ()

החזרות
String