ShardListener

public class ShardListener
extends CollectingTestListener implements ISupportGranularResults

JavaScript.lang.Object
com.android.tradefed.result.CollectingTestListener
  com.android.tradefed.invoker.ShardListener


ITestInvocationListener שאוסף תוצאות מפיצול הפעלה (כלומר הפעלה של כמה משאבים במקביל), ומעבירה אותם לאחד מהמשאבים Listener.

סיכום

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

ShardListener(ITestInvocationListener main)

יוצרים ShardListener.

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

getUnderlyingResultReporter()
void invocationEnded(long elapsedTime)

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

void invocationFailed(FailureDescription failure)

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

void invocationFailed(Throwable cause)

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

void invocationSkipped(SkipReason reason)

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

void invocationStarted(IInvocationContext context)

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

void logAssociation(String dataName, LogFile logFile)

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

void setSupportGranularResults(boolean enableGranularResults)
boolean supportGranularResults()

מחזירה את הערך True אם המדווח תומך בתוצאות מפורטות. אחרת, הוא מקבל את הערך False.

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

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

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

void testModuleEnded()

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

void testModuleStarted(IInvocationContext moduleContext)

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

void testRunEnded(long elapsedTime, runMetrics)

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

void testRunFailed(FailureDescription failure)

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

void testRunFailed(String failureMessage)

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

void testRunStarted(String name, int numTests, int attemptNumber, long startTime)

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

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

ShardListener

public ShardListener (ITestInvocationListener main)

יוצרים ShardListener.

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

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

getUnderlyingresultReporter

public  getUnderlyingResultReporter ()

החזרות

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

public void invocationEnded (long elapsedTime)

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

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

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

ההפעלה נכשלה

public void invocationFailed (FailureDescription failure)

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

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

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

ההפעלה נכשלה

public void invocationFailed (Throwable cause)

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

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

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

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

public void invocationSkipped (SkipReason reason)

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

פרמטרים
reason SkipReason

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

public void invocationStarted (IInvocationContext context)

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

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

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

שיוך (logAssociation)

public 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 שתועד בעבר וצריך להיות משויך אל מקרה בדיקה.

setSupportGranularResults

public void setSupportGranularResults (boolean enableGranularResults)

פרמטרים
enableGranularResults boolean

תמיכה ב-Granular Results

public boolean supportGranularResults ()

מחזירה את הערך True אם המדווח תומך בתוצאות מפורטות. אחרת, הוא מקבל את הערך False.

החזרות
boolean

יומן בדיקה

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

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

חובה להתקשר לפני ERROR(/ITestInvocationListener#invocationFailed(Throwable)) או ERROR(/ITestInvocationListener#invocationEnded(long))

מערכת TradeFederation תקרא באופן אוטומטי לשיטה הזו, ותספק את יומן המארח ואם זה רלוונטי, את ה-Logcat של המכשיר.

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

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

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

testLogSaved

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

פרמטרים
dataName String

dataType LogDataType

dataStream InputStreamSource

logFile LogFile

testModuleEnded

public void testModuleEnded ()

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

TestModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

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

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

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

public void testRunEnded (long elapsedTime, 
                 runMetrics)

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

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

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

הבדיקה נכשלה

public void testRunFailed (FailureDescription failure)

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

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

הבדיקה נכשלה

public void testRunFailed (String failureMessage)

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

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

בדיקת ההרצה

public void testRunStarted (String name, 
                int numTests, 
                int attemptNumber, 
                long startTime)

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

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

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

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

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