ResultDBReporter

public class ResultDBReporter
extends Object implements IConfigurationReceiver, ILogSaverListener, ISupportGranularResults, ITestSummaryListener

java.lang.Object
   ↳ com.android.tradefed.result.resultdb.ResultDBReporter


नतीजे की जानकारी देने वाला ऐसा टूल जो ResultDB पर टेस्ट के नतीजे अपलोड करता है.

खास जानकारी

फ़ील्ड

protected IInvocationContext mContext

protected boolean mEnableAlTestProperties

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

ResultDBReporter()

पब्लिक मेथड

TestSummary getSummary()

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

void invocationEnded(long elapsedTime)

यह रिपोर्ट करती है कि इनवॉकेशन खत्म हो गया है. भले ही, यह काम सही तरीके से हुआ हो या किसी गड़बड़ी की वजह से.

void invocationFailed(FailureDescription failure)

किसी गड़बड़ी की वजह से, यह कुकी इनवोकेशन पूरा न होने की सूचना देती है.

void invocationFailed(Throwable cause)

किसी गड़बड़ी की वजह से, यह कुकी इनवोकेशन पूरा न होने की सूचना देती है.

void invocationSkipped(SkipReason reason)

इस फ़ंक्शन का इस्तेमाल, किसी इनवोकेशन को 'अभी नहीं' के तौर पर रिपोर्ट करने के लिए किया जाता है

void invocationStarted(IInvocationContext context)

यह कुकी, टेस्ट शुरू होने की जानकारी देती है.

boolean isDisabled()
void logAssociation(String dataName, LogFile logFile)

कुछ मामलों में, लॉग को टेस्ट केस से जोड़ा जाना ज़रूरी होता है. हालांकि, सीधे testLogSaved(String,LogDataType,InputStreamSource,LogFile) कॉलबैक पर ऐसा नहीं किया जा सकता.

void setConfiguration(IConfiguration configuration)

इस कुकी का इस्तेमाल, IConfiguration को इंजेक्ट करने के लिए किया जाता है.

void setLogSaver(ILogSaver logSaver)

ILogSaver को सेट करें, ताकि लागू करने वाला व्यक्ति फ़ाइलें सेव कर सके.

boolean supportGranularResults()

अगर रिपोर्टर, ज़्यादा जानकारी वाले नतीजे दिखाता है, तो True वैल्यू मिलती है. ऐसा न होने पर, False वैल्यू मिलती है.

void testAssumptionFailure(TestDescription test, String trace)

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

void testAssumptionFailure(TestDescription test, FailureDescription failure)

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

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

testEnded(TestDescription,Map) के बजाय, सीधे तौर पर इवेंट खत्म होने का समय बताने का विकल्प.

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

यह कुकी, किसी टेस्ट केस के खत्म होने की जानकारी देती है.

void testFailed(TestDescription test, FailureDescription failure)

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

void testFailed(TestDescription test, String trace)

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

void testIgnored(TestDescription test)

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

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

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

void testModuleEnded()

यह कुकी, मॉड्यूल के रन के खत्म होने की जानकारी देती है.

void testModuleStarted(IInvocationContext moduleContext)

यह कुकी, मॉड्यूल के चलने की शुरुआत की जानकारी देती है.

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

यह कुकी, टेस्ट रन के खत्म होने की जानकारी देती है.

void testRunFailed(FailureDescription failure)

FailureDescription की वजह से, रिपोर्ट टेस्ट रन पूरा नहीं हो सका.

void testRunFailed(String errorMessage)

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

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 elapsedTime)

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

void testSkipped(TestDescription test, SkipReason reason)

इस फ़ंक्शन को तब कॉल किया जाता है, जब किसी टेस्ट को स्किप किया जाता है और उसे किसी ऐसी वजह से लागू नहीं किया जाता जिसकी आम तौर पर उम्मीद नहीं होती.

void testStarted(TestDescription test, long startTime)

testStarted(TestDescription) के बजाय, यहां हम यह भी बताते हैं कि टेस्ट कब शुरू हुआ था. साथ ही, सटीक मेज़रमेंट के लिए testEnded(TestDescription,long,Map) का इस्तेमाल किया जाता है.

void testStarted(TestDescription test)

यह फ़ंक्शन, किसी टेस्ट केस के शुरू होने की जानकारी देता है.

void uploadStoragePath(String resourceId, String storagePath, LogFile logFile)

यह फ़ंक्शन, AnTS टेस्ट आर्टफ़ैक्ट के स्टोरेज पाथ को ResultDB में अपलोड करता है.

फ़ील्ड

mContext

protected IInvocationContext mContext

mEnableAlTestProperties

protected boolean mEnableAlTestProperties

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

ResultDBReporter

public ResultDBReporter ()

पब्लिक मेथड

getSummary

public TestSummary getSummary ()

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

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

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)

किसी गड़बड़ी की वजह से, यह कुकी इनवोकेशन पूरा न होने की सूचना देती है.

