حالت های دستگاه در Tradefed

دستگاه‌های اندروید

دستگاه‌های اندروید در Tradefed می‌توانند از چندین حالت که از طریق Device Manager در دسترس هستند، عبور کنند. دو دسته اصلی از حالت‌ها برای دستگاه‌های اندروید وجود دارد: حالت تخصیص (Allocation state) و حالت آنلاین (Online state).

همه این حالت‌ها را می‌توان در کنسول Tradefed با استفاده از ld یا list devices بررسی کرد.

tf >l d
Serial        State         Allocation   Product   Variant   Build    Battery
84TX0081B     ONLINE        Available    blueline  blueline  MASTER   100
HT6550300002  ONLINE        Available    sailfish  sailfish  MASTER   94
876X00GNG     UNAUTHORIZED  Unavailable  unknown   unknown   unknown  unknown
HT6570300047  UNAUTHORIZED  Unavailable  unknown   unknown   unknown  unknown

حالت‌های تخصیص

وضعیت‌های تخصیص، وضعیت‌های خاص Tradefed برای نظارت بر استفاده از دستگاه هستند. آن‌ها توسط DeviceAllocationState توصیف می‌شوند و می‌توانند هر یک از موارد زیر باشند:

  • ناشناخته: یک حالت میانی که در طول انتقال‌ها برای تصمیم‌گیری در مورد حذف دستگاه از لیست ردیابی استفاده می‌شود. این اتفاق زمانی می‌افتد که اتصال دستگاه از adb قطع شود.
  • نادیده گرفته شد: دستگاه برای جلسه TF قابل انتخاب نیست زیرا فیلتر شده است. به احتمال زیاد TF با ANDROID_SERIAL صادر شده آغاز شده است، بنابراین دامنه دستگاه‌هایی که می‌توانند انتخاب شوند را محدود می‌کند.
  • موجود: دستگاه آماده انتخاب برای آزمایش است.
  • در دسترس نیست: دستگاه متصل است اما آماده اجرای تست‌ها نیست. معمولاً در adb به صورت offline نشان داده می‌شود.
  • اختصاص داده شده: دستگاه در حال حاضر در حال آزمایش است و قابل انتخاب نیست.
  • CHECKING_AVAILABILITY: دستگاه به تازگی متصل شده است و TF بررسی می‌کند که آیا به درستی آنلاین است و می‌تواند در دسترس قرار گیرد یا خیر. در غیر این صورت، از دسترس خارج خواهد شد.

حالت‌های آنلاین

حالت‌های آنلاین، حالت واقعی دستگاه را از دید adb devices نشان می‌دهند. آن‌ها توسط TestDeviceState توصیف می‌شوند و می‌توانند به صورت زیر باشند:

  • فست بوت
  • آنلاین
  • بهبودی
  • موجود نیست

وضعیت‌های آنلاین Tradefed به کتابخانه adb زیربنایی که ما استفاده می‌کنیم، ddmlib پیوند داده شده‌اند. این کتابخانه وضعیت‌ها را با DeviceState توصیف می‌کند.