BuildInfo في Tradefed

BuildInfo في TF، هو عنصر يُستخدَم على نطاق واسع لنقل الموارد لإعداد الاختبار وتنفيذه. يتم تخزين أو ربط كل شيء في BuildInfo، بدءًا من صور الأجهزة ووصولاً إلى حِزم APK الاختبارية. يتيح ذلك طريقة موحّدة للوصول إلى موارد الاختبار من اختبار وفصل الاختبار عن الحصول على موارد الاختبار.

خصائص BuildInfo

السمتَان الرئيسيتان لعناصر BuildInfo هما السمات والملفات:

  • يمكن إضافة السمات باستخدام #addBuildAttribute()، وهي تمثّل التصنيفات ومعلومات السلاسل إلى النُسخ. يمكن استخدام السمات لتخزين المعلومات ذات الصلة بالإصدار.
  • يمكن إضافة الملفات باستخدام setFile()، وتتبُّع الملف و إدارته من خلال BuildInfo أثناء دورة الاستدعاء (على سبيل المثال، الإدارة الصحيحة أثناء التجزئة). ويؤدي ذلك إلى عدم الحاجة إلى معرفة الاختبار لأي شيء عن نظام الملفات، ويمكنه بدلاً من ذلك الاعتماد على BuildInfo مجردة للحصول على موارده.

BuildInfo في أجهزة متعددة

عند إعداد إعدادات اختبارية باستخدام أجهزة متعددة، يظهر BuildInfo عنصر واحد لكل جهاز. يتيح ذلك طلب الملفات واستهدافها من جهاز إلى آخر.

BuildInfo في الإصدارات المتعدّدة

من الممكن طلب إصدارات من عدة أهداف. في هذه الحالات، يتوفّر كائن BuildInfo واحد لكلّ هدف. ويسمح ذلك بطلب الملفات واستهدافها من أيّ هدف.

تنسيق Proto

يمكن تسلسل BuildInfo بتنسيق protobuf لتسهيل استخدامه على مستوى الأنظمة إذا لزم الأمر.