باستثناء نتائج معينة من نتائج تغطية GCOV/LCOV

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

  •  02-10-2019
  •  | 
  •  

سؤال

هل من الممكن استبعاد وظائف أو خطوط رمز معينة من تحليل تغطية GCOV. يحتوي الكود الخاص بي على وظائف معينة تستخدم لتصحيح الأخطاء ، ولا تمارس كجزء من مجموعة الاختبار الخاصة بي. هذه الوظائف تقلل من نسبة التغطية التي أبلغ عنها GCOV. أود استبعاد هذه الوظائف من النتائج. إذا لم يكن ذلك ممكنًا عبر GCOV ، فربما يكون ذلك ممكنًا عبر LCOV ، لكنني لم أتمكن من معرفة ذلك. هو محل تقدير مساعدتكم.

هل كانت مفيدة؟

المحلول

أقوم بتصفية ملفات مصدر معينة عن طريق تشغيل إخراج LCOV -capture من خلال برنامج نصي AWK بسيط. يحتوي إخراج LCOV -Capture على تنسيق بسيط للغاية ويقوم البرنامج النصي AWK أدناه بتصفية ملفات المصدر التي تتطابق مع File_pattern. أعتقد أنه من الممكن تكييف البرنامج النصي لجعله وظائف تصفية بدلاً من أسماء الملفات.

BEGIN {
        record=""
}

/^SF/ {
        if ( match ($0, "file_pattern" ) ) {
            doprint = 0
        } else {
            doprint = 1
        }
}

/^end_of_record$/ {
        if ( doprint ) {
            print record $0
        }
        record = ""
        next
}

{
    record=record $0 "\n"
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top