প্রথমে, 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