ShardListener

public class ShardListener
extends CollectingTestListener implements ISupportGranularResults

java.lang.Object
   ↳ com.android.tradefed.result.CollectingTestListener
  com.android.tradefed.invoker.ShardListener


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

סיכום

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

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)

במקרים מסוימים, צריך לשייך את היומן באופן הדוק למקרים של בדיקות, אבל אי אפשר לעשות זאת בקריאה החוזרת (callback) הישירה של 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 ()

החזרות

invocationEnded

public void invocationEnded (long elapsedTime)

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

הקריאה תתבצע באופן אוטומטי על ידי מסגרת TradeFederation.

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

invocationFailed

public void invocationFailed (FailureDescription failure)

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

הקריאה תתבצע באופן אוטומטי על ידי מסגרת TradeFederation.

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

invocationFailed

public void invocationFailed (Throwable cause)

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

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

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

invocationSkipped

public void invocationSkipped (SkipReason reason)

דיווח על קריאה כ'דילוג'

פרמטרים
reason SkipReason

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

public void invocationStarted (IInvocationContext context)

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

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

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

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

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

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

logFile LogFile: ה-LogFile שרשום ביומן קודם וצריך לשייך למקרה הבדיקה.

setSupportGranularResults

public void setSupportGranularResults (boolean enableGranularResults)

פרמטרים
enableGranularResults boolean

supportGranularResults

public boolean supportGranularResults ()

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

החזרות
boolean

testLog

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 לא חייב להיות ייחודי לכל קריאה. כלומר, למטמיעים צריכה להיות אפשרות לטפל בכמה קריאות עם אותו שם משתנה.

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

dataStream InputStreamSource: ה-InputStreamSource של הנתונים. מי שמטמיע את הקוד צריך להפעיל את createInputStream כדי להתחיל לקרוא את הנתונים, ולוודא שהוא סוגר את ה-InputStream שנוצר בסיום. מבצעי הקריאה צריכים לוודא שמקור הנתונים יישאר נוכח ונגיש עד להשלמת השיטה 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)

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

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

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

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

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

runMetrics : צמדי מפתח/ערך שמדווחים בסוף הרצה של בדיקה

testRunFailed

public void testRunFailed (FailureDescription failure)

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

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

testRunFailed

public void testRunFailed (String failureMessage)

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

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

testRunStarted

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

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

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

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

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

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