ইন্সট্রুমেন্টেশনপ্রোটোরেজাল্টপার্সার

public class InstrumentationProtoResultParser
extends Object implements IInstrumentationResultParser

java.lang.অবজেক্ট
com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser সম্পর্কে


শেল থেকে পরিচালিত একটি ইন্সট্রুমেন্টেশন পরীক্ষার 'protoStd আউটপুট মোড' ফলাফল বিশ্লেষণ করে এবং ফলাফল সম্পর্কে একজন ITestRunListener কে অবহিত করে।

"-m" অপশন সহ Am ইন্সট্রুমেন্ট কমান্ডটি বাইনারি প্রোটোবফ ফর্ম্যাটে ক্রমবর্ধমানভাবে টেস্ট এক্সিকিউশন স্ট্যাটাস আউটপুট করে। আউটপুট প্রোটোবফ বার্তাটি হল InstrumentationData.Session , যার দুটি ক্ষেত্র রয়েছে: 1) InstrumentationData.TestStatus এর পুনরাবৃত্তি ক্ষেত্র, 2) InstrumentationData.SessionStatus । am ইন্সট্রুমেন্ট কমান্ড প্রতিটি টেস্ট এক্সিকিউশনের আগে/পরে টেস্ট স্ট্যাটাস বার্তা আউটপুট করে। addOutput(byte, int, int) একটি data আর্গুমেন্ট দিয়ে আহ্বান করা হয় যা TestStatus (es) এর একটি সিরিয়ালাইজড বাইট। সমস্ত পরীক্ষা সম্পন্ন হলে, কমান্ডটি অবশেষে SessionStatus আউটপুট করে।

সম্পূর্ণ প্রোটোবাফ সংজ্ঞার জন্য https://cs.android.com/android/platform/superproject/+/master:frameworks/base/cmds/am/proto/instrumentation_data.proto দেখুন।

InstrumentationProtoResultParser হল একটি স্টেট-মেশিন এবং স্টেটগুলি ERROR(InstrumentationProtoResultParserState/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState InstrumentationProtoResultParserState) এ সংজ্ঞায়িত করা হয়েছে। স্টেটটি ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#NOT_STARTED) দিয়ে শুরু হয়। যখন এটি প্রথম টেস্ট কেস স্ট্যাটাস দেখে, তখন এটি ERROR(InstrumentationProtoResultParserState.RUNNING/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#RUNNING InstrumentationProtoResultParserState.RUNNING) এ চলে যায়। সমস্ত পরীক্ষা সম্পন্ন হলে অবস্থা ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#FINISHED) এ পরিবর্তিত হয় অথবা cancel() কল করে অনুরোধ করা হলে ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#CANCELLED) এ পরিবর্তিত হয়।

প্রতিবার নতুন পরীক্ষার অবস্থা পাওয়া গেলে, নিবন্ধিত শ্রোতাদের তা জানানো হবে।

সারাংশ

পাবলিক কনস্ট্রাক্টর

InstrumentationProtoResultParser (String runName, listeners)

InstrumentationProtoResultParser তৈরি করে।

পাবলিক পদ্ধতি

void addOutput (byte[] data, int offset, int length)

প্রতিবার নতুন তথ্য পাওয়া গেলে এই পদ্ধতিটি ব্যবহার করা হয়।

void cancel ()

পরীক্ষামূলক কার্যক্রম বাতিলের অনুরোধ।

void flush ()

প্রক্রিয়া সম্পাদনের শেষে কল করা হয়েছে (যদি না প্রক্রিয়াটি বাতিল করা হয়)।

void handleTestRunFailed (String errorMsg)

এই পদ্ধতিটি তখন বলা হয় যখন "am instrument" কমান্ড ব্যতিক্রম ছাড়া ক্র্যাশ করে।

boolean isCancelled ()

রিমোট শেল কমান্ডের কার্যকরকরণ বন্ধ করার জন্য বাতিল পদ্ধতি।

পাবলিক কনস্ট্রাক্টর

ইন্সট্রুমেন্টেশনপ্রোটোরেজাল্টপার্সার

public InstrumentationProtoResultParser (String runName, 
                 listeners)

InstrumentationProtoResultParser তৈরি করে।

পরামিতি
runName String : ITestRunListener.testRunStarted কে প্রদান করা টেস্ট রানের নাম

listeners : পরীক্ষা চলাকালীন পরীক্ষার ফলাফল সম্পর্কে অবহিত করা

পাবলিক পদ্ধতি

আউটপুট যোগ করুন

public void addOutput (byte[] data, 
                int offset, 
                int length)

প্রতিবার নতুন তথ্য পাওয়া গেলে এই পদ্ধতিটি ব্যবহার করা হয়।

পরামিতি
data byte : InstrumentationData.Session বার্তার একটি সিরিয়ালাইজড ডেটা। যদি data একটি অসম্পূর্ণ অংশ হয়, তবে সেগুলি একটি অভ্যন্তরীণ বাফারে যোগ করা হবে এবং পরবর্তী addOutput(byte, int, int) কলে প্রক্রিয়া করা হবে।

offset int : data সংরক্ষিত নতুন ডেটার একটি অফসেট

length int : প্রক্রিয়াজাতকরণের জন্য data একটি নতুন ডেটার বাইট।

বাতিল করুন

public void cancel ()

পরীক্ষামূলক কার্যক্রম বাতিলের অনুরোধ।

ফ্লাশ

public void flush ()

প্রক্রিয়া সম্পাদনের শেষে কল করা হয় (যদি না প্রক্রিয়াটি বাতিল করা হয়)। এটি রিসিভারকে প্রক্রিয়াজাত না হওয়া ডেটা বন্ধ করে ফ্লাশ করার অনুমতি দেয়।

হ্যান্ডেলটেস্টরানফেইল

public void handleTestRunFailed (String errorMsg)

এই পদ্ধতিটি তখন বলা হয় যখন "am instrument" কমান্ডটি ব্যতিক্রম ছাড়া ক্র্যাশ করে। সমস্ত নিবন্ধিত শ্রোতাদের ITestRunListener.testRunFailed এর পরে ITestRunListener.testRunEnded(long, ) জানানো উচিত। ITestRunListener.testRunEnded(long, ) যদি পরীক্ষা সম্পাদনের সময় ক্র্যাশ ঘটে।

পরামিতি
errorMsg String

বাতিল করা হয়েছে

public boolean isCancelled ()

রিমোট শেল কমান্ডের কার্যকরকরণ বন্ধ করার জন্য বাতিল পদ্ধতি।

রিটার্নস
boolean কমান্ডের কার্যকরকরণ বাতিল করার জন্য true।