Autotools الاحتجاج التلقائي لـ LCOV بعد "اجعل الشيك"
سؤال
لقد نجحت في إعداد مشروع Autotools حيث تجمع الاختبارات مع الأجهزة حتى أتمكن من الحصول على تقرير تغطية اختبار.
يمكنني الحصول على التقرير عن طريق تشغيل LCOV في DIR Source بعد "Make Check" الناجح.
أواجه الآن المشكلة التي أريد أتمتة هذه الخطوة. أرغب في إضافة هذا إلى "Make Check" أو لجعله هدفًا منفصلًا "جعل الاختيار". من الناحية المثالية ، أود تحليل النتيجة والفشل إذا انخفضت التغطية إلى أقل من نسبة مئوية معينة. المشكلة هي أنه لا يمكنني معرفة كيفية إضافة هدف مخصص على الإطلاق.
الأقرب الذي حصلت عليه هو العثور هذه مثال على تكوين Autotools ، لكن لا يمكنني رؤية أين يتم إضافة هدف "جعل LCOV" في هذا المشروع. لا يمكنني إلا أن أرى بعض الأعلام تكوين في M4/auxdevel.m4.
أي نصائح؟
المحلول
يبدو أنه يمكنك فقط إضافة خطوات إضافية إلى الأهداف في Makefile.am ، هذا ما انتهى بي الأمر (مستوحى من #http: //www.enlightenment.org/svn/e/trunk/ewl/makefile.am):
#http://www.enlightenment.org/svn/e/trunk/ewl/Makefile.am
if ENABLE_COV
cov-reset:
@rm -fr coverage
@find . -name "*.gcda" -exec rm {} \;
@lcov --directory . --zerocounters
cov-report:
@mkdir -p coverage
@lcov --compat-libtool --directory . --capture --output-file coverage/app.info
@genhtml -o coverage/ coverage/app.info
cov:
@make cov-report
clean-local:
@make cov-reset
check:
@make cov
endif
سيضيف "Make Cov" تحت الشيك هدف "COV" إلى الهدف الافتراضي "Make" Make ".