我正在尝试为可构建可执行文件的cabal项目编写测试套件.我希望套件中的测试运行该特定的可执行文件,但我不知道在哪里找到它(因为我的测试可能是从某个未知位置的沙箱运行).
当Cabal调用我的测试套件时,Cabal应该知道我的项目的可执行文件在哪里.我的测试模块/程序是否有某种方法可以从Cabal收集此信息和其他类似信息,可能还有新的详细1.0测试框架?
最佳答案 您可以在cabal文件中包含一个“魔术”模块,以查询与项目相关的路径.
name: myproject
library
other-modules:
Paths_myproject
由此模块导出(导入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