BuildInfo في Tradefed

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

سمات BuildInfo

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

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

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

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

BuildInfo في عمليات الإنشاء المتعدّدة

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

تنسيق Proto

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