बग रिपोर्टकलेक्टर

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

पहले से तय किया गया एक विधेय जो पहली बार शुरू होने पर ट्रिगर होता है

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

बग रिपोर्टकलेक्टर

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

पैरामीटर
listener ITestInvocationListener

testDevice ITestDevice

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

जोड़ें

public void addPredicate (BugreportCollector.Predicate p)

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

ब्लॉकसेंटाइल आईडी

public void blockUntilIdle ()

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

सारांश पाएं

public TestSummary getSummary ()

InvocationListener को जवाब देने की अनुमति देता है.

रिटर्न
TestSummary दौड़ने के बारे में खास जानकारी देने वाला TestSummary या शून्य

शुरू होने का समय खत्म

public void invocationEnded (long elapsedTime)

ऐसी रिपोर्ट जिनमें बताया गया हो कि शुरू करने की प्रोसेस को रद्द कर दिया गया है, भले ही वे किसी गड़बड़ी की वजह से रद्द हो गए हों स्थिति.

इसे ट्रेडफ़ेडरेशन फ़्रेमवर्क से अपने-आप कॉल किया जाएगा.

पैरामीटर
elapsedTime long: शुरू करने का समय मिलीसेकंड में

शुरू करने में समस्या

public void invocationFailed (Throwable cause)

किसी गड़बड़ी की स्थिति की वजह से, कॉल शुरू करने की प्रोसेस पूरी नहीं होने की रिपोर्ट करता है.

इसे ट्रेडफ़ेडरेशन फ़्रेमवर्क से अपने-आप कॉल किया जाएगा.

पैरामीटर
cause Throwable: गड़बड़ी की Throwable वजह

शुरू किया गया

public void invocationStarted (IInvocationContext context)

यह टेस्ट शुरू होने की रिपोर्ट करता है.

इसे ट्रेडफ़ेडरेशन फ़्रेमवर्क से अपने-आप कॉल किया जाएगा. रिपोर्टर को बदलना होगा इस तरीके का इस्तेमाल करके कई डिवाइसों पर रिपोर्टिंग की जा सकती है.

पैरामीटर
context IInvocationContext: शुरू करने के बारे में जानकारी

सेट एसिंक्रोनस

public void setAsynchronous (boolean asynchronous)

सेट करें कि गड़बड़ी की रिपोर्ट को इकट्ठा करने से, गड़बड़ी की रिपोर्ट को दूसरे थ्रेड में इकट्ठा किया जाए या नहीं (asynchronous = true), या गड़बड़ी की रिपोर्ट कैप्चर होने तक कॉलर को ब्लॉक करें (asynchronous = false).

पैरामीटर
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

गड़बड़ी की रिपोर्ट रिकॉर्ड करते समय इस्तेमाल करने के लिए, जानकारी देने वाला नाम सेट करें. अगर null, BugreportCollector नाम को क्रम से लगाने का डिफ़ॉल्ट तरीका लागू हो जाएगा वह इवेंट जिसकी वजह से गड़बड़ी की रिपोर्ट इकट्ठा की गई.

पैरामीटर
name String

डिवाइस इंतज़ार का समय सेट करें

public void setDeviceWaitTime (int waitTime)

इससे पहले कि हम डिवाइस के ऑनलाइन होने के लिए इंतज़ार का समय (सेकंड में) सेट करें गड़बड़ी की रिपोर्ट. अगर नकारात्मक है, तो कोई चेक नहीं किया जाएगा. कोई भी DeviceNotAvailableException का पता लगने के बाद, उसे लॉग किया जाएगा और अनदेखा कर दिया जाएगा.

पैरामीटर
waitTime int

TestAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

इसे तब कॉल किया जाता है, जब कोई ऐटॉमिक टेस्ट फ़्लैग करता है कि यह ऐसी स्थिति मान लेता है जो गलत है

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

trace String: गड़बड़ी का स्टैक ट्रेस

परीक्षण खत्म

public void testEnded (TestDescription test, 
                 testMetrics)

यह रिपोर्ट, टेस्ट केस के लागू होने की प्रोसेस खत्म होने की रिपोर्ट करती है.

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

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

testMetrics : उत्सर्जित मेट्रिक का ERROR(/Map)

जांच नहीं की जा सकी

public void testFailed (TestDescription test, 
                String trace)

किसी टेस्ट केस के फ़ेल होने की रिपोर्ट करता है.

testStarted और testEnded के बीच कॉल किया जाएगा.

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

trace String: गड़बड़ी का स्टैक ट्रेस

जांच के लिए अनदेखा किया गया

public void testIgnored (TestDescription test)

इसे तब कॉल किया जाता है, जब टेस्ट नहीं चलाया जाएगा, क्योंकि आम तौर पर टेस्ट के तरीके के साथ एनोटेट किया जाता है org.junit.ignore.

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

टेस्टलॉग

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

यह टेस्ट शुरू करने की प्रक्रिया से जुड़ा लॉग या डीबग डेटा उपलब्ध कराता है.

ERROR(/ITestInvocationListener#invocationFailed(Throwable)) से पहले कॉल किया जाना चाहिए या ERROR(/ITestInvocationListener#invocationEnded(long))

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

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

dataType LogDataType: डेटा का LogDataType

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

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

टेस्ट रन खत्म होने की रिपोर्ट. FIXME: हमारे पास दो मैप नहीं हो सकते<> अलग-अलग टाइप के इंटरफ़ेस हैं, इसलिए हमें यहां HashMap का इस्तेमाल करना है.

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

runMetrics : Metric के साथ टेस्ट रन खत्म होने पर की-वैल्यू पेयर रिपोर्ट किए जाते हैं.

परीक्षणरन विफल

public void testRunFailed (String errorMessage)

किसी गंभीर गड़बड़ी की वजह से, रिपोर्ट की जांच पूरी नहीं हो सकी.

पैरामीटर
errorMessage String: String, रन नहीं होने की वजह बता रहा है.

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

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

पैरामीटर
runName String: परीक्षण रन का नाम

testCount int: टेस्ट रन में टेस्ट की कुल संख्या

परीक्षण रन बंद

public void testRunStopped (long elapsedTime)

उपयोगकर्ता के अनुरोध की वजह से, रिपोर्ट की जांच पूरी होने से पहले ही रुक गई.

TODO: अभी उपयोग नहीं हो रहा है, निकालने पर विचार करें

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

परीक्षण प्रारंभ

public void testStarted (TestDescription test)

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

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