假設一個名爲xmpl.cpp
(例如the one described by Fröhlich)的源文件。當編譯此文件與gcc
與標誌-fprofile-arcs
和-ftest-coverage
,它產生在通常的二進制可執行文件xmpl
和gcov的數據文件xmpl.gcno
。然後,當程序執行時,會生成另一個gcov數據文件xmpl.gcna
,這個文件包含執行過程中收集的信息。爲什麼'expect'時運行程序時不會生成'gcov'數據?
然而,當我使用expect腳本運行不產生xmpl.gcna
相同的程序。更具體地說,問題是與spawn
命令,exec
一切都很好(但那麼,爲什麼使用期望,對吧?)。
我感興趣的是解決這個問題,因爲我們有很多的期待在我們的項目進行了一些測試腳本和目前正在爲這些測試沒有生成覆蓋率信息。上述示例的代碼可以取自here。