OmniLab Android Test Station

OmniLab ATS হল একটি টেস্টিং টুল যা Android ডেভেলপার ও টেস্ট ইঞ্জিনিয়াররা Android কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS)-এর মতো স্ট্যান্ডার্ড Android টেস্ট স্যুট চালানোর জন্য ইউজার ইন্টারফেস ব্যবহার করতে পারেন। এই টুলটি বিভিন্ন টেস্ট ফ্রেমওয়ার্কের জন্য ওয়েব ইন্টারফেস হিসেবে কাজ করে, যেমন Trade Federation (TF) এবং Google Mobly। এর ফলে আপনি ন্যূনতম সেট-আপ সহ টেস্ট ডিভাইসের একটি সেটে CTS এবং মাল্টি-ডিভাইস টেস্ট রান করতে পারেন, পাশাপাশি টেস্ট ক্রমাগত রান করার জন্য একটি শিডিউল সেট করতে পারেন।

OmniLab ATS 2.0-এর ভূমিকা

OmniLab ATS 2.0, Trade Federation থেকে OmniLab-এ টেস্ট এক্সিকিউশন সংক্রান্ত অন্তর্নিহিত পরিকাঠামো মাইগ্রেট করে। এই পরিবর্তনের ফলে আরও শক্তিশালী ও দক্ষ ব্যাকএন্ড পাওয়া যায়, পাশাপাশি OmniLab ATS 1.0-এর ইউজার ইন্টারফেস ও ওয়ার্কফ্লো বজায় থাকে।

OmniLab ATS 2.0-এর মূল সুবিধা:

  • আধুনিক ইনফ্রাস্ট্রাকচার: উন্নত স্থিতিশীলতা ও পারফর্ম্যান্সের জন্য OmniLab প্ল্যাটফর্ম ব্যবহার করে।
  • নির্বিঘ্নে ট্রানজিশন: ওয়েব UI বা মূল টেস্ট এক্সিকিউশন ওয়ার্কফ্লোতে কোনও পরিবর্তন করা হয়নি।
  • ভবিষ্যতের জন্য প্রস্তুত: Google-এর ইউনিফায়েড টেস্টিং ইনফ্রাস্ট্রাকচারের সাথে সামঞ্জস্যপূর্ণ, নতুন ফিচার আরও দ্রুত গ্রহণ করতে সাহায্য করে।

OmniLab ATS 2.0-এ বাল্ক টেস্ট প্ল্যান আপডেট, উন্নত ডিভাইস অ্যালোকেশন এবং আরও অনেক নতুন ফিচার অন্তর্ভুক্ত। আপডেট পেতে রিলিজ নোট চেক করুন।

OmniLab ATS 2.0-এ আপগ্রেড করুন:

OmniLab ATS 2.0 ব্যবহার করতে, আপনার স্টেশনকে বিল্ড R52 বা তার পরবর্তী ভার্সনে আপগ্রেড করতে হবে। নতুন Omnilab ATS 2.0-তে পরিবর্তন করতে --force_ats_version 2 ফ্ল্যাগ এবং লেটেস্ট বিল্ডে আপগ্রেড করতে mtt start কমান্ডের সাথে --force_update ফ্ল্যাগ ব্যবহার করুন:

mtt start --force_ats_version 2 --force_update

মাইগ্রেশন চলাকালীন, OmniLab ATS 2.0 ফিচারের সাথে লেটেস্ট স্থিতিশীল বিল্ড অ্যাক্সেস করতে, আমরা dogfood ট্যাগ ব্যবহার করার সাজেশন দিই:

mtt start --force_ats_version 2 --tag dogfood --force_update

২০২৬ সালের তৃতীয় কোয়ার্টারে আমরা OmniLab ATS 2.0-কে ডিফল্ট ভার্সন হিসেবে সেট করার পরিকল্পনা করেছি। আমরা ২০২৬ সালের শেষের দিকে OmniLab ATS 1.0 বন্ধ করার পরিকল্পনা করছি।

নির্দিষ্ট আপডেট, পরিচিত পার্থক্য এবং আপগ্রেড নির্দেশিকা সম্পর্কে আরও বিবরণের জন্য, OmniLab ATS 2.0 আপগ্রেড গাইড দেখুন।

OmniLab ATS সেট-আপ করা

এই বিভাগে OmniLab ATS কীভাবে ইনস্টল ও সেট-আপ করতে হয় তা ব্যাখ্যা করা হয়েছে।

OmniLab ATS এইসব লোকেশন থেকে সোর্স কোড ব্যবহার করে:

OmniLab ATS ইনস্টল করা

আপনার চালানো টেস্ট স্যুটের জন্য যেকোনও হার্ডওয়্যার ও সফ্টওয়্যার সংক্রান্ত প্রয়োজনীয়তা অনুসরণ করুন।

CTS-এর জন্য প্রয়োজনীয়তা source.android.com-এ পাওয়া যাবে।

OmniLab ATS-এর জন্য অতিরিক্ত কোনও হার্ডওয়্যার প্রয়োজন নেই, তবে আমরা শুরু করার জন্য CTS হোস্ট সংক্রান্ত প্রয়োজনীয়তা ব্যবহার করার সাজেশন দিই।

OmniLab ATS ইনস্টল করার দুটি উপায় আছে:

ইনস্টলার প্রোগ্রামের মাধ্যমে ইনস্টল করা

ইনস্টলার প্রোগ্রাম Ubuntu 22.04 ও তার পরবর্তী যেকোনও ভার্সনে কাজ করে। ইনস্টলার OmniLab ATS চালানোর জন্য প্রয়োজনীয় সব প্রোগ্রাম ও রিসোর্স ইনস্টল ও কনফিগার করে।

ইনস্টল প্রোগ্রাম ব্যবহার করতে:

  1. ইনস্টলার প্রোগ্রাম রান করান:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. OmniLab ATS CLI-এর ইনস্টল করা ভার্সন চেক করতে mtt version রান করান।

ম্যানুয়ালি ইনস্টল করুন

Docker ইনস্টল করা
  1. আপনার Linux মেশিনে Docker Community Edition (CE) ইনস্টল করার নির্দেশাবলী অনুসরণ করুন।

  2. নন-রুট ব্যবহারকারী হিসেবে Docker ম্যানেজ করার জন্য ইনস্টলেশন পরবর্তী ধাপ অনুসরণ করুন।

  3. অনুমতিতে করা পরিবর্তন কার্যকর করতে আপনাকে হয়ত টার্মিনাল উইন্ডো রিস্টার্ট করতে হবে অথবা সাইন-আউট করে আবার সাইন-ইন করতে হবে।

Python 3 ইনস্টল করুন

OmniLab ATS CLI-এর জন্য Ubuntu 22.04 বা তার পরবর্তী যেকোনও ভার্সন প্রয়োজন। CLI, Python-এর 3.10 থেকে 3.13 ভার্সনের সাথে যাচাই করা হয়।

Python 3 ইনস্টল করতে, এই কমান্ডগুলি রান করুন:

sudo apt-get update
sudo apt install python3 python3-distutils

