- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚从直接使用 cabal 转向使用 stack,但我在测试套件方面遇到了一些问题。库和可执行文件工作正常,但 stack test
给了我
hml-0.1.0.0: test (suite: HML-test)
All 0 tests passed (0.00s)
即没有运行测试。当我直接使用 cabal 运行测试时,它们工作正常。我将 tasty
与 tasty-discover
一起使用。在 hml.cabal 中,套件看起来像这样:
test-suite HML-test
main-is: Driver.hs
hs-source-dirs: test
default-language: Haskell2010
ghc-options: -Wall
other-modules: HML.Types.Test.PosInt
(...etc...)
build-depends: base >= 4.9
(... etc...)
tasty-discover
的驱动程序 test/Driver.hs 如下所示:
{-# OPTIONS_GHC -F -pgmF tasty-discover -optF --tree-display #-}
有什么想法吗?
编辑:
当用 cabal 编译时,我在 dist/build/HML-test
中找到了可执行文件 HML-test
,直接运行它会运行所有测试。
当用堆栈编译时,我在 .stack-work/x86_64-linux/Cabal-1.24.2.0/build/HML-test
找到它,直接运行它仍然运行 0 个测试。
stack -v test
的完整输出是
Version 1.5.1, Git revision 600c1f01435a10d127938709556c1682ecfd694e (4861 commits) x86_64 hpack-0.17.1 2017-11-19 12:25:05.759671: [debug] Checking for project config at: /home/cabox/workspace/hml/stack.yaml @(Stack/Config.hs:974:9) 2017-11-19 12:25:05.759980: [debug] Loading project config file stack.yaml @(Stack/Config.hs:999:13) 2017-11-19 12:25:05.762372: [debug] Trying to decode /home/cabox/.stack/build-plan-cache/x86_64-linux/lts-9.13.cache @(Data/Store/VersionTagged.hs:72:5) 2017-11-19 12:25:05.788669: [debug] Success decoding /home/cabox/.stack/build-plan-cache/x86_64-linux/lts-9.13.cache @(Data/Store/VersionTagged.hs:76:13) 2017-11-19 12:25:05.789952: [debug] Run process: /sbin/ldconfig -p @(System/Process/Read.hs:306:3) 2017-11-19 12:25:05.796009: [debug] Process finished in [92m5ms[0m: /sbin/ldconfig -p @(System/Process/Read.hs:306:3) 2017-11-19 12:25:05.796327: [debug] Run process: /usr/bin/gcc -v @(System/Process/Read.hs:306:3) 2017-11-19 12:25:05.799566: [debug] Process finished in [92m3ms[0m: /usr/bin/gcc -v @(System/Process/Read.hs:306:3) 2017-11-19 12:25:05.799710: [debug] PIE enabled @(Stack/Setup.hs:583:17) 2017-11-19 12:25:05.799912: [debug] Found shared library libtinfo.so.5 in 'ldconfig -p' output @(Stack/Setup.hs:559:29) 2017-11-19 12:25:05.800147: [debug] Did not find shared library libtinfo.so.6 @(Stack/Setup.hs:573:38) 2017-11-19 12:25:05.800285: [debug] Did not find shared library libncursesw.so.6 @(Stack/Setup.hs:573:38) 2017-11-19 12:25:05.800375: [debug] Found shared library libgmp.so.10 in 'ldconfig -p' output @(Stack/Setup.hs:559:29) 2017-11-19 12:25:05.800478: [debug] Did not find shared library libgmp.so.3 @(Stack/Setup.hs:573:38) 2017-11-19 12:25:05.800560: [debug] Using standard GHC build @(Stack/Setup.hs:606:9) 2017-11-19 12:25:05.801346: [debug] Asking GHC for its version @(Stack/Setup/Installed.hs:103:13) 2017-11-19 12:25:05.801592: [debug] Run process: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc --numeric-version @(System/Process/Read.hs:306:3) 2017-11-19 12:25:05.802203: [debug] Getting Cabal package version @(Stack/GhcPkg.hs:189:5) 2017-11-19 12:25:05.802507: [debug] Getting global package database location @(Stack/GhcPkg.hs:55:5) 2017-11-19 12:25:05.808193: [debug] Run process: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-user-package-db field --simple-output Cabal version @(System/Process/Read.hs:306:3) 2017-11-19 12:25:05.808687: [debug] Run process: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-user-package-db list --global @(System/Process/Read.hs:306:3) 2017-11-19 12:25:05.855073: [debug] Process finished in [92m46ms[0m: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-user-package-db list --global @(System/Process/Read.hs:306:3) 2017-11-19 12:25:05.857161: [debug] Process finished in [92m48ms[0m: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-user-package-db field --simple-output Cabal version @(System/Process/Read.hs:306:3) 2017-11-19 12:25:05.869048: [debug] Process finished in [92m67ms[0m: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc --numeric-version @(System/Process/Read.hs:306:3) 2017-11-19 12:25:05.871256: [debug] Resolving package entries @(Stack/Setup.hs:260:5) 2017-11-19 12:25:05.897711: [debug] Starting to execute command inside EnvConfig @(Stack/Runners.hs:175:18) 2017-11-19 12:25:05.897916: [debug] Parsing the cabal files of the local packages @(Stack/Build/Source.hs:328:5) 2017-11-19 12:25:05.905436: [debug] Parsing the targets @(Stack/Build/Source.hs:265:5) 2017-11-19 12:25:05.917919: [debug] Start: getPackageFiles /home/cabox/workspace/hml/hml.cabal @(Stack/Package.hs:259:21) 2017-11-19 12:25:06.009229: [debug] Finished in 91ms: getPackageFiles /home/cabox/workspace/hml/hml.cabal @(Stack/Package.hs:259:21) 2017-11-19 12:25:06.010508: [debug] Finding out which packages are already installed @(Stack/Build/Installed.hs:69:5) 2017-11-19 12:25:06.010877: [debug] Run process: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --global --no-user-package-db dump --expand-pkgroot @(System/Process/Read.hs:306:3) 2017-11-19 12:25:06.062451: [debug] Process finished in [92m51ms[0m: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --global --no-user-package-db dump --expand-pkgroot @(System/Process/Read.hs:306:3) 2017-11-19 12:25:06.086280: [debug] Ignoring package haskeline due to wanting version 0.7.4.0 instead of 0.7.3.0 @(Stack/Build/Installed.hs:199:5) 2017-11-19 12:25:06.086478: [debug] Ignoring package terminfo due to wanting version 0.4.1.0 instead of 0.4.0.2 @(Stack/Build/Installed.hs:199:5) 2017-11-19 12:25:06.086581: [debug] Ignoring package xhtml due to wanting version 3000.2.2 instead of 3000.2.1 @(Stack/Build/Installed.hs:199:5) 2017-11-19 12:25:06.086945: [debug] Run process: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db /home/cabox/.stack/snapshots/x86_64-linux/lts-9.13/8.0.2/pkgdb dump --expand-pkgroot @(System/Process/Read.hs:306:3) 2017-11-19 12:25:06.209627: [debug] Process finished in [92m122ms[0m: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db /home/cabox/.stack/snapshots/x86_64-linux/lts-9.13/8.0.2/pkgdb dump --expand-pkgroot @(System/Process/Read.hs:306:3) 2017-11-19 12:25:06.210994: [debug] Run process: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db /home/cabox/workspace/hml/.stack-work/install/x86_64-linux/lts-9.13/8.0.2/pkgdb dump --expand-pkgroot @(System/Process/Read.hs:306:3) 2017-11-19 12:25:06.255376: [debug] Process finished in [92m43ms[0m: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db /home/cabox/workspace/hml/.stack-work/install/x86_64-linux/lts-9.13/8.0.2/pkgdb dump --expand-pkgroot @(System/Process/Read.hs:306:3) 2017-11-19 12:25:06.256147: [debug] Constructing the build plan @(Stack/Build/ConstructPlan.hs:188:5) 2017-11-19 12:25:06.270612: [debug] Checking if we are going to build multiple executables with the same name @(Stack/Build.hs:210:5) 2017-11-19 12:25:06.271198: [debug] Executing the build plan @(Stack/Build/Execute.hs:478:5) 2017-11-19 12:25:06.282278: [debug] Getting global package database location @(Stack/GhcPkg.hs:55:5) 2017-11-19 12:25:06.282498: [debug] Run process: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-user-package-db list --global @(System/Process/Read.hs:306:3) 2017-11-19 12:25:06.319127: [debug] Process finished in [92m36ms[0m: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-user-package-db list --global @(System/Process/Read.hs:306:3) 2017-11-19 12:25:06.320228: [info] hml-0.1.0.0: test (suite: HML-test) @(Stack/Build/Execute.hs:830:23) 2017-11-19 12:25:06.321702: [debug] Creating process: /home/cabox/workspace/hml/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/build/HML-test/HML-test @(System/Process/Run.hs:139:5) 2017-11-19 12:25:06.344988: [info] @(Stack/Build/Execute.hs:1587:52) All 0 tests passed (0.00s)
EDIT2:如果我手动组织 tasty
(即避免使用 tasty-discover
)它会起作用。然而,这会导致大量工作和大量样板文件。
最佳答案
我最接近的解决方案是从 tasty-discover
转移到 tasty-th
。
全自动发现仍然不起作用,但通过 $(testGroupGenerator)
使用 TemplateHaskell 样板文件至少随着测试文件的数量而不是测试的数量而扩展。
关于haskell - tasty-discover with stack run 0 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47374082/
在 Haskell 中,类型声明使用双冒号,即 (::),如 not::Bool -> Bool。 但是在许多语法与 Haskell 类似的语言中,例如榆树、 Agda 、他们使用单个冒号(:)来声明
insertST :: StateDecoder -> SomeState -> Update SomeState SomeThing insertST stDecoder st = ... Stat
如果这个问题有点含糊,请提前道歉。这是一些周末白日梦的结果。 借助 Haskell 出色的类型系统,将数学(尤其是代数)结构表达为类型类是非常令人愉快的。我的意思是,看看 numeric-prelud
我有需要每 5 分钟执行一次的小程序。 目前,我有执行该任务的 shell 脚本,但我想通过 CLI 中的键为用户提供无需其他脚本即可运行它的能力。 实现这一目标的最佳方法是什么? 最佳答案 我想你会
RWH 面世已经有一段时间了(将近 3 年)。在在线跟踪这本书的渐进式写作之后,我渴望获得我的副本(我认为这是写书的最佳方式之一。)在所有相当学术性的论文中,作为一个 haskell 学生,读起来多么
一个经典的编程练习是用 Lisp/Scheme 编写一个 Lisp/Scheme 解释器。可以利用完整语言的力量来为该语言的子集生成解释器。 Haskell 有类似的练习吗?我想使用 Haskell
以下摘自' Learn You a Haskell ' 表示 f 在函数中用作“值的类型”。 这是什么意思?即“值的类型”是什么意思? Int 是“值的类型”,对吗?但是 Maybe 不是“值的类型”
现在我正在尝试创建一个基本函数,用于删除句子中的所有空格或逗号。 stringToIntList :: [Char] -> [Char] stringToIntList inpt = [ a | a
我是 Haskell 的新手,对模式匹配有疑问。这是代码的高度简化版本: data Value = MyBool Bool | MyInt Integer codeDuplicate1 :: Valu
如何解释这个表达式? :t (+) (+3) (*100) 自 和 具有相同的优先级并且是左结合的。我认为这与 ((+) (+3)) (*100) 相同.但是,我不知道它的作用。在 Learn
这怎么行 > (* 30) 4 120 但这不是 > * 30 40 error: parse error on input ‘*’ 最佳答案 (* 30) 是一个 section,它仍然将 * 视为
我想创建一个函数,删除满足第二个参数中给定谓词的第一个元素。像这样: removeFirst "abab" ( 'b') = "abab" removeFirst [1,2,3,4] even =
Context : def fib(n): if n aand returns a memoized version of the same function. The trick is t
我明白惰性求值是什么,它是如何工作的以及它有什么优势,但是你能解释一下 Haskell 中什么是严格求值吗?我似乎找不到太多关于它的信息,因为惰性评估是最著名的。 他们各自的优势是什么。什么时候真正使
digits :: Int -> [Int] digits n = reverse (x) where x | n digits 1234 = [3,1,2,4]
我在 F# 中有以下代码(来自一本书) open System.Collections.Generic type Table = abstract Item : 'T -> 'U with ge
我对 Haskell 比较陌生,过去几周一直在尝试学习它,但一直停留在过滤器和谓词上,我希望能得到帮助以帮助理解。 我遇到了一个问题,我有一个元组列表。每个元组包含一个 (songName, song
我是 haskell 的初学者,我试图为埃拉托色尼筛法定义一个简单的函数,但它说错误: • Couldn't match expected type ‘Bool -> Bool’
我是 Haskell 语言的新手,我在使用 read 函数时遇到了一些问题。准确地说,我的理解是: read "8.2" + 3.8 应该返回 12.0,因为我们希望返回与第二个成员相同的类型。我真正
当我尝试使用真实项目来驱动它来学习 Haskell 时,我遇到了以下定义。我不明白每个参数前面的感叹号是什么意思,我的书上好像也没有提到。 data MidiMessage = MidiMessage
我是一名优秀的程序员,十分优秀!