ক্যামেরা আইটিএস ফোল্ডেবল টেস্টিং

অ্যান্ড্রয়েড 13 থেকে, ক্যামেরা আইটিএসে ভাঁজযোগ্য ডিভাইসগুলির জন্য পরীক্ষা সমর্থন অন্তর্ভুক্ত রয়েছে। ভাঁজ করা যায় এমন ডিভাইসগুলিতে এমন ক্যামেরা রয়েছে যা ডিভাইসটি ভাঁজ করা বা খোলা অবস্থায় আছে কিনা তার উপর নির্ভর করে উপলব্ধ বা অনুপলব্ধ।

ক্যামেরা আইডিগুলি ডিভাইসের ধরন, মডেল এবং ব্র্যান্ডের উপর নির্ভর করে পরিবর্তিত হয়; এবং ফিজিক্যাল ফ্রন্ট ক্যামেরার প্রাপ্যতা রাজ্যের উপর নির্ভর করে পরিবর্তিত হয়। এই কারণে, ক্যামেরা আইটিএস গতিশীলভাবে পরীক্ষার জন্য ব্যবহার করার জন্য দৃশ্য এবং ক্যামেরা সমন্বয় নির্ধারণ করে। যেহেতু ক্যামেরাগুলিকে ভাঁজ করা এবং উন্মোচিত উভয় অবস্থায় পরীক্ষা করা দরকার, ফোল্ডেবল পরীক্ষার জন্য পরীক্ষার প্রক্রিয়া চলাকালীন DUT পুনরায় মাউন্ট করা প্রয়োজন।

সামনে এবং পিছনে ক্যামেরা পরীক্ষা

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

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

নিম্নলিখিত সারণী প্রতিটি ক্যামেরা অভিযোজনের জন্য ক্যামেরা ITS পরীক্ষার আচরণ বর্ণনা করে।

ক্যামেরা ওরিয়েন্টেশন ক্যামেরা আইটিএস পরীক্ষার আচরণ
পেছনের ক্যামেরা ভাঁজ করা বা খোলা অবস্থায় ক্যামেরা একবার পরীক্ষা করে
প্রাথমিক সামনের ক্যামেরা ক্যামেরা একবার ভাঁজ অবস্থায় এবং একবার খোলা অবস্থায় পরীক্ষা করে।
শারীরিক সামনের ক্যামেরা ক্যামেরাটি শুধুমাত্র সেই সব রাজ্যে পরীক্ষা করে যেখানে ক্যামেরা পাওয়া যায়।

পরীক্ষা পদ্ধতি

এই বিভাগে ফোল্ডেবল ডিভাইসের জন্য ক্যামেরা পরীক্ষা করার ধাপগুলি বর্ণনা করা হয়েছে।

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

সেটআপ তথ্যের জন্য, সেটআপ দেখুন।

পরীক্ষা API অ্যাক্সেস মঞ্জুর করুন

ক্যামেরা আইটিএসের জন্য ডিভাইসটি ভাঁজ করা যায় কিনা তা নির্ধারণ করার জন্য, আপনাকে পরীক্ষা করার আগে পরীক্ষার API অ্যাক্সেস দিতে হবে। যদি অ্যাক্সেস না দেওয়া হয়, ক্যামেরা ITS পরীক্ষা চালানোর ফলে অ্যাপ ক্র্যাশ হয়ে যায়।

অ্যাক্সেস মঞ্জুর করতে, নিম্নলিখিত ADB কমান্ডটি চালান। এই কমান্ডটি একটি একক ডিভাইসের জন্য একবার চালানো প্রয়োজন। যদি CTS ভেরিফায়ার একটি ভিন্ন সংস্করণের সাথে পুনরায় ইনস্টল করা হয়, তাহলে আপনাকে আবার কমান্ডটি চালাতে হবে।

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier

কনফিগারেশন ফাইল

ডিভাইসটি একটি ভাঁজযোগ্য ডিভাইস তা নির্দিষ্ট করতে, config.yml ফাইলে tablet এবং sensor_fusion টেস্টবেড উভয়েই foldable_device প্যারামিটার যোগ করুন। ক্যামেরা আইটিএস এই প্যারামিটারটি ব্যবহার করে camera_id এবং দৃশ্যের সংমিশ্রণগুলিকে ভাঁজ করা এবং প্রকাশ করা অবস্থার জন্য।