আপনার স্ট্যান্ডার্ড ডিস্ট্রিবিউশনে অন্তর্ভুক্ত নয় এমন Python 3-এর কোনও ভার্সন প্রয়োজন হলে, প্রথমে নিম্নলিখিতগুলির মধ্যে কোনও একটি করে Python 3-এর রিপোজিটরি যোগ করুন:

  • এই কমান্ডটি রান করান:

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • সোর্স থেকে রিপোজিটরি তৈরি ও ইনস্টল করুন।

Python 3-এর কোনও নির্দিষ্ট ভার্সন (যেমন, 3.10) ইনস্টল করতে, এগুলির পরিবর্তে এই কমান্ডগুলি রান করুন:

sudo apt-get update
sudo apt install python3.10 python3.10-distutils

OmniLab ATS CLI পান

এখান থেকে কমান্ড লাইন ইন্টারফেস (CLI) প্যাকেজ ডাউনলোড করুন।

OmniLab ATS শুরু করুন

নিম্নলিখিত কমান্ড দিয়ে OmniLab ATS শুরু করুন:

mtt start

প্রথমবার UI চালু করার সময়, এটি দেখতে পেতে কয়েক মিনিট সময় লাগতে পারে। ব্রাউজারে UI অ্যাক্সেস করার জন্য CLI একটি ওয়েব URL দেখায়। ডিফল্ট হিসেবে, ওয়েব URL হল localhost:8000. প্রয়োজন হলে, আপনি স্টার্ট-আপের সময় --port ফ্ল্যাগ ব্যবহার করে ডিফল্ট পোর্ট পরিবর্তন করতে পারেন।

আরও নতুন ভার্সন উপলভ্য থাকলে, আপনি বর্তমান ভার্সনে আপডেট করতে পারবেন। লেটেস্ট রিলিজের জন্য আপনি রিলিজ নোট চেক করতে পারেন।

বর্তমান ভার্সনে আপডেট করতে, এটি রান করুন:

mtt start --force_update

অ্যাপ বন্ধ করতে, এটি রান করান:

mtt stop

অন্যান্য কমান্ডের তালিকা দেখতে, এটি ব্যবহার করুন:

mtt --help

ডেটাবেসের ব্যাক-আপ নেওয়া ও ফিরিয়ে আনা

OmniLab ATS ডেটাবেসের ব্যাক-আপ নিতে, অ্যাপ বন্ধ করে নিম্নলিখিত কমান্ড রান করুন, যা আপনার হোম ডিরেক্টরিতে mtt-backup.tar নামের TAR ফাইলে বর্তমান ডেটাবেসের ব্যাক-আপ নেয়:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."

রিস্টোর করতে, অ্যাপ চালু করার আগে নিম্নলিখিত কমান্ড রান করুন:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"

সেটআপ উইজার্ড

আপনি প্রথমবার OmniLab ATS ইনস্টল ও রান করার পরে, সেট-আপ উইজার্ড আপনাকে কয়েকটি ধাপের মাধ্যমে নিয়ে যায় যাতে আপনার এনভায়রনমেন্টের জন্য টুল কাস্টমাইজ করতে পারেন। আপনি এখানে যেসব পরিবর্তন করবেন সেগুলি পরে সেটিংস পৃষ্ঠার মাধ্যমে আবার কনফিগার করা যাবে।

কনফিগারেশন ব্যাক-আপ ফিরিয়ে আনা

অন্য OmniLab ATS হোস্ট থেকে আপনার কাছে ব্যাক-আপ নেওয়া কনফিগারেশন ফাইল থাকলে, ফাইল আপলোড করুন বোতামে ক্লিক করে সেই হোস্ট থেকে পরিবর্তিত যেকোনও কনফিগারেশন কপি করার জন্য আপনি ফাইলটি আপলোড করতে পারবেন।

কনফিগারেশন ব্যাক-আপ ফিরিয়ে আনুন

ছবি ১. কনফিগারেশন ব্যাক-আপ ফিরিয়ে আনা হচ্ছে।

ডিফল্ট পরিষেবা অ্যাকাউন্ট সেট করা

আপনি একটি পরিষেবা অ্যাকাউন্ট সেট করতে পারেন যা আপনার রিসোর্স (যেমন, Google Cloud Storage, Google Drive) অ্যাক্সেস করার সময় OmniLab ATS ডিফল্ট হিসেবে ব্যবহার করে। আপনার পরিষেবা অ্যাকাউন্ট যাচাই করতে, পরিষেবা অ্যাকাউন্টের কী আপলোড করুন বিকল্পে ক্লিক করুন এবং আপনার পরিষেবা অ্যাকাউন্টের JSON কী ফাইল বেছে নিন।

পরিষেবা অ্যাকাউন্ট সেট করা

ছবি ২. পরিষেবা অ্যাকাউন্ট সেট করা হচ্ছে।

পরিষেবা অ্যাকাউন্ট যাচাই করা হয়ে গেলে, পৃষ্ঠার উপরে ডানদিকের কোণে অ্যাকাউন্টের ইমেল আইডি দেখা যায়। পরিষেবা অ্যাকাউন্ট পরিবর্তন করতে, অ্যাকাউন্টের নামে ক্লিক করুন, বর্তমান ডিফল্ট অ্যাকাউন্ট সরিয়ে দিন এবং নতুন পরিষেবা অ্যাকাউন্ট কী আপলোড করুন।

পরিষেবা অ্যাকাউন্ট পরিবর্তন করা

ছবি ৩. পরিষেবা অ্যাকাউন্ট পরিবর্তন করা হচ্ছে।

কনফিগারেশন সেট ইমপোর্ট করা

কনফিগারেশন সেট হল টেস্ট স্যুট চালানোর জন্য কনফিগারেশনের একটি বান্ডেল, যার মধ্যে সম্পর্কিত ডিভাইস অ্যাকশন এবং বিল্ড চ্যানেল অন্তর্ভুক্ত। কনফিগারেশন সেট নির্দিষ্ট Google Cloud Storage (GCS) বাকেটে হোস্ট করা হয়। আপনার Google অ্যাকাউন্ট দিয়ে GCS বিল্ড চ্যানেল যাচাই করার পরে, আপনার জন্য উপলভ্য সব কনফিগারেশন সেটের একটি তালিকা দেখতে পাবেন।

আপনার Test Station হোস্টে যোগ করতে চান এমন যেকোনও কনফিগারেশন সেট বেছে নিন এবং বেছে নেওয়া আইটেম ইমপোর্ট করুন বিকল্পে ক্লিক করুন।

কনফিগারেশন সেট ইমপোর্ট করা

ছবি ৪. কনফিগারেশন সেট ইমপোর্ট করা হচ্ছে।

ওয়াই-ফাই সেটিংস অন্তর্ভুক্ত করুন

কিছু CTS পরীক্ষার জন্য আপনার ডিভাইসকে ওয়াই-ফাই হটস্পটের সাথে কানেক্ট করতে হবে। আপনার ওয়াই-ফাই নেটওয়ার্ক বেছে নিতে, ওয়াই-ফাই SSID ও ঐচ্ছিক ওয়াই-ফাই PSK লিখুন।

ওয়াই-ফাই সেটিংস

ছবি ৫. ওয়াই-ফাই হটস্পট সেটিংস।

