मैं कुछ परीक्षण कोड कवरेज के लिए एक सी परियोजना और gcov
बनाने के लिए वेफ का उपयोग कर रहा हूं।वफ़ को ऑब्जेक्ट फ़ाइलों का नाम बदलने से कैसे रोकें?
$ gcov foo.c
$ foo.gcno:cannot open graph file
सौभाग्य से, gcov
जिसके साथ यह संभव है -o
विकल्प इसी वस्तु फ़ाइल निर्दिष्ट करने के लिए है: हालांकि, waf एक तरीका है कि स्रोत फ़ाइल foo.c
कि gcov
confuses जब उत्पन्न फ़ाइलों के लिए खोज से foo.c.1.o
का उत्पादन में gcc
कॉल । फिर भी, यह सुविधाजनक नहीं है और lcov
निष्पादित अभी भी विफल रहता है। इसलिए, मेरे प्रश्न हैं:
- वाफ ऑब्जेक्ट फ़ाइलों का नाम क्यों बदलता है?
- यह व्यवहार कैसे अक्षम किया जा सकता है या ...
gcov
/lcov
इस समस्या के आसपास कैसे काम कर सकता है?
स्पष्ट उत्तर के बावजूद काम करना वास्तव में मुश्किल था। स्पष्ट रूप से gcovr के मास्टर संशोधन में एक बग है जो इसे सूची में एक अलग पथ के रूप में --root तर्क के प्रत्येक वर्ण को पढ़ने का कारण बनता है। इसलिए दिया गया है कि $ (pwd) '/' से शुरू होता है, यह आपके संपूर्ण फाइल सिस्टम को .gcno फ़ाइलों और hangs के लिए खोजकर शुरू होता है। मैंने लाइन 1828 को बदल दिया जहां यह get_datafiles को "[options.root]" पास करने के लिए कॉल करता है और इसे काम करने के लिए मिला। – flodin
@flodin "[options.root]" बग gcovr 3.2 में तय किया गया है। –