BuildInfo في Tradefed

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

خصائص BuildInfo

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

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

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

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

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

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

تنسيق Proto

يمكن تسلسل BuildInfo بتنسيق protobuf لتسهيل استخدامه على مستوى الأنظمة عند الحاجة.