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)
أنشئ |
|
الإجراءات العامة | |
|---|---|
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)
في بعض الحالات، يجب أن يكون السجلّ مرتبطًا بشكل كبير بحالات الاختبار، ولكن لا يمكن إجراء ذلك في معاودة الاتصال المباشرة |
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)
تعذّر إكمال تشغيل اختبار التقارير بسبب حدوث خطأ موصوف في |
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() |