testtrim: أداة الاختبار التي لم تستطع اختبار نفسها (حتى الآن)

2025-01-25

يصف ماثيو فينياك رحلته في إضافة تتبع استدعاءات النظام إلى testtrim، وهو مشروع تجريبي يعمل على تحسين تنفيذ اختبارات البرمجيات. في البداية، استخدم testtrim أداة strace لتحديد التبعيات بين الاختبارات، لكنه لم يتمكن من اختبار نفسه لأن strace لا يمكنه تتبع عملية قيد التتبع بالفعل. باءت محاولتان لتتبع متداخل بالفشل: الأولى بسبب الأداء الضعيف، والثانية بسبب الحالة المشتركة وعدم الذرية في مخرجات strace. تمثلت الحل في استخدام أنابيب FIFO وذاكرة مشتركة لنقل البيانات في الوقت الفعلي بين العمليات الأبوية والفرعية، مما يسمح باختبار الذات والتحقق من قيمة testtrim في تقليل أهداف الاختبار.

اقرأ المزيد