BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

java.lang.Object
   ↳ com.android.tradefed.result.BugreportCollector


ITestInvocationListener מסוג pass-through שאוסף דוחות על באגים כשמתרחשים אירועים שאפשר להגדיר, ואז קורא ל-ITestInvocationListener.testLog ברכיבי הצאצא שלו אחרי שכל דוח על באג נאסף.

התנהגויות: (FIXME: finish this)

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

סיכום

כיתות מוטמעות

class BugreportCollector.Predicate

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

interface BugreportCollector.SubPredicate

 

שדות

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

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

public static final BugreportCollector.Predicate AT_START

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

‫constructors ציבוריים

BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)

‫methods ציבוריים

void addPredicate(BugreportCollector.Predicate p)
void blockUntilIdle()

חסימה עד שהכלי לא יאסוף יותר דוחות על באגים.

TestSummary getSummary()

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

void invocationEnded(long elapsedTime)

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

void invocationFailed(Throwable cause)

הפונקציה מחזירה קריאה לא שלמה בגלל תנאי שגיאה מסוים.

void invocationStarted(IInvocationContext context)

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

void setAsynchronous(boolean asynchronous)

הגדרת האפשרות לאיסוף דוח על באג בשרשור אחר (asynchronous = true) או לחסימת המתקשר עד שהדוח על הבאג יתועד (asynchronous = false).

void setDescriptiveName(String name)

הגדרת השם התיאורי שבו רוצים להשתמש כשמדווחים על באגים.

void setDeviceWaitTime(int waitTime)

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

void testAssumptionFailure(TestDescription test, String trace)

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

void testEnded(TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)

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

void testFailed(TestDescription test, String trace)

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

void testIgnored(TestDescription test)

הפונקציה מופעלת כשבדיקה לא תופעל, בדרך כלל כי שיטת בדיקה מסומנת ב-org.junit.Ignore.

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

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

void testRunEnded(long elapsedTime, HashMap<String, MetricMeasurement.Metric> runMetrics)

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

void testRunFailed(String errorMessage)

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

void testRunStarted(String runName, int testCount)

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

void testRunStopped(long elapsedTime)

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

void testStarted(TestDescription test)

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

שדות

AFTER_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

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

AT_START

public static final BugreportCollector.Predicate AT_START

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

‫constructors ציבוריים

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

פרמטרים
listener ITestInvocationListener

testDevice ITestDevice

‫methods ציבוריים

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

פרמטרים
p BugreportCollector.Predicate

blockUntilIdle

public void blockUntilIdle ()

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

getSummary

public TestSummary getSummary ()

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

החזרות
TestSummary מחרוזת TestSummary שמסכמת את ההפעלה, או ערך null

invocationEnded

public void invocationEnded (long elapsedTime)

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

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

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

invocationFailed

public void invocationFailed (Throwable cause)

הפונקציה מחזירה קריאה לא שלמה בגלל תנאי שגיאה מסוים.

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

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

invocationStarted

public void invocationStarted (IInvocationContext context)

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

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

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

setAsynchronous

public void setAsynchronous (boolean asynchronous)

מגדירים אם איסוף הדוח על הבאג צריך להתבצע בשרשור אחר (asynchronous = true), או לחסום את המתקשר עד שהדוח על הבאג יתועד (asynchronous = false).

פרמטרים
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

הגדרת השם התיאורי שבו רוצים להשתמש כשמדווחים על באגים. אם null, BugreportCollector יחזור להתנהגות ברירת המחדל של המרת השם של האירוע שגרם לאיסוף של דוח הבאגים.

פרמטרים
name String

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

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

פרמטרים
waitTime int

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

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

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

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

testEnded

public void testEnded (TestDescription test, 
                HashMap<String, MetricMeasurement.Metric> testMetrics)

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

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

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

testMetrics HashMap: Map של המדדים שנפלטים

testFailed

public void testFailed (TestDescription test, 
                String trace)

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

הפונקציה הזו תופעל בין testStarted לבין testEnded.

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

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

testIgnored

public void testIgnored (TestDescription test)

הפונקציה מופעלת כשבדיקה לא תופעל, בדרך כלל כי שיטת בדיקה מסומנת ב-org.junit.Ignore.

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

testLog

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

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

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

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

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

dataType LogDataType: LogDataType הנתונים

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

testRunEnded

public void testRunEnded (long elapsedTime, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

דוחות על סיום הרצת הבדיקה. FIXME: We cannot have two Map<> interfaces with different type, so we have to use HashMap here.

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

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

testRunFailed

public void testRunFailed (String errorMessage)

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

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

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

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

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

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

testRunStopped

public void testRunStopped (long elapsedTime)

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

TODO: currently unused, consider removing

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

testStarted

public void testStarted (TestDescription test)

הפונקציה מדווחת על תחילת בדיקה של תרחיש בדיקה מסוים. בממשק הישן, מומלץ להשתמש ב-testStarted(TestDescription) בכל הזדמנות.

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