इसे TradeFederation फ़्रेमवर्क अपने-आप कॉल करेगा.

पैरामीटर
cause Throwable: Throwable की वजह से टेस्ट पूरा नहीं हो सका

invocationSkipped

public void invocationSkipped (SkipReason reason)

इस फ़ंक्शन का इस्तेमाल, किसी इनवोकेशन को 'अभी नहीं' के तौर पर रिपोर्ट करने के लिए किया जाता है

पैरामीटर
reason SkipReason

invocationStarted

public void invocationStarted (IInvocationContext context)

यह कुकी, टेस्ट शुरू होने की जानकारी देती है.

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

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

isDisabled

public boolean isDisabled ()

रिटर्न
boolean

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

कुछ मामलों में, लॉग को टेस्ट केस से जोड़ा जाना ज़रूरी होता है. हालांकि, सीधे testLogSaved(String,LogDataType,InputStreamSource,LogFile) कॉलबैक पर ऐसा नहीं किया जा सकता. इसलिए, यह कॉलबैक साफ़ तौर पर एक मज़बूत असोसिएशन उपलब्ध कराने की अनुमति देता है.

पैरामीटर
dataName String: डेटा का नाम

logFile LogFile: वह LogFile जिसे पहले लॉग किया गया था और जिसे टेस्ट केस से जोड़ा जाना चाहिए.

setConfiguration

public void setConfiguration (IConfiguration configuration)

इस कुकी का इस्तेमाल, IConfiguration को इंजेक्ट करने के लिए किया जाता है.

पैरामीटर
configuration IConfiguration

setLogSaver

public void setLogSaver (ILogSaver logSaver)

ILogSaver को सेट करें, ताकि लागू करने वाला व्यक्ति फ़ाइलें सेव कर सके.

पैरामीटर
logSaver ILogSaver: ILogSaver

supportGranularResults

public boolean supportGranularResults ()

अगर रिपोर्टर, ज़्यादा जानकारी वाले नतीजे दिखाता है, तो True वैल्यू मिलती है. ऐसा न होने पर, False वैल्यू मिलती है.

रिटर्न
boolean

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

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

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

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

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                FailureDescription failure)

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

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

failure FailureDescription: FailureDescription में गड़बड़ी और उसके संदर्भ के बारे में बताया गया हो.

testEnded

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

testEnded(TestDescription,Map) के बजाय, सीधे तौर पर इवेंट खत्म होने का समय बताने का विकल्प. सटीक मेज़रमेंट के लिए, इसे testStarted(TestDescription,long) के साथ जोड़ें.

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

endTime long: टेस्ट के खत्म होने का समय, जिसे System.currentTimeMillis() के ज़रिए मेज़र किया जाता है

testMetrics HashMap: भेजी गई मेट्रिक का Map

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, 
                FailureDescription failure)

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

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

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

failure FailureDescription: FailureDescription में गड़बड़ी और उसके संदर्भ के बारे में बताया गया हो.

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 फ़्रेमवर्क इस तरीके को अपने-आप कॉल करेगा. इसमें होस्ट लॉग और अगर लागू हो, तो डिवाइस लॉगकैट शामिल होगा.

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

dataType LogDataType: डेटा का LogDataType

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

testModuleEnded

public void testModuleEnded ()

यह कुकी, मॉड्यूल के रन के खत्म होने की जानकारी देती है.

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

यह कुकी, मॉड्यूल के चलने की शुरुआत की जानकारी देती है. यह कॉलबैक, testModuleEnded() से जुड़ा है. साथ ही, यह क्रम में ज़रूरी नहीं है. इसका इस्तेमाल सिर्फ़ ऐसे रन के दौरान किया जाता है जो मॉड्यूल का इस्तेमाल करते हैं: सुइट आधारित रनर.

पैरामीटर
moduleContext IInvocationContext: मॉड्यूल का IInvocationContext.

testRunEnded

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

यह कुकी, टेस्ट रन के खत्म होने की जानकारी देती है. FIXME: We cannot have two Map<> interfaces with different type, so we have to use HashMap here.

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

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

testRunFailed

public void testRunFailed (FailureDescription failure)

FailureDescription की वजह से, रिपोर्ट टेस्ट रन पूरा नहीं हो सका.

पैरामीटर
failure FailureDescription: FailureDescription में गड़बड़ी और उसके संदर्भ के बारे में बताया गया हो.

testRunFailed

public void testRunFailed (String errorMessage)

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

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

testRunStarted

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

यह कुकी, टेस्ट रन शुरू होने की जानकारी देती है.

पैरामीटर
runName String: टेस्ट रन का नाम

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

attemptNumber int: ऑर्डर नंबर, जो एक ही runName के अलग-अलग प्रयासों की पहचान करता है. यह कई बार चलता है. attemptNumber, 0 से शुरू होता है और हर बार नया रन होने पर इसे बढ़ाना चाहिए. उदाहरण के लिए, अगर किसी टेस्ट को तीन बार फिर से आज़माया जाता है, तो उसे एक ही runName के तहत कुल चार रन करने चाहिए. साथ ही, attemptNumber 0 से 3 तक होना चाहिए.

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

