বাগরিপোর্টকালেক্টর

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, HashMap<String, MetricMeasurement.Metric> 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, HashMap<String, MetricMeasurement.Metric> runMetrics)

পরীক্ষামূলক কার্যক্রমের সমাপ্তির প্রতিবেদন।

void testRunFailed (String errorMessage)

একটি মারাত্মক ত্রুটির কারণে রিপোর্ট টেস্ট রান সম্পন্ন হতে পারেনি।

void testRunStarted (String runName, int testCount)

একটি পরীক্ষামূলক চালনা শুরুর ঘোষণা দেয়।

void testRunStopped (long elapsedTime)

একজন ব্যবহারকারীর অনুরোধের কারণে রিপোর্টের পরীক্ষামূলক চালনা সম্পূর্ণ হওয়ার আগেই বন্ধ করা হয়েছে।

void testStarted ( TestDescription test)

একটি স্বতন্ত্র টেস্ট কেস শুরু হওয়ার প্রতিবেদন দেয়।

ক্ষেত্র

ব্যর্থ পরীক্ষার কেসগুলির পরে

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

জনসাধারণের পদ্ধতি

addPredicate

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

বর্ণনামূলক নাম সেট করুন

public void setDescriptiveName (String name)

বাগরিপোর্ট রেকর্ড করার সময় ব্যবহার করার জন্য বর্ণনামূলক নামটি সেট করুন। যদি এটি null , তাহলে BugreportCollector সেই ইভেন্টের নামটি সিরিয়ালাইজ করার ডিফল্ট আচরণে ফিরে যাবে, যার কারণে বাগরিপোর্টটি সংগ্রহ করা হয়েছে।

প্যারামিটার
name String

ডিভাইস অপেক্ষার সময় সেট করুন

public void setDeviceWaitTime (int waitTime)

বাগরিপোর্ট ক্যাপচার করার চেষ্টার আগে ডিভাইসটি অনলাইন হওয়ার জন্য কতক্ষণ অপেক্ষা করতে হবে, তার সময় (সেকেন্ডে) নির্ধারণ করুন। সময়টি নেগেটিভ হলে, কোনো চেক করা হবে না। এই চেকের সময় কোনো DeviceNotAvailableException পাওয়া গেলে, তা লগ করা হবে এবং উপেক্ষা করা হবে।

প্যারামিটার
waitTime int

পরীক্ষার অনুমান ব্যর্থতা

public void testAssumptionFailure (TestDescription test, 
                String trace)

যখন কোনো অ্যাটমিক টেস্ট এমন একটি শর্ত ধরে নেয় যা মিথ্যা, তখন এটি কল করা হয়।

প্যারামিটার
test TestDescription : পরীক্ষাটি শনাক্ত করে

trace String : ব্যর্থতার স্ট্যাক ট্রেস

পরীক্ষা শেষ হয়েছে

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

একটি স্বতন্ত্র টেস্ট কেসের নির্বাহ সমাপ্তির প্রতিবেদন দেয়।

যদি testFailed(TestDescription, FailureDescription) কল করা না হয়ে থাকে, তাহলে এই টেস্টটি পাস করেছে। এছাড়াও, টেস্ট কেসটি চলার সময় নির্গত হওয়া যেকোনো কী/ভ্যালু মেট্রিক্সও ফেরত দেওয়া হয়।

প্যারামিটার
test TestDescription : পরীক্ষাটি শনাক্ত করে

testMetrics HashMap : নির্গত মেট্রিকগুলোর একটি 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)/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 মেথডটি সম্পূর্ণ না হওয়া পর্যন্ত ডেটার উৎসটি উপস্থিত এবং অ্যাক্সেসযোগ্য থাকে।

পরীক্ষা শেষ হয়েছে

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

টেস্ট রান শেষ হওয়ার রিপোর্ট। সংশোধন: আমরা ভিন্ন টাইপের দুটি Map<> ইন্টারফেস ব্যবহার করতে পারি না, তাই এখানে HashMap ব্যবহার করতে হবে।

প্যারামিটার
elapsedTime long : ডিভাইস দ্বারা রিপোর্ট করা অতিবাহিত সময়, মিলিসেকেন্ডে

runMetrics HashMap : Metric ব্যবহার করে একটি পরীক্ষা চালানোর শেষে রিপোর্ট করা কী-ভ্যালু পেয়ারসমূহ।

পরীক্ষা ব্যর্থ হয়েছে

public void testRunFailed (String errorMessage)

একটি মারাত্মক ত্রুটির কারণে রিপোর্ট টেস্ট রান সম্পন্ন হতে পারেনি।

প্যারামিটার
errorMessage String : রান ব্যর্থ হওয়ার কারণ বর্ণনাকারী String

পরীক্ষা শুরু হয়েছে

public void testRunStarted (String runName, 
                int testCount)

একটি পরীক্ষামূলক চালনা শুরুর ঘোষণা দেয়।

প্যারামিটার
runName String : টেস্ট রানের নাম

testCount int : টেস্ট রানে মোট পরীক্ষার সংখ্যা

testRunStopped

public void testRunStopped (long elapsedTime)

একজন ব্যবহারকারীর অনুরোধের কারণে রিপোর্টের পরীক্ষামূলক চালনা সম্পূর্ণ হওয়ার আগেই বন্ধ করা হয়েছে।

করণীয়: বর্তমানে অব্যবহৃত, সরিয়ে ফেলার কথা বিবেচনা করুন।

প্যারামিটার
elapsedTime long : ডিভাইস দ্বারা রিপোর্ট করা অতিবাহিত সময়, মিলিসেকেন্ডে

পরীক্ষা শুরু হয়েছে

public void testStarted (TestDescription test)

একটি স্বতন্ত্র টেস্ট কেসের শুরু রিপোর্ট করে। এটি পুরোনো ইন্টারফেস, সম্ভব হলে testStarted(TestDescription) ব্যবহার করা উচিত।

প্যারামিটার
test TestDescription : পরীক্ষাটি শনাক্ত করে