2011-01-20 18 views
4

假設我已經寫了一個我想發佈給Hackage的Haskell包。如何使用不同版本的先決條件運行我的軟件包的測試?

假設我已經爲它編寫了自動化測試,所以我知道它可以在我的機器上運行,我已經安裝了GHC的版本,以及它已經安裝的其他軟件包的版本。

是否有自動化的方式來運行我的軟件包的測試使用其他版本的軟件包,以及其他版本的GHC(和擁抱版本等)?

目的不僅在於檢查它是否適用於我認爲應該使用的先決條件,還要確認它不適用於我希望它不適用的版本。

+0

如果我理解你的問題是正確的,你可以在不同的文件夾中編寫單獨的`.cabal`文件,這些文件夾指向相同的源文件夾,但是具有不同的構建要求 – hvr 2011-01-20 10:45:01

+0

@hvr當然,但是是否有工具可以編寫這些文件`.cabal`文件適合我嗎? – dave4420 2011-01-20 10:53:40

回答

2

我覺得現在最好的辦法是cabal-devcapri和一些自編腳本。

1

使用cabal configure --preference=DEPENDENCY,如cabal configure --help所述。我不知道,它是如何工作的,也許只是嘗試一下。例如,與舊基礎包進行測試,嘗試

cabal configure "--preference=base==3.0.0"

你可以把你要測試到一些shell腳本依賴條件的組合,只要你喜歡。

相關問題