首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Haskell doctest不加载用cabal-dev管理的包

Haskell doctest不加载用cabal-dev管理的包
EN

Stack Overflow用户
提问于 2012-08-10 08:32:55
回答 2查看 1.1K关注 0票数 2

我正在尝试测试我的项目,它使用了"data-binary-ieee754“和doctest。

我使用cabal dev而不是cabal来管理包依赖关系。我可以构建项目,但doctest似乎无法识别该包。

文档测试.cabal中的定义:

代码语言:javascript
复制
test-suite doctests
  type:            exitcode-stdio-1.0
  hs-source-dirs:  test
  main-is:         doctests.hs
  ghc-options:     -Wall -threaded
  build-depends:   base,
                   doctest >= 0.7,
                   data-binary-ieee754

test/doctests.hs:

代码语言:javascript
复制
module Main where

import Test.DocTest

main :: IO ()
main = doctest ["src/Pattern.hs"]

cabal-dev test doctests的错误消息为:

代码语言:javascript
复制
Running 1 test suites...
Test suite doctests: RUNNING...

src/Pattern.hs:13:8:
    Could not find module `Data.Binary.IEEE754'
    Use -v to see a list of the files searched for.
Test suite doctests: FAIL
Test suite logged to: dist/test/othello-0.1.0-doctests.log
0 of 1 test suites (0 of 1 test cases) passed.

我尝试向doctests.hs添加一些选项,例如

代码语言:javascript
复制
main = doctest ["--optghc=-Lcabal-dev/lib",
                "--optghc=-packagedata-binary-ieee754",
                "src/Pattern.hs"]

但结果是

代码语言:javascript
复制
Running 1 test suites...
Test suite doctests: RUNNING...
doctests: <command line>: cannot satisfy -package data-binary-ieee754
    (use -v for more information)
Test suite doctests: FAIL
Test suite logged to: dist/test/othello-0.1.0-doctests.log
0 of 1 test suites (0 of 1 test cases) passed.

请告诉我如何正确完成此操作。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-08-10 10:07:58

我自己找到了答案。

http://hackage.haskell.org/trac/ghc/ticket/6133很有帮助。

代码语言:javascript
复制
main :: IO ()
main = doctest ["--optghc=-Lcabal-dev/lib",
                "--optghc=-packagedata-binary-ieee754",
                "--optghc=-package-conf=cabal-dev/packages-7.4.1.conf",
                "src/Pattern.hs"]
票数 3
EN

Stack Overflow用户

发布于 2016-02-10 01:45:36

稍微更新一下这个答案,doctest现在允许您直接调用ghc选项。

您还可以加载沙箱包数据库并从cabal调用。

代码语言:javascript
复制
doctest [ "-package-db .cabal-sandbox/x86_64-linux-ghc-7.10.3-packages.conf.d"
        , "-isrc"
        , "src/<path-to-file>"]

这为我解决了缺少包的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11893915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档