সেট-আপ উইজার্ড সম্পূর্ণ করার পরে, নতুন সেটিংস প্রয়োগ করে পৃষ্ঠাটি আবার লোড হয়।

ডিভাইস কানেক্ট করুন

টেস্ট করার জন্য ডিভাইস ব্যবহার করতে হলে, USB ডিবাগিং চালু করতে হবে। ডিবাগিং চালু করতে:

  1. ডেভেলপার বিকল্প চালু করা এবং ডিবাগ করা সংক্রান্ত নির্দেশাবলী অনুসরণ করুন।

  2. আপনি যদি কাস্টম ADB কী প্রি-লোড করা টেস্ট Android বিল্ড ব্যবহার করার পরিকল্পনা করেন, তাহলে ~/.android/ ডিরেক্টরির অধীনে কাস্টম .adb_key ফাইল রাখুন।

    যেসব ডিভাইসে সেইসব বিল্ড চলছে সেগুলির জন্য ডিভাইস ফ্ল্যাশ করার পরে ফাইলগুলি অটোমেটিক লোড হয়ে যায় এবং USB ডিবাগিং অটোমেটিক চালু করার জন্য ADB-তে পাস করা হয়।

  3. USB ব্যবহার করে হোস্ট মেশিনের সাথে ডিভাইসটি কানেক্ট করুন।

    ওয়েব ইন্টারফেস রিফ্রেশ করার এক মিনিটের মধ্যে OmniLab ATS-এর ডিভাইস ট্যাবে ডিভাইসটি দেখা যাবে। এছাড়াও, আপনি এই ট্যাবে ডিভাইসের স্ট্যাটাস দেখতে পারবেন।

    ডিভাইস কানেক্ট করুন

    ছবি ৬. ডিভাইস কানেক্ট করা হচ্ছে।

ডিভাইসের বিভিন্ন স্ট্যাটাস হল:

  • উপলভ্য - ডিভাইসটি কানেক্ট করা আছে এবং পরীক্ষা চালানোর জন্য রেডি।
  • অ্যালোকেট করা হয়েছে - ডিভাইসটি কানেক্ট করা হয়েছে এবং একটি পরীক্ষা চালাচ্ছে। প্রতিটি ডিভাইস একবারে শুধুমাত্র একটি পরীক্ষা চালাতে পারে, তাই নতুন পরীক্ষা চালানোর আগে ডিভাইসটিকে বর্তমান পরীক্ষাটি শেষ করতে হবে।

টেস্ট রান করুন

একটি টেস্ট বেছে নিন

OmniLab ATS-এ আগে থেকেই বান্ডেল করা CTS কনফিগারেশনের একটি সেট থাকে। এইসব টেস্টের মধ্যে কোনও একটি রান করতে, টেস্ট স্যুট ট্যাবে যান এবং বেছে নেওয়া টেস্টের জন্য টেস্ট রান করুন বিকল্পে ক্লিক করুন।

একটি টেস্ট বেছে নিন

ছবি ৭. টেস্ট বেছে নেওয়া।

নতুন পরীক্ষা যোগ করতে বা এডিট করতে, পরীক্ষা যোগ করা দেখুন।

টেস্ট রান কনফিগার করুন

এই নির্দিষ্ট টেস্ট রানের জন্য ব্যবহার করতে প্যারামিটার এডিট করুন। বেছে নেওয়া টেস্ট কনফিগারেশনে উল্লেখ করা মান দিয়ে বেশিরভাগ প্যারামিটার আগে থেকেই পূরণ করা থাকে।

ডিফল্ট ভ্যালু ব্যবহার করে এই ধাপ সম্পূর্ণ করা যেতে পারে, তবে আপনার প্রয়োজন অনুযায়ী সর্বাধিকবার চেষ্টা করা এবং কমান্ড-এর মতো যেকোনও প্যারামিটার পরিবর্তন করতে পারবেন।

টেস্ট রান কনফিগার করা

ছবি ৮. টেস্ট রান কনফিগার করা।

টেস্ট রান প্যারামিটারগুলি হল:

  • নাম - আপনি যে টেস্ট স্যুট চালাতে চান তার নাম।
  • রান কাউন্ট - শিডিউল করা হলে এই টেস্ট রান কতবার এক্সিকিউট করা উচিত। টেস্ট রান শিডিউল করার জন্য ট্রেড ফেডারেশন ব্যবহার করা হয়, যা ২০টি টেস্ট রান প্যারালালভাবে চালাতে পারে যদি তা করার মতো ক্যাপাসিটি থাকে।
  • সর্বাধিক বার আবার চেষ্টা করা - কমপক্ষে একটি টেস্ট ব্যর্থ হলে, টেস্ট রান আবার চেষ্টা করার সর্বাধিক সংখ্যা। ফ্লেকি টেস্ট ম্যানেজ করার জন্য সম্পূর্ণ CTS রান করার জন্য এটি সাধারণত ৪–৬ বার রিট্রাই করার জন্য সেট করা হয়।
  • কিউয়ের সময়সীমা শেষ হয়ে যাওয়া - কোনও টেস্ট রান কিউয়ে থাকলে এবং সেটি অনেকক্ষণ ধরে একই অবস্থায় থাকলে, এটি অটোমেটিক বাতিল হয়ে যায়। বাতিল করার আগে কতক্ষণ অপেক্ষা করতে হবে তা এখানে নির্দিষ্ট করুন। ডিফল্ট হল ২৪ ঘণ্টা।
  • কমান্ড - টেস্ট স্যুট রান করার কমান্ড। আপনি এখানে অতিরিক্ত কমান্ড লাইন আর্গুমেন্ট লিখতে পারেন। যেমন, CTS 8.1-এ নির্দিষ্ট মডিউল চালান এর সাথে:

    cts-suite -m ShortModuleName
    
  • আবার কমান্ড দাও - টেস্ট স্যুট আবার চালানোর কমান্ড। আপনি এখানে অতিরিক্ত কমান্ড লাইন আর্গুমেন্ট যোগ করতে পারবেন। যেমন, CTS 8.1-এ শুধুমাত্র একটি নির্দিষ্ট মডিউল আবার চেষ্টা করতে, এগুলি ব্যবহার করুন:

    cts --retry 0 -m ShortModuleName
    

    রিট্রাই আর্গুমেন্ট, প্রাথমিক কমান্ডের সাথে উপলভ্য আর্গুমেন্ট থেকে আলাদা হতে পারে, তাই বেছে নেওয়া টেস্ট স্যুটের জন্য অফিসিয়াল সাইটে গিয়ে কাজ করে এমন প্যারামিটার চেক করে নিন।

  • আগের টেস্ট রান - আপনি যদি আগের টেস্ট রান আবার চালাতে চান:

    • স্থানীয় - বর্তমান হোস্টে রান শুরু করা হলে, টেস্ট রান আইডি লিখুন যা টেস্ট রানের বিবরণ দেখার সময় দেখা যায়।

      স্থানীয় আগের টেস্ট রান

      ছবি ৯. লোকাল আগের টেস্ট রান।

    • রিমোট - রান অন্য কোনও হোস্ট থেকে শুরু করা হলে, রিমোট বিকল্প বেছে নিয়ে, টেস্টের ফলাফল ফাইল আপলোড করুন বিকল্পে ক্লিক করে এবং আপনার লোকাল স্টোরেজ থেকে একটি ফাইল বেছে নিয়ে টেস্ট ফলাফলের ফাইল আপলোড করুন।

      রিমোট আগের টেস্ট রান

      ছবি ১০. রিমোট আগের টেস্ট রান।

