সুইট ও মডিউলে বিকল্প ও ফিল্টার পাস করা

প্রথমে, Tradefed-এ বিকল্প হ্যান্ডেল করা সম্পর্কে নিশ্চিত হন।

স্যুট সেট-আপ, স্যুট স্ট্রাকচারে বিদ্যমান দুটি লেয়ারের বর্ণনা দেয়:

  • টপ-লেভেল স্যুট
  • মডিউল

সুইট নয় এমন Tradefed কনটেক্সটে, এটি নিয়ে চিন্তা করার প্রয়োজন নেই; প্রতিটি বিকল্প সম্পূর্ণ ইনভোকেশনে যায়। সুইট প্রসঙ্গে, মডিউলগুলিকে সুইট থেকে আলাদা রাখা হয়; তাই সব বিকল্প সেগুলির লেভেলে উপলভ্য থাকে না।

টপ-লেভেল স্যুইটে বিকল্প পাস করুন

সবচেয়ে উপরের লেভেলের স্যুটটি সাধারণ Tradefed কনফিগারেশনের মতো আচরণ করে: স্যুট রানার সহ সম্পূর্ণ কনফিগারেশনটি নন-স্যুট Tradefed কনফিগারেশনের মতো সমস্ত বিকল্প পায়।

মডিউলে বিকল্প পাস করা

কমান্ডে পাস করা বিকল্পগুলি মডিউল সাধারণত পায় না। module-arg বিকল্পের মাধ্যমে বিকল্পগুলি পেতে তাদের স্পষ্টভাবে টার্গেট করতে হবে। মডিউল বিকল্পের এই আইসোলেশন ডিবাগিংকে সহজ করে তোলে।

উদাহরণ:

cts-tradefed run cts --module-arg <module-name>:<option-name>:<option-value>

cts-tradefed run cts --module-arg CtsGestureTestCases:collect-tests-only:true

সিনট্যাক্স নিশ্চিত করে যে টার্গেট করা মডিউলটি প্রদত্ত বিকল্পটি পাবে।

test-arg-এর মতো মডিউলে বিকল্প পাস করার অতিরিক্ত উপায় রয়েছে, যা আপনাকে রানার টাইপ বা ক্লাসের উপর ভিত্তি করে প্রতিটি মডিউলের টেস্ট রানারে বিকল্প পাস করতে দেয়।

উদাহরণ:

cts-tradefed run cts --test-arg <test-class>:<option-name>:<option-value>

cts-tradefed run cts --test-arg com.android.tradefed.testtype.JarHosttest:collect-tests-only:true

সিনট্যাক্স কোনও নির্দিষ্ট মডিউলকে টার্গেট করে না, বরং প্রদত্ত ক্লাসের সমস্ত টেস্ট রানারকে টার্গেট করে। test-arg শুধুমাত্র IRemoteTest (ডকুমেন্টেশন, সোর্স কোড) বা ITargetPreparer (ডকুমেন্টেশন, সোর্স কোড) প্রয়োগকে বিকল্পের সম্ভাব্য রিসিভার হিসেবে বিবেচনা করে।

java_test_host-এ জাভা টেস্ট ক্লাসে বিকল্প পাস করুন

আপনি যদি java_test_host বিল্ড টার্গেটের অংশ হিসেবে আপনার জাভা টেস্ট ক্লাসে @Option যোগ করেন, তাহলে আপনাকে সেই বিকল্প ইনজেক্ট করতে নিম্নলিখিতগুলি ব্যবহার করতে হবে:

cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>

এই প্রসঙ্গে set-option হল test harness থেকে HostTest রানারের বিকল্প যা আপনার java ক্লাসকে এক্সিকিউট করার জন্য র‍্যাপ করে।

আপনার jar ফাইলের বিকল্পের টার্গেটে একাধিক টেস্ট ক্লাস থাকলে, ডিফল্ট হিসেবে, সেগুলির সবগুলিতে @option নির্দিষ্ট করা থাকতে হবে অথবা একটি ক্লাসকে টার্গেট করার জন্য নিম্নলিখিত সিনট্যাক্স ব্যবহার করতে হবে:

cts-tradefed run cts --module-arg <module-name>:set-option:<class-name>:<option-name>:<option-value>

স্যুটে ফিল্টার পাস করা

কোনও স্যুট থেকে কিছু টেস্ট ফিল্টার করতে, আমরা --include-filter এবং --exclude-filter ব্যবহার করি যাতে যথাক্রমে কোনও নির্দিষ্ট টেস্ট বা মডিউল অন্তর্ভুক্ত বা বাদ দেওয়া যায়। বাদ দেওয়ার শর্তকে অগ্রাধিকার দেওয়া হয়।

এগুলি এই ফর্ম্যাট ব্যবহার করে: [abi] <module-name> [test name]

উদাহরণ:

--include-filter CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases android.gesture.cts.GestureTest#testGetStrokes