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

public class SubprocessResultsReporter
extends Object implements ILogSaverListener, ISupportGranularResults, ITestInvocationListener

JavaScript.lang.Object
com.android.tradefed.result.SubProcessresultsReporter


נעשה שימוש ב-ITestInvocationListener שיצוין בו כ- result_reporter ותתבצע העברה מ- לעבד את התוצאות של בדיקות, הרצות בדיקה והפעלות של בדיקות.

סיכום

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

SubprocessResultsReporter()

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

void close()

TestSummary getSummary()

מאפשר ל-InvocationListener להחזיר סיכום.

void invocationEnded(long elapsedTime)

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

void invocationFailed(FailureDescription failure)

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

void invocationFailed(Throwable cause)

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

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 printEvent(String key, Object event)

עוזר להדפיס את מפתח האירוע ולאחר מכן את אובייקט ה-json.

void setOutputTestLog(boolean outputTestLog)

מגדיר אם עלינו ליצור פלט של הבדיקה ביומן או לא.

boolean supportGranularResults()

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

void testAssumptionFailure(TestDescription testId, String trace)

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

void testAssumptionFailure(TestDescription testId, FailureDescription failure)

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

void testEnded(TestDescription testId, long endTime, metrics)

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

void testEnded(TestDescription testId, metrics)

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

void testFailed(TestDescription testId, FailureDescription failure)

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

void testFailed(TestDescription testId, String reason)

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

void testIgnored(TestDescription testId)

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

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

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

void testModuleEnded()

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

void testModuleStarted(IInvocationContext moduleContext)

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

void testRunEnded(long time, runMetrics)

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

void testRunFailed(FailureDescription failure)

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

void testRunFailed(String reason)

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

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

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

void testRunStarted(String runName, int testCount)

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

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

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

void testRunStopped(long arg0)

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

void testSkipped(TestDescription testId, SkipReason reason)

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

void testStarted(TestDescription testId, long startTime)

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

void testStarted(TestDescription testId)

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

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

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

public SubprocessResultsReporter ()

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

סגירה

public void close ()

getSummary

public TestSummary getSummary ()

מאפשר ל-InvocationListener להחזיר סיכום.

החזרות
TestSummary TestSummary שמסכם את הריצה, או null

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

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

printEvent

public void printEvent (String key, 
                Object event)

עוזר להדפיס את מפתח האירוע ולאחר מכן את אובייקט ה-json.

פרמטרים
key String

event Object

setOutputTestLog

public void setOutputTestLog (boolean outputTestLog)

מגדיר אם עלינו ליצור פלט של הבדיקה ביומן או לא.

פרמטרים
outputTestLog boolean

תמיכה ב-Granular Results

public boolean supportGranularResults ()

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

החזרות
boolean

testAssumptionFailure

public void testAssumptionFailure (TestDescription testId, 
                String trace)

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

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

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

testAssumptionFailure

public void testAssumptionFailure (TestDescription testId, 
                FailureDescription failure)

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

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

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

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

public void testEnded (TestDescription testId, 
                long endTime, 
                 metrics)

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

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

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

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

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

public void testEnded (TestDescription testId, 
                 metrics)

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

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

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

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

הבדיקה נכשלה

public void testFailed (TestDescription testId, 
                FailureDescription failure)

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

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

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

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

הבדיקה נכשלה

public void testFailed (TestDescription testId, 
                String reason)

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

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

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

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

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

public void testIgnored (TestDescription testId)

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

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

יומן בדיקה

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.

testModuleEnded

public void testModuleEnded ()

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

TestModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

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

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

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

public void testRunEnded (long time, 
                 runMetrics)

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

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

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

הבדיקה נכשלה

public void testRunFailed (FailureDescription failure)

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

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

הבדיקה נכשלה

public void testRunFailed (String reason)

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

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

בדיקת ההרצה

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

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

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

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

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

בדיקת ההרצה

public void testRunStarted (String runName, 
                int testCount)

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

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

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

בדיקת ההרצה

public 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 void testRunStopped (long arg0)

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

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

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

הבדיקה דילגה

public void testSkipped (TestDescription testId, 
                SkipReason reason)

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

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

reason SkipReason: SkipReason

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

public void testStarted (TestDescription testId, 
                long startTime)

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

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

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

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

public void testStarted (TestDescription testId)

מדווח על ההתחלה של מקרה בדיקה ספציפי. בממשק ישן, צריך להשתמש ב-testStarted(com.android.tradefed.result.TestDescription) כשהדבר אפשרי.

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