2014-06-28 35 views
4

我正在編寫一個用於構建可執行文件的cabal項目的測試套件。我希望套件中的測試運行該特定的可執行文件,但我不知道在哪裏找到它(因爲我的測試可能從某個未知位置的沙箱運行)。在Cabal測試套件中查找我的可執行文件

Cabal在調用我的測試套件時應該知道項目可執行文件的位置。我的測試模塊/程序是否有某種方式可以從Cabal收集此類和其他類似信息,或許可以使用新的detailed-1.0測試框架?

+1

你不能使用cabal數據文件和Paths_foo模塊嗎? –

回答

2

您可以在cabal文件中包含一個「魔術」模塊來查詢與項目相關的路徑。

name: myproject 

library 

    other-modules:  
    Paths_myproject 

由該模塊(import Paths_myproject)出口是可用於查詢安裝項目時卡瓦爾使用各種路徑數FilePath值。

Paths_myproject.getBinDir   
Paths_myproject.getDataDir  
Paths_myproject.getDataFileName 
Paths_myproject.getLibDir   
Paths_myproject.getLibexecDir  
Paths_myproject.getSysconfDir  
Paths_myproject.version 
相關問題