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 هذه الطريقة تلقائيًا، مع توفير سجلّ المضيف، وسجلّ logcat للجهاز إذا كان ذلك منطبقًا.

المعلَمات
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، ويجب أن يزيد في كل مرة يتم فيها تنفيذ عملية جديدة. على سبيل المثال، إذا تمت إعادة محاولة اختبار دقيق 3 مرات، يجب أن يتم تنفيذه 4 مرات إجمالاً ضمن 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، ويجب أن يزيد في كل مرة يتم فيها تنفيذ عملية تشغيل جديدة. على سبيل المثال، إذا تمت إعادة محاولة اختبار دقيق 3 مرات، يجب أن يتم تنفيذه 4 مرات إجمالاً ضمن 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 Reporter استدعاء هذه الطريقة لكل عنصر يتم تحميله. سيحمّل هذا البرنامج بدوره جميع هذه العناصر إلى ResultDB مع ربطها بالاختبار الصحيح. لربط السجلّ بشكل صحيح، يجب أن يتم استدعاء logAssociation(String,LogFile) لرقم تعريف المورد نفسه مسبقًا. يضمن ذلك أن يكون العنصر قد تم تتبّعه. بخلاف ذلك، سيتم ربط العنصر بوحدة العمل ذات المستوى الأعلى لطلب التنفيذ في Tradefed.

يجب عدم استدعاء هذه الطريقة قبل 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 المرتبط بالقطعة الأثرية