ডিভাইসগুলি বেছে নিন

টেস্ট সুইট চালানোর জন্য ডিভাইস বেছে নিতে চেকবক্সে ক্লিক করুন। বেছে নেওয়া ডিভাইসের সংখ্যার সাথে ম্যাচ করাতে শার্ডের সংখ্যা অটোমেটিক পরিবর্তন হয়ে যাওয়া উচিত।

ডিভাইস বেছে নিন

ছবি ১১. ডিভাইস বেছে নেওয়া।

ডিভাইস সিরিয়াল নম্বর ছাড়া অন্য অ্যাট্রিবিউট অনুযায়ী ডিভাইস বেছে নিতে, আপনি ম্যানুয়ালি "ডিভাইস স্পেক" লিখতে পারেন। যেমন, প্রোডাক্টের নাম "bramble" এমন ৩টি ডিভাইস বেছে নিতে, নিম্নলিখিত তথ্য লিখুন:

product:bramble;product:bramble;product:bramble

যেসব অ্যাট্রিবিউট কাজ করে সেগুলি হল:

  • build_id
  • device_serial
  • device_type
  • হোস্টনেম
  • প্রোডাক্ট
  • product_variant
  • sim_state

টেস্ট রান চালানোর জন্য বেছে নেওয়া সব ডিভাইসকে উপলভ্য স্ট্যাটাসে থাকতে হবে এবং টেস্ট রান চালানো হলে সেগুলি অ্যালোকেট করা স্ট্যাটাসে পরিবর্তিত হয়ে যাবে। ডিভাইস উপলভ্য হওয়ার জন্য অপেক্ষা করার সময় টেস্ট রান সারিভুক্ত অবস্থায় থাকে।

ডিভাইস অ্যাকশন যোগ করা

ডিভাইস অ্যাকশন হল স্ক্রিপ্ট যা প্রতিটি টেস্ট রান করার আগে এক্সিকিউট করা যেতে পারে। ফ্ল্যাশিং ও রিবুট করার মতো কিছু ডিভাইস অ্যাকশন আগে থেকেই কনফিগার করা থাকে। নতুন ডিভাইস অ্যাকশন তৈরি করতে, নতুন ডিভাইস অ্যাকশন তৈরি করুন দেখুন।

ডিভাইস ক্রিয়াগুলি

ছবি ১২. ডিভাইস অ্যাকশন।

টেস্ট রানে ডিভাইস অ্যাকশন যোগ করতে, নতুন অ্যাকশন যোগ করুন বিকল্পে ক্লিক করুন, যোগ করার জন্য অ্যাকশনের চেকবক্স বেছে নিন এবং অ্যাকশন যোগ করুন বিকল্পে ক্লিক করুন। ডিভাইস অ্যাকশন একটির পরে একটি করা হয়। অ্যাকশনগুলি টেনে এনে আপনি আবার সাজাতে পারবেন।

অ্যাকশন যোগ করা

ছবি ১৩. অ্যাকশন আবার সাজানো।

টেস্ট রিসোর্স সেট করা

টেস্ট রান চালানোর জন্য প্রয়োজনীয় ফাইল হল টেস্ট রিসোর্স। যেমন, CTS রান করার জন্য android-cts*.zip ফাইল প্রয়োজন এবং ডিভাইস ফ্ল্যাশ করার জন্য আপনাকে বিল্ড ইমেজ দিতে হবে।

টেস্ট স্যুটের জিপ ফাইলের ডাউনলোড URL ডিফল্ট হিসেবে পার্টনারদের দেওয়া Google Drive লিঙ্ক হতে হবে। ব্রাউজ করুন বিকল্পে ক্লিক করে আপনি অন্য ফাইল বেছে নিতে পারবেন। পপ-আপ উইন্ডোতে, আপনি ফাইল ডাউনলোড লিঙ্ক লিখতে, যাচাই করা বিল্ড চ্যানেল থেকে ফাইল ব্যবহার করতে অথবা লোকাল স্টোরেজ থেকে ব্যবহার করার জন্য ফাইল আপলোড করতে পারবেন।

টেস্ট রিসোর্স

ছবি ১৪. রিসোর্স পরীক্ষা করুন।

ওয়েব URL-এর মাধ্যমে টেস্ট রিসোর্স বেছে নেওয়ার জন্য পপ-আপ উইন্ডো নিচে দেওয়া হল। আপনি ডাউনলোড URL লিঙ্ক লিখতে পারেন এবং বেছে নেওয়া কনফার্ম করতে বেছে নিন বোতামে ক্লিক করতে পারেন।

টেস্ট রিসোর্স বাছাইকারী - ওয়েব URL

ছবি ১৫. Test Resource Selector - Web URL.

আপনি Google Drive, Google Cloud Storage (GCS) বা অন্যান্য চ্যানেলে রিসোর্স আপলোড করে থাকলে, নির্দিষ্ট চ্যানেলের ট্যাবে গিয়েও রিসোর্স বেছে নিতে পারবেন। Google Drive থেকে রিসোর্স বেছে নেওয়ার একটি উদাহরণ এখানে দেওয়া হল।

Test Resource Selector - Google Drive

ছবি ১৬. Test Resource Selector - Google Drive.

শুধু ফাইল বেছে নেওয়ার পাশাপাশি, ওয়াইল্ডকার্ড অক্ষরও ফাইলের নাম ফিল্ডে কাজ করে। ডকুমেন্টেশন এখানে পাওয়া যাবে।

টেস্ট রিসোর্স বাছাইকারী - ওয়াইল্ডকার্ড প্যাটার্ন সাপোর্ট

ছবি ১৭. টেস্ট রিসোর্স বাছাইকারী - ওয়াইল্ডকার্ড প্যাটার্ন কাজ করে।

এছাড়াও, আপনি OmniLab ATS-এর লোকাল ফাইল স্টোরেজ থেকে ফাইল বেছে নিতে পারবেন। আপনি এই স্টোরেজে ফাইল আপলোড করতে পারবেন অথবা সরাসরি লোকাল ফাইল ও ডিরেক্টরি ব্যবহার করতে পারবেন।

টেস্ট রিসোর্স বাছাইকারী - লোকাল ফাইল স্টোর

ছবি ১৮. টেস্ট রিসোর্স সিলেক্টর - লোকাল ফাইল স্টোর।

আবার চালানোর কনফিগারেশন যোগ করা

আপনি এমন রিরান শিডিউল করতে পারেন যা প্রাথমিক রান সম্পূর্ণ হওয়ার পরে শুরু হয় এবং এর ফলাফল লোড করে, তবে আলাদা ডিভাইস, অ্যাকশন বা রিসোর্স ব্যবহার করতে পারে।

আবার চালানোর কনফিগারেশন যোগ করুন

ছবি ১৯. আবার রান করার কনফিগারেশন যোগ করা হচ্ছে।

