BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

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


एक पास-थ्रू ITestInvocationListener, जो कॉन्फ़िगर किए जा सकने वाले इवेंट होने पर गड़बड़ी की रिपोर्ट इकट्ठा करता है. इसके बाद, हर गड़बड़ी की रिपोर्ट इकट्ठा होने पर, अपने चाइल्ड पर ITestInvocationListener.testLog को कॉल करता है.

व्यवहार: (FIXME: इसे पूरा करें)

  • अगर कोई टेस्टकेस फ़ेल होता है, तो हर बार कैप्चर करें
  • हर टेस्टकेस के बाद कैप्चर करें
  • हर बार टेस्टकेस पास न होने पर कैप्चर करें
  • कैप्चर करें

खास जानकारी

नेस्ट की गई क्लास

class BugreportCollector.Predicate

गड़बड़ी की रिपोर्ट कब कैप्चर करनी है, इस बारे में बताने वाला पूरा प्रीडिकेट. 

interface BugreportCollector.SubPredicate

 

फ़ील्ड्स की फ़िल्में

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

पहले से तय किया गया प्रीडिकेट, जो हर बार टेस्ट केस पूरा न होने पर ट्रिगर होता है

public static final BugreportCollector.Predicate AT_START

पहले कॉल शुरू होने पर ट्रिगर होने वाला, पहले से तय किया गया प्रीडिकेट

सार्वजनिक कंस्ट्रक्टर

BugreportCollector(ITestInvocationListener listener, ITestDevice testDevice)

सार्वजनिक तरीके

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, 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, 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

पहले कॉल शुरू होने पर ट्रिगर होने वाला, पहले से तय किया गया प्रीडिकेट

सार्वजनिक कंस्ट्रक्टर

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

पैरामीटर
listener ITestInvocationListener

testDevice ITestDevice

सार्वजनिक तरीके

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

पैरामीटर
p BugreportCollector.Predicate

blockUntilIdle

public void blockUntilIdle ()

जब तक कलेक्टर कोई गड़बड़ी की रिपोर्ट इकट्ठा नहीं कर रहा है, तब तक ब्लॉक करें. अगर कलेक्टर, गड़बड़ी की रिपोर्ट इकट्ठा नहीं कर रहा है, तो तुरंत वापस आएं

getSummary

public TestSummary getSummary ()

इससे InvocationListener को खास जानकारी दिखाने की अनुमति मिलती है.

रिटर्न
TestSummary TestSummary, जिसमें रन की खास जानकारी दी गई हो या शून्य हो

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, 
                 testMetrics)

किसी टेस्ट केस के पूरा होने की जानकारी देता है.

अगर testFailed(TestDescription, FailureDescription) को ट्रिगर नहीं किया गया था, तो यह टेस्ट पास हो गया. यह ऐसी सभी कुंजी/वैल्यू वाली मेट्रिक भी दिखाता है जो टेस्ट केस के दौरान उत्सर्जित की गई हो सकती हैं.

पैरामीटर
test TestDescription: टेस्ट की पहचान करता है

testMetrics : उत्सर्जित की गई मेट्रिक का ERROR(/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)) या ERROR(/ITestInvocationListener#invocationEnded(long)) से पहले कॉल किया जाना चाहिए

TradeFederation फ़्रेमवर्क, इस तरीके को अपने-आप कॉल करेगा. साथ ही, होस्ट लॉग और अगर लागू हो, तो डिवाइस लॉगकैट भी उपलब्ध कराएगा.

पैरामीटर
dataName String: डेटा का String ब्यौरा देने वाला नाम. उदाहरण के लिए, "device_logcat". ध्यान दें dataName हर बार यूनीक नहीं हो सकता. इसका मतलब है कि लागू करने वाले, एक ही dataName वाले कई कॉल को मैनेज कर पाएं

dataType LogDataType: डेटा का LogDataType

dataStream InputStreamSource: डेटा का InputStreamSource. डेटा पढ़ना शुरू करने के लिए, लागू करने वाले को createInputStream को कॉल करना चाहिए. साथ ही, डेटा पढ़ने के बाद, InputStream को बंद करना न भूलें. कॉल करने वाले को यह पक्का करना चाहिए कि testLog का तरीका पूरा होने तक, डेटा का सोर्स मौजूद रहे और उसे ऐक्सेस किया जा सके.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

टेस्ट रन खत्म होने की रिपोर्ट दिखाता है.

पैरामीटर
elapsedTime long: डिवाइस के हिसाब से, बीत चुका समय (मिलीसेकंड में)

runMetrics : टेस्ट रन के आखिर में रिपोर्ट किए गए की-वैल्यू पेयर

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: फ़िलहाल इस्तेमाल नहीं किया जा रहा है, इसे हटाने पर विचार करें

पैरामीटर
elapsedTime long: डिवाइस के हिसाब से, बीत चुका समय (मिलीसेकंड में)

testStarted

public void testStarted (TestDescription test)

किसी टेस्ट केस के शुरू होने की जानकारी देता है. पुराने इंटरफ़ेस में, जब भी हो सके testStarted(com.android.tradefed.result.TestDescription) का इस्तेमाल करना चाहिए.

पैरामीटर
test TestDescription: टेस्ट की पहचान करता है