यह कुकी, टेस्ट रन शुरू होने की जानकारी देती है.

पैरामीटर
runName String: टेस्ट रन का नाम

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

testRunStarted

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

यह कुकी, टेस्ट रन शुरू होने की जानकारी देती है.

पैरामीटर
runName String: टेस्ट रन का नाम

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

attemptNumber int: ऑर्डर नंबर, जो एक ही runName के अलग-अलग प्रयासों की पहचान करता है. यह कई बार चलता है. attemptNumber, 0 से शुरू होता है और हर बार नया रन होने पर इसे बढ़ाना चाहिए. उदाहरण के लिए, अगर किसी टेस्ट को तीन बार फिर से चलाया जाता है, तो उसे एक ही runName के तहत कुल चार बार चलाया जाना चाहिए. साथ ही, attemptNumber 0 से 3 तक होना चाहिए.

startTime long: दौड़ शुरू होने का समय, जिसे System.currentTimeMillis() के ज़रिए मेज़र किया जाता है

testRunStopped

public void testRunStopped (long elapsedTime)

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

TODO: currently unused, consider removing

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

testSkipped

public void testSkipped (TestDescription test, 
                SkipReason reason)

इस फ़ंक्शन को तब कॉल किया जाता है, जब किसी टेस्ट को स्किप किया जाता है और उसे किसी ऐसी वजह से लागू नहीं किया जाता जिसकी आम तौर पर उम्मीद नहीं होती. इन टेस्ट को फिर से चलाने की कोशिश की जाएगी, ताकि इन्हें सही तरीके से लागू किया जा सके.

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

reason SkipReason: SkipReason

testStarted

public void testStarted (TestDescription test, 
                long startTime)

testStarted(TestDescription) के बजाय, यहां हम यह भी बताते हैं कि टेस्ट कब शुरू हुआ था. साथ ही, सटीक मेज़रमेंट के लिए testEnded(TestDescription,long,Map) का इस्तेमाल किया जाता है.

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

startTime long: यह टेस्ट शुरू होने का समय है. इसे System.currentTimeMillis() के ज़रिए मेज़र किया जाता है

testStarted

public void testStarted (TestDescription test)

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

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

uploadStoragePath

public void uploadStoragePath (String resourceId, 
                String storagePath, 
                LogFile logFile)

यह फ़ंक्शन, AnTS टेस्ट आर्टफ़ैक्ट के स्टोरेज पाथ को ResultDB में अपलोड करता है.

यह AnTS से ResultDB पर माइग्रेट करने का कुछ समय के लिए उपलब्ध समाधान है. इसके बारे में ज़्यादा जानने के लिए, go/convergence-tr पर जाएं. इस तरीके को AnTS रिपोर्टर को तब कॉल करना चाहिए, जब किसी आर्टफ़ैक्ट का स्टोरेज पाथ उपलब्ध हो जाए.

AnTS रिपोर्टर इस बात की गारंटी देता है कि वह अपलोड किए गए हर आर्टफ़ैक्ट के लिए, इस तरीके को कॉल करेगा. इसके बाद, यह रिपोर्टर इन सभी आर्टफ़ैक्ट को ResultDB पर अपलोड करेगा. साथ ही, यह पक्का करेगा कि वे सही टेस्ट से जुड़े हों. लॉग को सही तरीके से जोड़ने के लिए,यह ज़रूरी है कि logAssociation(String,LogFile) को पहले ही उसी संसाधन आईडी के लिए कॉल किया गया हो. इससे यह पक्का होता है कि आर्टफ़ैक्ट को पहले से ही ट्रैक किया जा रहा है. ऐसा न होने पर, आर्टफ़ैक्ट को ट्रेडफ़ेड इनवोकेशन की टॉप-लेवल वर्क यूनिट से जोड़ दिया जाएगा.

इस तरीके को invocationStarted(IInvocationContext) से पहले कॉल नहीं किया जाना चाहिए. इसे invocationEnded(long) के बाद कॉल किया जा सकता है. ऐसा अपस्ट्रीम सिस्टम से मैनेज किए गए इनवोकेशन के लिए किया जाता है, क्योंकि इस रिपोर्टर से उन्हें फ़ाइनल नहीं किया जाता. यह स्थानीय तौर पर बनाए गए इनवोकेशन पर लागू नहीं होता. इन्हें invocationEnded(long) में फ़ाइनल किया जाता है.

TODO(b/464941055): Remove this method once we can properly migrate AnTS artifacts to ResultDB.

पैरामीटर
resourceId String: आर्टफ़ैक्ट का रिसॉर्स आईडी.

storagePath String: आर्टफ़ैक्ट का स्टोरेज पाथ (उदाहरण के लिए, /bigstore/ पाथ).

logFile LogFile: आर्टफ़ैक्ट से जुड़ा LogFile ऑब्जेक्ट.