Autotools الاحتجاج التلقائي لـ LCOV بعد "اجعل الشيك"

StackOverflow https://stackoverflow.com/questions/2872164

  •  03-10-2019
  •  | 
  •  

سؤال

لقد نجحت في إعداد مشروع 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 ".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top