টেস্ট রান শুরু করা

টেস্ট রান করার জন্য প্রয়োজনীয় তথ্য যোগ করার পরে, টেস্ট রান করুন বিকল্পে ক্লিক করুন। সব তথ্য সঠিক হলে, টেস্ট রান শুরু হয় এবং টেস্ট রানের বিবরণ ও অগ্রগতি দেখতে আপনাকে একটি পৃষ্ঠায় রিডাইরেক্ট করা হয়।

টেস্ট রান শুরু করুন

ছবি ২০. টেস্ট রান শুরু করা হচ্ছে।

টেস্ট প্ল্যান তৈরি করা

পর্যায়ক্রমিক শিডিউল অনুযায়ী টেস্ট রান তৈরি করতে টেস্ট প্ল্যান ব্যবহার করা হয়। যেমন, প্রতিদিন বিকেল ৫টায় CTS 9.0 রান করা। নতুন টেস্ট প্ল্যান তৈরি করতে, নতুন টেস্ট প্ল্যান তৈরি করুন বিকল্পে ক্লিক করুন।

টেস্ট প্ল্যান তৈরি করা

ছবি ২১. পরীক্ষার প্ল্যান তৈরি করা হচ্ছে।

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

টেস্ট প্ল্যানের নাম ও আপনি যে লেবেল যোগ করতে চান তা লিখুন। তারপর, ব্যবহার করার জন্য শিডিউল বেছে নিন।

  • ম্যানুয়াল - ব্যবহারকারী টেস্ট প্ল্যান তালিকার পৃষ্ঠায় টেস্ট প্ল্যান রান করুন বিকল্পে ক্লিক করলে তবেই টেস্ট প্ল্যান টেস্ট রান তৈরি করে।
  • পিরিয়ডিক - বেছে নেওয়া পিরিয়ডিক শিডিউল অনুযায়ী টেস্ট প্ল্যান অটোমেটিক টেস্ট রান শিডিউল করে। যেমন, প্রতিদিন বিকেল ৫:০০টায় টেস্ট রান শিডিউল করা।
  • কাস্টম - টেস্ট প্ল্যানে লেখা ক্রন এক্সপ্রেশন অনুযায়ী টেস্ট রান অটোমেটিক শিডিউল করা হয়। যেমন, প্রতিদিন বিকেল ৫:০০টায় টেস্ট রান শিডিউল করতে, ক্রন এক্সপ্রেশন হল 0 17 * * *।

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

ছবি ২২. টেস্ট প্ল্যান কনফিগার করা হচ্ছে।

টেস্ট স্যুট যোগ করা

টেস্ট প্ল্যানের মাধ্যমে শিডিউল করতে চান এমন টেস্ট স্যুট যোগ করতে, + টেস্ট রান কনফিগারেশন যোগ করুন বিকল্পে ক্লিক করুন। নাম ড্রপডাউন থেকে একটি টেস্ট স্যুট বেছে নিন এবং পরবর্তী ধাপ বিকল্পে ক্লিক করুন। তারপর, আপনি যে ডিভাইসে টেস্ট চালাতে চান সেটি বেছে নিন এবং কনফিগারেশন যোগ করুন বিকল্পে ক্লিক করুন। আপনি প্রতিটি টেস্ট প্ল্যানের জন্য একাধিক কনফিগারেশন যোগ করতে পারবেন।

টেস্ট রান কনফিগার করা

ছবি ২৩. টেস্ট রান কনফিগার করা।

ডিভাইস অ্যাকশন যোগ করা

প্রতিটি টেস্ট রান করার আগে আপনি যেসব ডিভাইস অ্যাকশন এক্সিকিউট করতে চান সেগুলি যোগ করুন। আরও বিবরণের জন্য ডিভাইস অ্যাকশন যোগ করা দেখুন।

ডিভাইস অ্যাকশন যোগ করা

ছবি ২৪. ডিভাইস অ্যাকশন যোগ করা হচ্ছে।

টেস্ট রিসোর্স সেট করুন

টেস্ট প্ল্যানে টেস্ট রিসোর্স যোগ করা এবং স্বতন্ত্র টেস্ট রানে যোগ করা একই। আরও বিবরণের জন্য টেস্ট রিসোর্স সেট করা দেখুন।

টেস্ট রিসোর্স সেট করা

ছবি ২৫. টেস্ট রিসোর্স সেট করা হচ্ছে।

টেস্ট রান দেখুন

টেস্ট রান তালিকা

'টেস্ট রান' পৃষ্ঠায় শিডিউল করা টেস্ট রানের তালিকা দেখুন। টেস্ট রান সম্পর্কে আরও বিবরণ দেখতে দেখুন বিকল্পে ক্লিক করুন।

এছাড়াও, ফিল্টার বারে স্ট্রিং লিখে এবং Enter কী প্রেস করে আপনি তালিকা ফিল্টার করতে পারবেন। আপনি একাধিক ফিল্টার ব্যবহার করতে পারেন, তবে সেগুলি কমা দিয়ে আলাদা করতে হবে। স্ট্যাটাস ও তৈরি করা হয়েছে কলাম বাদ দিয়ে, যেকোনও কলামে হুবহু টেক্সট (কোনও সাবস্ট্রিং ম্যাচিং নয়) আছে এমন সব সারি ফিল্টার রিটার্ন করে।

খালি ফিল্টার সব সারি রিটার্ন করে। বর্তমানে ফাঁকা মান সহ সারি ফিল্টার করার কোনও উপায় নেই।

টেস্ট রান তালিকা

ছবি ২৬. টেস্ট রান তালিকা।

টেস্ট রান সংক্রান্ত বিবরণ

আপনি এখান থেকে টেস্ট রান সংক্রান্ত বিবরণ দেখতে পাবেন, যেমন স্ট্যাটাস, লগ ও ফলাফল।

টেস্ট রানের বিবরণ

ছবি ২৭. টেস্ট রান সংক্রান্ত বিবরণ।

টেস্ট রানের স্ট্যাটাস

স্ট্যাটাস বিভাগে টেস্ট রান সংক্রান্ত অগ্রগতি দেখানো হয়। ডাউনলোড প্রগ্রেস, বাতিল করার কারণ বা ত্রুটি মেসেজের মতো কোনও সম্পর্কিত মেসেজ থাকলে, সেটিও এখানে দেখানো হয়।

টেস্ট রান স্ট্যাটাস

ছবি ২৮. টেস্ট রানের স্ট্যাটাস।

টেস্ট রানের স্ট্যাটাসগুলি হল:

  • বাকি আছে - প্রয়োজনীয় রিসোর্স ডাউনলোড করা হচ্ছে।
  • সারিভুক্ত - কোনও ডিভাইস উপলভ্য হলে পরীক্ষা চালানোর জন্য রেডি থাকে।
  • চলছে - কোনও ডিভাইসে টেস্ট চলছে।
  • সম্পূর্ণ হয়েছে - পরীক্ষাটি সম্পূর্ণ হয়েছে এবং এর ফলাফল রিপোর্ট করা হয়েছে।
  • বাতিল করা হয়েছে - ব্যবহারকারী টেস্ট বাতিল করেছেন অথবা উপলভ্য ডিভাইস খোঁজার সময় টাইম-আউট হয়ে গেছে।
  • সমস্যা - একটি সমস্যার কারণে টেস্ট রান করা যায়নি।

