【问题标题】:Finding my executable in a Cabal test suite在 Cabal 测试套件中找到我的可执行文件
【发布时间】:2014-06-28 00:54:54
【问题描述】:

我正在尝试为构建可执行文件的 cabal 项目编写测试套件。我希望套件中的测试能够运行那个特定的可执行文件,但我不知道在哪里可以找到它(因为我的测试可能是从某个未知位置的沙盒中运行的)。

Cabal 在调用我的测试套件时应该知道我的项目的可执行文件在哪里。我的测试模块/程序是否可以通过新的detailed-1.0 测试框架从 Cabal 收集这些信息和其他类似信息?

【问题讨论】:

  • 你不能使用 cabal 数据文件和 Paths_foo 模块吗?

标签: haskell testing cabal


【解决方案1】:

您可以在 cabal 文件中包含一个“魔术”模块来查询与项目相关的路径。

name: myproject

library

  other-modules:       
    Paths_myproject

此模块 (import Paths_myproject) 导出了几个 FilePath 值,可用于查询 Cabal 在安装项目时使用的各种路径。

Paths_myproject.getBinDir        
Paths_myproject.getDataDir       
Paths_myproject.getDataFileName  
Paths_myproject.getLibDir        
Paths_myproject.getLibexecDir    
Paths_myproject.getSysconfDir    
Paths_myproject.version

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    相关资源
    最近更新 更多