নিম্নলিখিতটি একটি ভাঁজযোগ্য ডিভাইসের জন্য একটি config.yml ফাইলের একটি উদাহরণ।

TestBeds:
  - Name: TABLET_SCENES
    # Test configuration for scenes[0:4, 6]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"     # "quotes" needed
      chart_loc_arg: ""
      camera: 0
      scene: scene2_a
  lighting_cntl: arduino    # can be "arduino" or "None"
  lighting_ch: 1
  foldable_device: "True"     # "False" for non-foldable DUTs

পরীক্ষা চালান

একটি ভাঁজযোগ্য ডিভাইসে আইটিএস পরীক্ষা চালানোর জন্য, run_all_tests.py কমান্ডটি চালান। বিস্তারিত জানার জন্য দেখুন, ইনভোকিং টেস্ট

ভাঁজযোগ্য ডিভাইসে ক্যামেরা আইটিএস চালানোর সময়, প্রাথমিক সামনের ক্যামেরাটি ভাঁজ করা এবং প্রকাশ করা উভয় অবস্থায় পরীক্ষা করা হয়। ডিভাইসটি ভাঁজ করা থাকলে, CTS ভেরিফায়ার অ্যাপের camera1_ SCENE_NAME _folded বিকল্পের অধীনে ফলাফল প্রদর্শিত হয়। ডিভাইসের অবস্থার উপর নির্ভর করে, কিছু ফ্রন্ট ফিজিক্যাল ক্যামেরা আইডি অনুপলব্ধ এবং পরীক্ষা করা হয় না। পিছনের ক্যামেরাটি শুধুমাত্র একটি অবস্থায় পরীক্ষা করা প্রয়োজন, বিশেষত ভাঁজ অবস্থায়, এবং পিছনের ক্যামেরার ফলাফলে _folded প্রত্যয় নেই।

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

adb shell cmd device_state state

ভাঁজ করা অবস্থায় পরীক্ষা চালানোর সময়, ক্যামেরা ITS টার্মিনালে একটি বার্তা প্রদর্শন করে যাতে ব্যবহারকারীকে ITS বক্সে ডিভাইসটি সঠিকভাবে সেট আপ করার অনুরোধ জানায়। প্রম্পটের পরে পরীক্ষা চালানো চালিয়ে যেতে, এন্টার টিপুন।

আপনি যদি সমস্ত দৃশ্যগুলি ভাঁজ করা এবং উন্মোচিত উভয় অবস্থায় চালান, তাহলে ভাঁজ করা দৃশ্যগুলি প্রথমে কার্যকর করা হয়, তারপরে খোলা দৃশ্যগুলি অনুসরণ করা হয়৷ এটি পরীক্ষার সময় প্রয়োজনীয় রিমাউন্টিংয়ের পরিমাণ কমিয়ে দেয়।

ক্যামেরা আইটিএস ভাঁজ করা রাজ্যের দৃশ্যের জন্য তৈরি করা tmp ডিরেক্টরিতে folded প্রত্যয় যোগ করে।

নমুনা আদেশ

ভাঁজযোগ্য ডিভাইসে পরীক্ষা সম্পাদনের জন্য নিম্নোক্ত নমুনা কমান্ড।

আদেশ বর্ণনা
python tools/run_all_tests.py সব দৃশ্য চালায়।
python tools/run_all_tests.py scenes=scene0 দৃশ্য 0 রান. যদি ডিভাইসটি ভাঁজ করা থাকে এবং ব্যবহারকারী প্রাথমিক সামনের ক্যামেরা পরীক্ষা করছেন, স্ক্রিপ্টটি ডিভাইসের অবস্থা নির্ধারণ করে এবং দৃশ্যের নামের সাথে _folded প্রত্যয় যোগ করে। ভাঁজ করা দৃশ্যগুলি চালানোর জন্য ব্যবহারকারীদের প্রত্যয় যোগ করতে হবে না।
python tests/scene0/ -c config.yml python tests/scene0/ -c config.yml একটি নির্দিষ্ট পরীক্ষা চালায়।