টেস্ট রান বাতিল করা

টেস্ট রান সম্পূর্ণ না হয়ে থাকলে, আপনি বাতিল করুন বিকল্পে ক্লিক করে সেটি বাতিল করতে পারেন এবং তারপর কনফার্মেশন ডায়ালগে হ্যাঁ বিকল্পে ক্লিক করুন। এছাড়াও, টেস্ট রান যদি সারিভুক্ত অবস্থায় queue_timeout_seconds ফিল্ডের থেকে বেশি সময় ধরে থাকে, তাহলে সেটি অটোমেটিক বাতিল হয়ে যায়। চলমান অবস্থায় টেস্ট রান বাতিল করলে প্রভাবিত হতে কয়েক মিনিট সময় লাগতে পারে।

টেস্ট রান বাতিল করা

ছবি ২৯. টেস্ট রান বাতিল করা হচ্ছে।

টেস্ট রান ফলাফল

টেস্ট রান শেষ হওয়ার পরে, ফলাফল সংগ্রহ করে দেখানো হয়। প্রতিটি রান-এর জন্য তীরচিহ্নে ক্লিক করে আপনি অতিরিক্ত বিবরণ দেখতে পারবেন। আউটপুট দেখুন ফাইল বিকল্পে ক্লিক করে test_result.xml ও test_result_failures.html-এর মতো সংগ্রহ করা টেস্ট আর্টিফ্যাক্ট দেখুন।

টেস্ট রান ফলাফল

ছবি ৩০. টেস্ট রান ফলাফল।

আপনি 'লগ' ট্যাবে লাইভ হোস্ট ও Tradefed লগ দেখতে পাবেন।

টেস্ট রান লগ

ছবি ৩১. লগ ট্যাব।

আলাদা আলাদা মডিউলের ফলাফল 'পরীক্ষার ফলাফল' ট্যাবে দেখানো হয়।

টেস্টের ফলাফল ট্যাব

ছবি ৩২. 'পরীক্ষার ফলাফল' ট্যাব।

পরীক্ষার রিসোর্স হিসেবে ব্যবহৃত ফাইলগুলি ডাউনলোড করতে, পরীক্ষার রিসোর্স ট্যাবে গিয়ে খুলুন বিকল্পে ক্লিক করুন।

টেস্ট রিসোর্স ট্যাব

ছবি ৩৩. টেস্ট রিসোর্স ট্যাব।

create_time-এর মতো টেস্ট রান সংক্রান্ত বিবরণ দেখতে, 'কনফিগার' ট্যাবে যান।

টেস্ট কনফিগ ট্যাব

ছবি ৩৪. কনফিগারেশন ট্যাব।

উন্নত ফিচার

কনফিগারেশন ফাইল ম্যানেজ করা

OmniLab ATS, YAML-এ লেখা কনফিগারেশন ফাইল ব্যবহার করে টেস্ট, বিল্ড চ্যানেল ও ডিভাইস অ্যাকশনের মতো আগে থেকে সংজ্ঞায়িত বিকল্প লোড করে। এখানে কনফিগারেশন ফাইলের একটি উদাহরণ দেওয়া হল:

// example_file.yaml
tests:
- id : android.cts.9_0.arm
  name: CTS 9.0 (ARM)
  test_resource_defs:
  - name: android-cts.zip
    default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
    test_resource_type: TEST_PACKAGE
  command: cts
  env_vars:
  - name: TF_PATH
    value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
  - name: LD_LIBRARY_PATH
    value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
  setup_scripts:
  output_file_patterns:
  - android-cts/logs/latest/.*
  - android-cts/results/latest/.*\.html
  - android-cts/results/latest/compatibility_result\..*
  - android-cts/results/latest/logo.png
  - android-cts/results/latest/test_result.xml
  result_file: test_result.xml
  java_properties:
  - name: CTS_ROOT
    value: ${TF_WORK_DIR}
  context_file_dir: android-cts/results/
  context_file_pattern: '[\d_\.]+\.zip'
  retry_command_line: retry --retry 0
  runner_sharding_args: --shard-count ${TF_SHARD_COUNT}

build_channels:
- id: google_drive
  name: Google Drive
  provider_name: Google Drive

device_actions:
- id: flash
  name: Flash
  test_resource_defs:
  - name: bootloader.img
    test_resource_type: DEVICE_IMAGE
  - name: radio.img
    test_resource_type: DEVICE_IMAGE
  - name: img.zip
    test_resource_type: DEVICE_IMAGE
  tradefed_target_preparers:
  - class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
    option_values:
    - name: work-dir
      values:
      - ${TF_WORK_DIR}
    - name: host-setup-command
      values:
      - adb -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL flash bootloader bootloader.img
      - fastboot -s $SERIAL flash radio radio.img
      - fastboot -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL -w update img.zip
      - adb -s $SERIAL wait-for-device
    - name: host-cmd-timeout
      values:
      - 10m

আপনি OmniLab ATS ইনস্ট্যান্স সেট-আপ করার সময়, ফাইল হিসেবে এক্সপোর্ট করে অন্যান্য ব্যবহারকারীদের সাথে আপনার কনফিগারেশন শেয়ার করতে পারবেন। এটি করতে, সেটিংস পৃষ্ঠায় যান এবং উপরে ডানদিকে এক্সপোর্ট করুন বিকল্পে ক্লিক করুন।

কনফিগারেশন ফাইল ম্যানেজমেন্ট

ছবি ৩৫. কনফিগারেশন ফাইল ম্যানেজমেন্ট।

আপনার কনফিগারেশন ফাইল ডাউনলোড হয়ে গেলে, অন্যান্য ব্যবহারকারীর সাথে ফাইলটি শেয়ার করুন। তারা OmniLab ATS ইনস্ট্যান্সে কনফিগারেশন ফাইল যোগ করতে, ইমপোর্ট করুন বিকল্পে ক্লিক করে কনফিগারেশন ফাইল বেছে নিতে পারবেন।

নতুন ডিভাইস অ্যাকশন তৈরি করা

ডিভাইস সেট-আপ প্রসেস অটোমেট করার জন্য ডিভাইস অ্যাকশন ব্যবহার করা হয়। অ্যাকশন হল প্রতিটি টেস্ট রান করার আগে, টেস্ট যে ডিভাইসে রান করছে সেটিতে এক্সিকিউট করা স্ক্রিপ্ট, এর মধ্যে আবার চেষ্টা করার আগে অন্তর্ভুক্ত। উপলভ্য ডিভাইস অ্যাকশনের তালিকা দেখতে, সেটিংস পৃষ্ঠায় যান এবং ডিভাইস অ্যাকশন ট্যাবে ক্লিক করুন। রিবুট করা ও ফ্ল্যাশিংয়ের মতো বেশ কিছু ডিভাইস অ্যাকশন আগে থেকেই কনফিগার করা থাকে।

ডিভাইস অ্যাকশন ট্যাব

ছবি ৩৬. ডিভাইস অ্যাকশন ট্যাব।

