ShardListener

public class ShardListener
extends CollectingTestListener implements ISupportGranularResults

java.lang.Object
   ↳ com.android.tradefed.result.CollectingTestListener
     ↳ com.android.tradefed.invoker.ShardListener


ITestInvocationListener يجمع النتائج من جزء من عملية الاستدعاء (يُعرف أيضًا باسم تقسيم عملية الاستدعاء لتنفيذها على موارد متعددة بالتوازي)، ويعيد توجيهها إلى مستمع آخر.

ملخّص

طُرق وضع التصميم العامة

ShardListener(ITestInvocationListener main)

أنشئ ShardListener.

الإجراءات العامة

List<ITestInvocationListener> getUnderlyingResultReporter()
void invocationEnded(long elapsedTime)

تعرض هذه السمة ما إذا تم إنهاء عملية الاستدعاء بنجاح أو بسبب حدوث خطأ.

void invocationFailed(FailureDescription failure)

تعرض هذه السمة عملية استدعاء غير مكتملة بسبب حدوث خطأ.

void invocationFailed(Throwable cause)

تعرض هذه السمة عملية استدعاء غير مكتملة بسبب حدوث خطأ.

void invocationSkipped(SkipReason reason)

تسجيل حالة استدعاء على أنّه تم تخطّيه

void invocationStarted(IInvocationContext context)

تسجّل هذه السمة بداية تنفيذ الاختبار.

void logAssociation(String dataName, LogFile logFile)

في بعض الحالات، يجب أن يكون السجلّ مرتبطًا بشكل كبير بحالات الاختبار، ولكن لا يمكن إجراء ذلك في معاودة الاتصال المباشرة testLogSaved(String,LogDataType,InputStreamSource,LogFile).

void setSupportGranularResults(boolean enableGranularResults)
boolean supportGranularResults()

تعرِض True إذا كان مقدّم التقارير يتيح نتائج تفصيلية، وFalse في الحالات الأخرى.

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

تعرض هذه السمة بيانات السجلّ أو تصحيح الأخطاء المرتبطة بعملية استدعاء الاختبار.

void testLogSaved(String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)

void testModuleEnded()

تسجّل هذه السمة نهاية عملية تنفيذ وحدة.

void testModuleStarted(IInvocationContext moduleContext)

تسجّل هذه السمة بداية تشغيل وحدة.

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

تقارير نهاية عملية الاختبار

void testRunFailed(FailureDescription failure)

تعذّر إكمال تشغيل اختبار التقارير بسبب حدوث خطأ موصوف في FailureDescription.

void testRunFailed(String failureMessage)

تعذّر إكمال تشغيل اختبار التقارير بسبب حدوث خطأ فادح.

void testRunStarted(String name, int numTests, int attemptNumber, long startTime)

تسجّل هذه السمة بداية تشغيل تجريبي.

طُرق وضع التصميم العامة

ShardListener

public ShardListener (ITestInvocationListener main)

أنشئ ShardListener.

المعلَمات
main استبدِل ITestInvocationListener بـ ITestInvocationListener الذي يجب إعادة توجيه النتائج إليه. لمنع حدوث تعارضات مع ShardListener أخرى، سيتم مزامنة هذا العنصر مع main عند إعادة توجيه النتائج. ولن يتم إرسال النتائج إلا بعد اكتمال جزء الاستدعاء.

الإجراءات العامة

getUnderlyingResultReporter

public List<ITestInvocationListener> getUnderlyingResultReporter ()

المرتجعات
List<ITestInvocationListener>

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: معلومات حول طلب التنفيذ

logAssociation

public void logAssociation (String dataName, 
                LogFile logFile)

في بعض الحالات، يجب أن يكون السجلّ مرتبطًا بشكل كبير بحالات الاختبار، ولكن لا يمكن إجراء ذلك في معاودة الاتصال المباشرة testLogSaved(String,LogDataType,InputStreamSource,LogFile). وبالتالي، يتيح هذا الإجراء الرجعي توفير ارتباط قوي بشكل صريح.

المعلَمات
dataName String: اسم البيانات

logFile LogFile: LogFile الذي تم تسجيله من قبل ويجب ربطه بحالة الاختبار.

setSupportGranularResults

public void setSupportGranularResults (boolean enableGranularResults)

المعلَمات
enableGranularResults boolean

supportGranularResults

public boolean supportGranularResults ()

تعرِض True إذا كان مقدّم التقارير يتيح نتائج تفصيلية، وFalse في الحالات الأخرى.

المرتجعات
boolean

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.

testLogSaved

public void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)

المعلَمات
dataName String

dataType LogDataType

dataStream InputStreamSource

logFile LogFile

testModuleEnded

public void testModuleEnded ()

تسجّل هذه السمة نهاية عملية تنفيذ وحدة.

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

تسجّل هذه السمة بداية تشغيل وحدة. يرتبط هذا الإجراء الاحتياطي بـ testModuleEnded() وهو اختياري في التسلسل. يتم استخدامها فقط أثناء عملية تشغيل تستخدم وحدات: أدوات التشغيل المستندة إلى الحزمة.

المعلَمات
moduleContext IInvocationContext: IInvocationContext الخاص بالوحدة

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

تعذّر إكمال تشغيل اختبار التقارير بسبب حدوث خطأ موصوف في FailureDescription.

المعلَمات
failure FailureDescription: FailureDescription يصف الخطأ وسياقه.

testRunFailed

public void testRunFailed (String failureMessage)

تعذّر إكمال تشغيل اختبار التقارير بسبب حدوث خطأ فادح.

المعلَمات
failureMessage String: String تصف سبب تعذُّر تنفيذ عملية التشغيل.

testRunStarted

public void testRunStarted (String name, 
                int numTests, 
                int attemptNumber, 
                long startTime)

تسجّل هذه السمة بداية تشغيل تجريبي.

المعلَمات
name String: اسم عملية التشغيل التجريبي

numTests int: إجمالي عدد الاختبارات في عملية التشغيل التجريبي

attemptNumber int: رقم الطلب، الذي يحدّد المحاولات المختلفة لـ runName نفسه الذي يتم تنفيذه عدة مرات. يتم فهرسة attemptNumber بدءًا من 0، ويجب أن يزيد في كل مرة يتم فيها تنفيذ عملية تشغيل جديدة. على سبيل المثال، إذا تمت إعادة محاولة اختبار دقيق 3 مرات، يجب أن يتم تنفيذه 4 مرات إجمالاً ضمن runName نفسه، ويجب أن يتراوح attemptNumber بين 0 و3.

startTime long: الوقت الذي بدأ فيه التمرين، ويتم قياسه باستخدام System.currentTimeMillis()