Tôi muốn sử dụng các công cụ bảo vệ mã (lcov) trong dự án cmake của mình. Tôi đã đọc ví dụ ở đây https://github.com/bilke/cmake-modules/blob/master/CodeCoverage.cmake Các thử nghiệm được thêm vào trong dự án của tôi bằng cách sử dụng hàm cmake 'add_test()'.Cách bảo hành mã trong cmake
Tôi muốn tạo mục tiêu tùy chỉnh, được gọi là 'test_coverage', khi được gọi để thực thi sẽ chạy tất cả các kiểm tra, thu thập dữ liệu vùng phủ sóng và tạo html (sử dụng genhtml) trong thư mục 'code_coverage'.
Có cách nào tôi có thể nhận danh sách tất cả các bài kiểm tra trong dự án và đường dẫn thư mục của mình không, để trong mục tiêu tùy chỉnh 'test_coverage' tôi có thể thực hiện từng thử nghiệm riêng lẻ và thu thập dữ liệu bảo hiểm của nó?
Từ bản tóm tắt của bạn, tôi giả sử bạn đã đọc [Hướng dẫn chi tiết về cách sử dụng gcov với CMake/CDash?] (Http://stackoverflow.com/questions/13116488/detailed-guide-on-using-gcov-with-cmake -cdash). Nhưng bạn có thấy ví dụ https://github.com/stepcode/stepcode/blob/master/lcov.cmake? 'CTest' biết/có thể trích xuất danh sách kiểm tra trong thư mục đầu ra nhị phân của CMake và với chế độ tập lệnh' ctest -S ... 'bạn có thể tự động hóa toàn bộ quá trình xây dựng, thử nghiệm và thu thập dữ liệu bảo hiểm. – Florian
Cũng hữu ích có thể là [Làm thế nào để chạy ctest sau khi xây dựng dự án của tôi với cmake] (http://stackoverflow.com/questions/15115075/how-to-run-ctest-after-building-my-project-with-cmake) – Florian
@ Florian Tôi không thấy cuộc gọi ctest_coverage trong ví dụ lcov.cmake? Ngoài ra, bạn có nói rằng bạn có thể thực hiện phân tích phạm vi mà không có tập lệnh (-S) không? Bạn có thể chỉ ra một ví dụ về cách làm điều đó không? Tôi quan tâm đến phân tích vùng phủ sóng của tất cả các mục tiêu thử nghiệm tổng hợp. –