নতুন ডিভাইস অ্যাকশন যোগ করুন

  1. নতুন ডিভাইস অ্যাকশন বিকল্পে ক্লিক করুন।

    নতুন ডিভাইস অ্যাকশন বোতাম

    ছবি ৩৭. নতুন ডিভাইসের অ্যাকশন বোতাম।

  2. নাম ও বিবরণ লিখুন।

    ডিভাইস অ্যাকশনের নাম

    ছবি ৩৮. ডিভাইস অ্যাকশনের নাম।

  3. টার্গেট প্রিপেয়ারার যোগ করুন বিকল্পে ক্লিক করুন।

  4. ট্রেড ফেডারেশন টার্গেট লিখুন প্রিপেয়ারারের সম্পূর্ণ ক্লাসের নাম, যেমন, com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    টার্গেট প্রিপেয়ারার যোগ করুন

    ছবি ৩৯. টার্গেট প্রস্তুতকারী যোগ করা হচ্ছে।

    উপলভ্য টার্গেট প্রিপেয়ারারের তালিকা com.android.tradefed.targetprep রেফারেন্সে পাওয়া যাবে।

    টার্গেট প্রিপেয়ারারের তালিকা

    ছবি ৪০. টার্গেট প্রস্তুতকারীর তালিকা।

  5. টার্গেট প্রস্তুতকারীর সাথে ব্যবহার করার জন্য যেকোনও বিকল্প যোগ করুন। উপলভ্য বিকল্প দেখতে, AOSP-তে প্রতিটি টার্গেট প্রিপেয়ারের সোর্স কোডের জন্য targetprep চেক করুন:

    অ্যাকশন বিকল্পের উদাহরণ

    ছবি ৪১. অ্যাকশন বিকল্পের উদাহরণ।

  6. বিকল্প যোগ করতে, টার্গেট প্রিপেয়ারার বিকল্প যোগ করুন বিকল্পে ক্লিক করুন এবং প্রয়োজনীয় ভ্যালু লিখুন।

    অ্যাকশন কমান্ডের উদাহরণ

    ছবি ৪২. অ্যাকশন কমান্ডের উদাহরণ।

  7. ডিভাইস অ্যাকশন এক্সিকিউট করার জন্য প্রয়োজনীয় টেস্ট রিসোর্সকে সংজ্ঞায়িত করুন, যেমন ফ্ল্যাশিংয়ের জন্য বিল্ড ইমেজ। রিসোর্স সংজ্ঞা যোগ করতে, টেস্ট রিসোর্স যোগ করুন বিকল্পে ক্লিক করুন এবং প্রয়োজনীয় ফিল্ড পূরণ করুন। আপনার ফাইল কোথায় আছে তা জানলে, আপনি ব্রাউজ করুন বিকল্পে ক্লিক করে একটি ডিফল্ট ডাউনলোড URL দিতে পারবেন। টার্গেট প্রিপেয়ারার যদি ডিরেক্টরিকে টেস্ট রিসোর্স হিসেবে গ্রহণ করেন, তাহলে ডিকম্প্রেস করুন বিকল্প বেছে নিন। তারপরে, সাময়িক ওয়ার্কিং ডিরেক্টরির অধীনে আপেক্ষিক ডেস্টিনেশন ডিরেক্টরি এবং ডিকম্প্রেস করা হবে এমন ফাইলের নাম উল্লেখ করুন। কোনও ফাইলের নাম না দেওয়া থাকলে, টেস্ট রিসোর্স থেকে সব ফাইল ডিকম্প্রেস করা হয়।

    অ্যাকশন টেস্ট রিসোর্স

    ছবি ৪৩. অ্যাকশন টেস্ট রিসোর্স।

  8. আপডেট করুন বিকল্পে ক্লিক করুন।

    অ্যাকশন পরিবর্তন সেভ করুন

    ছবি ৪৪. অ্যাকশন পরিবর্তন সেভ করুন।

পরীক্ষা ম্যানেজ করুন

পরীক্ষা এডিট করা

সেভ করা টেস্ট এডিট করতে, 'টেস্ট' পৃষ্ঠায় যান এবং আপনি যে টেস্ট পরিবর্তন করতে চান সেটির সারিতে এডিট করুন বিকল্পে ক্লিক করুন। টেস্ট কনফিগারেশন পরিবর্তন করার পরে, আপডেট করুন বিকল্পে ক্লিক করুন।

পরীক্ষা এডিট করা

ছবি ৪৫. টেস্ট এডিট করা।

নতুন টেস্ট যোগ করা

নতুন পরীক্ষা যোগ করতে, পরীক্ষা পৃষ্ঠায় যান এবং নতুন পরীক্ষা তৈরি করুন বিকল্পে ক্লিক করুন। সঠিক তথ্য লিখুন এবং তৈরি করুন বিকল্পে ক্লিক করুন।

টেস্ট তৈরি করা

ছবি ৪৬. টেস্ট তৈরি করা হচ্ছে।

টেস্ট কপি করা

ছবি ৪৭. টেস্ট কপি করা।

হোস্ট কনফিগারেশন এক্সপোর্ট করুন

আপনি কোনও হোস্ট কনফিগার করার পরে, হোস্টের কনফিগারেশন একটি ফাইলে এক্সপোর্ট করতে পারবেন। সেভ করা কনফিগারেশন কপি করতে আপনি এই ফাইলটি অন্য হোস্টে আপলোড করতে পারেন।

হোস্টের কনফিগারেশন এক্সপোর্ট করতে, সেটিংস পৃষ্ঠায় যান এবং উপরে ডানদিকের কোণে এক্সপোর্ট করুন বিকল্পে ক্লিক করুন।

হোস্ট কনফিগারেশন এক্সপোর্ট করা হচ্ছে

ছবি ৪৮. হোস্ট কনফিগারেশন এক্সপোর্ট করা।

হোস্ট কনফিগারেশন ফাইল ইমপোর্ট করতে, সেটিংস পৃষ্ঠায় যান এবং উপরে ডানদিকের কোণে থাকা ইমপোর্ট করুন বিকল্পে ক্লিক করুন।

হোস্ট কনফিগারেশন ইমপোর্ট করা হচ্ছে

ছবি ৪৯. হোস্ট কনফিগারেশন ইমপোর্ট করা হচ্ছে।

স্থানীয় ফাইল ও ডিরেক্টরি ব্যবহার করুন

R11 ভার্সন থেকে শুরু করে, $HOME/.ats_storage ডিরেক্টরিতে থাকা ফাইলগুলি OmniLab ATS-এ অটোমেটিক অ্যাক্সেস করা যায়। সেই ডিরেক্টরিতে কোনও ফাইল কপি করুন বা সরান, তারপর কোনও টেস্ট রান শিডিউল করার সময় স্থানীয় ফাইল ট্যাব থেকে সেটি বেছে নিতে পারবেন।

cp /path/to/file $HOME/.ats_storage

লোকাল ফাইল বেছে নেওয়া

ছবি ৫০. $HOME/.ats_storage ডিরেক্টরি থেকে ফাইল বেছে নেওয়া হচ্ছে।

--mount_local_path ফ্ল্যাগ ব্যবহার করে আপনি স্থানীয় ফাইল স্টোরে অতিরিক্ত ডিরেক্টরি মাউন্ট করতে পারবেন।

mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2

অতিরিক্ত মাউন্ট করা ডিরেক্টরি

ছবি ৫১. লোকাল ফাইল স্টোরে মাউন্ট করা অতিরিক্ত ডিরেক্টরি।

মাল্টি-হোস্ট মোড চালু করা

মাল্টি-হোস্ট মোডের সাহায্যে, ব্যবহারকারীরা একাধিক ATS ওয়ার্কার হোস্টের ডিভাইস ও টেস্ট ম্যানেজ করার জন্য একটি ATS কন্ট্রোলার হোস্ট ব্যবহার করতে পারবেন।

মাল্টি-হোস্ট মোড আর্কিটেকচার

ছবি ৫২. মাল্টি-হোস্ট মোড আর্কিটেকচার।

  1. ATS কন্ট্রোলার চালু করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:

    mtt start --operation_mode=ON_PREMISE
    
  2. http://${CONTROLLER_HOSTNAME}:8000-এ কন্ট্রোলার অ্যাক্সেস করা যাচ্ছে কিনা চেক করুন।

  3. ওয়ার্কার শুরু করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:

    mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
    

আপনার নেটওয়ার্ক হোস্টদের একে অপরের সাথে যোগাযোগ করতে না দিলে, ATS ওয়ার্কারে আপনাকে নিচে দেওয়া আরও উন্নত সেট-আপ সংক্রান্ত নির্দেশাবলী অনুসরণ করতে হবে।

  1. SSH টানেল ব্যবহার করে দুটি হোস্ট কানেক্ট করুন। প্রাইমারি ও ফাইল সার্ভার পোর্টের জন্য পোর্ট বেছে নিন, যেমন, ৯০০০ ও ৯০০৬।

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. ATS কনফিগার করে চালু করুন।

    DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')
    socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &
    socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &
    mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \
                    --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \
                    --operation_mode=ON_PREMISE
    

ফাইল ক্লিনার

ফাইল ক্লিনার হল একটি ক্রন জব যা ব্যবহারকারীর সংজ্ঞায়িত কনফিগারেশনের উপর ভিত্তি করে ফাইল পরিষ্কার করতে প্রতি ঘণ্টায় চলে। ATS-এ টেস্ট রান ফলাফল আর্কাইভ করা এবং অস্থায়ী ফাইল মুছে দেওয়ার জন্য দুটি ডিফল্ট কনফিগারেশন আছে। আপনার ফাইলগুলি কার্যকরভাবে ম্যানেজ করতে, কীভাবে নীতি ও কনফিগারেশন কাস্টমাইজ করবেন তা এই নির্দেশিকা থেকে জানতে পারবেন।

নীতি

নীতিতে ফাইল বা ডিরেক্টরির উপর কী অপারেশন পারফর্ম করা হবে এবং টার্গেট বেছে নেওয়ার মাপকাঠি উল্লেখ করা থাকে। উপলভ্য অপারেশনগুলি সারণীতে দেখানো হয়েছে:

অপারেশনের ধরনপ্যারামিটার
ARCHIVEremove_file: true হলে, আর্কাইভ করার পরে ফাইলটি সরিয়ে দিন।
DELETE

ফাইলের অ্যাট্রিবিউট ও সিস্টেম তথ্যের উপর ভিত্তি করে মানদণ্ড তৈরি করা হয়। টেবিলে উপলভ্য মাপকাঠি দেখানো হয়েছে:

মাপকাঠির ধরনবর্ণনাপ্যারামিটার
LAST_MODIFIED_TIMEশেষবার পরিবর্তন করা তারিখ ও সময় অনুযায়ী ফাইল ফিল্টার করুন।ttl: বিভিন্ন ধরনের সময়ের এক্সপ্রেশন কাজ করে, যেমন, 10m, 2h, 7 days, 4w। কোন ফর্ম্যাট কাজ করবে তা জানতে pytimeparse দেখুন।
LAST_ACCESS_TIMEশেষবার অ্যাক্সেস করার তারিখ ও সময় অনুযায়ী ফাইল ফিল্টার করুন।LAST_MODIFIED_TIME-এর মতো।
NAME_MATCHরেগুলার এক্সপ্রেশন ব্যবহার করে ফাইলের নামের ভিত্তিতে ফাইল ফিল্টার করুন।pattern: রেগুলার এক্সপ্রেশন, যেমন, [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip, যাতে ফলাফল zip-এর সাথে ম্যাচ করে।
SYSTEM_AVAILABLE_SPACEসিস্টেমে উপলভ্য স্পেসের উপর ভিত্তি করে অ্যাকশন ট্রিগার করা।threshold: উপলভ্য স্পেস থ্রেশহোল্ডের নিচে নেমে গেলে অ্যাকশন ট্রিগার করুন, যেমন, 200(B), 200KB, 200MB, 200GB, 2TB.

ফাইল ক্লিনার সংক্রান্ত নতুন নীতি

ছবি ৫৩. নতুন ফাইল ক্লিনার নীতি যোগ করুন।

কনফিগারেশন

কনফিগারেশন নির্দিষ্ট ডিরেক্টরির সাথে এক বা একাধিক নীতিকে একত্রিত করে। নির্দিষ্ট ডিরেক্টরির মধ্যে থাকা ফাইল ও ডিরেক্টরি, সংজ্ঞায়িত নীতি অনুযায়ী প্রসেস করা হয়। কনফিগারেশনে যেভাবে দেখানো হয় সেই ক্রম অনুযায়ী নীতি প্রয়োগ করা হয়।

সব টার্গেট ডিরেক্টরিকে অবশ্যই /data ডিরেক্টরির মধ্যে থাকতে হবে। আপনার config-এ টার্গেট ডিরেক্টরি logs হিসেবে উল্লেখ করা থাকলে, এটি /data/logs হিসেবে ব্যাখ্যা করা হয়।

ফাইল ক্লিনার কনফিগারেশন এডিট করা

ছবি ৫৪. ফাইল ক্লিনার কনফিগারেশন এডিট করুন।

রিসেট করুন

সেটিংস রিসেট করুন বিকল্পে ক্লিক করলে, ফাইল ক্লিনার কনফিগারেশন তার ডিফল্ট অবস্থায় ফিরে যায়। এই অ্যাকশন সব কাস্টম আইটেম মুছে দেয়।

ফাইল ক্লিনার সেটিংস রিসেট করা

ছবি ৫৫. ফাইল ক্লিনার সেটিংস রিসেট করুন।

সহায়তা

সমস্যার রিপোর্ট

OmniLab ATS-এ আপনার কন্ট্রিবিউশন টুলের ডেভেলপমেন্ট উন্নত করতে সাহায্য করে এবং আমরা আপনার ইনপুট চাই! লেটেস্ট রিলিজের বিবরণ জানতে OmniLab ATS রিলিজ নোট দেখুন। বাগ সম্পর্কে অভিযোগ জানাতে বা সাজেশন দিতে, বাগ রিপোর্ট ফাইল করুন। পার্টনারদের উচিত তাদের পার্টনার চ্যানেল ব্যবহার করে বাগ বা পরামর্শ সম্পর্কে অভিযোগ জানানো।