2017-11-19 6 views
2

キャバルをスタックから直接スタックに移動しましたが、テストスイートに問題があります。ライブラリと実行可能ファイルは正常に動作しますが、スタックラン0テストでおいしい発見

hml-0.1.0.0: test (suite: HML-test) 
All 0 tests passed (0.00s) 

Ie.テストは実行されませんでした。私がキャバールで直接テストを実行すると、正常に動作します。私はtastytasty-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用ドライバ・テスト/ Driver.hsは次のようになります。

{-# OPTIONS_GHC -F -pgmF tasty-discover -optF --tree-display #-} 

任意のアイデア?

EDIT:徒党でコンパイルする場合

私はdist/build/HML-testで実行可能HML-testを見つけ、それを直接実行すると、すべてのテストを実行します。

スタックでコンパイルすると、.stack-work/x86_64-linux/Cabal-1.24.2.0/build/HML-testにあり、それを直接実行すると0テストが実行されます。

stack - v testの完全な出力は

バージョン1.5.1、Gitのリビジョン600c1f01435a10d127938709556c1682ecfd694e(4861のコミット)x86_64のhpack-0.17.1 2017年11月19日12である:25:05.759671:[デバッグ]のチェック/home/cabox/workspace/hml/stack.yaml @(Stack/Config.hs:974:9)2017-11-19 12:25:05.759980:[debug]プロジェクト設定ファイルを読み込み中stack.yaml @ (Stack/Config.hs:999:13)2017-11-19 12:25:05.762372:[debug] /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]成功デコード/home/cabox/.stack/build-plan-cache/x86_64-linux/lts -9.13.cache @(Data/Store/VersionTagged.hs:76:13)2 017-11-19 12:25:05.789952:[デバッグ]プロセスを実行します。/ sbin/ldconfig -p @(システム/プロセス/ Read.hs:306:3)2017-11-19 12:25:05.796009:[デバッグ]プロセスが完了しました。[92m5ms [0m:/ sbin/ldconfig -p @(システム/プロセス/ Read.hs:306:3)2017-11-19 12:25:05.796327:[デバッグ]プロセスの実行/ usr/bin/gcc -v @(System/Process/Read.hs:306:3)2017-11-19 12:25:05.799566:[デバッグ]プロセスは[92m3ms [0m:/ usr/bin/gcc -v @( System/Process/Read.hs:306:3)2017-11-19 12:25:05.799710:[デバッグ] PIEを有効にする@(スタック/ Setup.hs:583:17)2017-11-19 12:25:05.799912 :[デバッグ] 'ldconfig -p'の共有ライブラリlibtinfo.so.5が見つかりました@(スタック/ Setup.hs:559:29)2017-11-19 12:25:05.800147:[デバッグ]共有ライブラリが見つかりませんでしたlibtinfo.so.6 @(スタック/ Setup.hs:573:38)2017-11-19 12:25:05.800285:[デバッグ]共有ライブラリlibncursesw.so.6が見つかりませんでした@(スタック/ Setup.hs:573 :38)2017-11-19 12:25:05.800375:[デバッグ] 'ldconfig -p'出力の共有ライブラリlibgmp.so.10が見つかりました@(Stack/Setup.hs:559:29)2017-11-19 12 :25:05.800478:[デバッグ] sが見つかりませんでした(Stack/Setup.hs:609:9)2017-11-19 12:25:05.800560:[debug]標準GHCビルドを使用する@(Stack/Setup.hs:606:9)2017 -11-19 12:25:05.801346:[debug] GHCにバージョン@(スタック/セットアップ/ Installed.hs:103:13)を依頼する2017-11-19 12:25:05.801592:[デバッグ]プロセスを実行する:/ホーム/ cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc - 数値バージョン(システム/プロセス/ Read.hs:306:3)2017-11-19 12:25: (Stack/GhcPkg.hs:189:5)2017-11-19 12:25:05.802507:[デバッグ]グローバルパッケージデータベースの場所を取得する@(Stack/GhcPkg.hs:55: 5)2017-11-19 12:25:05.808193:[デバッグ]プロセスの実行:/home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-user- (システム/プロセス/ Read.hs:306:3)2017-11-19 12:25:05.808687:[デバッグ]プロセスの実行:/home/cabox/.stack/プログラム/ x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-user-package-db list --global @(システム/プロセス/ Read.hs:306:3)2017-11-19 12 :25:05.855073:[デバッグ]プロセスは[92m46ms [0m:/home/cabox/.stack/programs/x86_64-linux/ghc-8.0]で終了しました。2/bin/ghc-pkg --no-user-package-db list --global @(システム/プロセス/ Read.hs:306:3)2017-11-19 12:25:05.857161:[デバッグ]プロセスが終了しましたin [92m48ms [0m:/home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-user-package-dbフィールド - シンプル出力Cabalバージョン@ System/Process/Read.hs:306:3)2017-11-19 12:25:05.869048:[デバッグ]プロセスは[92m67ms [0m:/home/cabox/.stack/programs/x86_64-linux/ghc- 8.0.2/bin/ghc --numeric-version @(システム/プロセス/ Read.hs:306:3)2017-11-19 12:25:05.871256:[debug]パッケージエントリの解決@(Stack/Setup.hs :260:5)2017-11-19 12:25:05.897711:[デバッグ] EnvConfig @(Stack/Runners.hs:175:18)内のコマンドの実行を開始する2017-11-19 12:25:05.897916:[debug ]ローカルパッケージのキャバルファイルを解析する@(Stack/Build/Source.hs:328:5)2017-11-19 12:25:05.905436:[デバッグ]ターゲットを解析する@(Stack/Build/Source.hs: 265:5)2017-11-19 12:25:05.917919:[デバッグ]開始:getPackageFiles /home/cabox/workspace/hml/hml.cabal @(Stack/Package.hs:259:21)2017 -11-19 12:25:06.009229:[デバッグ] 91msで終了:getPackageFiles /home/cabox/workspace/hml/hml.cabal @(Stack/Package.hs:259:21)2017-11-19 12:25 :06.010508:[デバッグ]既にインストールされているパッケージを見つける@(スタック/ビルド/ Installed.hs:69:5)2017-11-19 12:25:06.010877:[デバッグ]プロセスを実行する:/ home/cabox /。スタック/プログラム/ x86_64-linux/ghc-8.0.2/bin/ghc-pkg --global --no-user-package-dbダンプ--expand-pkgroot @(System/Process/Read.hs:306:3 )2017-11-19 12:25:06.062451:[デバッグ]プロセスは[92m51msで完了しました[0m:/home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg - グローバル--no-user-package-dbダンプ--expand-pkgroot @(System/Process/Read.hs:306:3)2017-11-19 12:25:06.086280:[debug]必要なためにパッケージのhaskelineを無視する0.7.3.0ではなく0.7.4.0のバージョン0.7.4.0 @(Stack/Build/Installed.hs:199:5)2017-11-19 12:25:06.086478:[debug] 0.4の代わりに0.4.1.0のバージョンが必要なので、パッケージのterminfoを無視する.0.2 @(Stack/Build/Installed.hs:199:5)2017-11-19 12:25:06.086581:[debug] pacを無視する(スタック/ビルド/ Installed.hs:199:5)2017-11-19 12:25:06.086945:[デバッグ]プロセスを実行する:/ 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:[デバッグ]プロセスが[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 /。スタック/スナップショット/ 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 ]プロセスの実行:/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:[デバッグ]プロセスが終了しました[/ home/cabox /.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db/home/cablo/workspace/hml/.stack-work/install/x86_64-linux/lts-9.13/8.0.2/pkgdb dump --expand-pkgroot @(システム/プロセス/ Read.hs:306:3)2017-11- 19 12:25:06.256147:[debug]ビルドプランの構築@(Stack/Build/ConstructPlan.hs:188:5)2017-11-19 12:25:06.270612:[debug]複数のビルドを行うかどうかを確認する同じ名前の実行可能ファイル@(Stack/Build.hs:210:5)2017-11-19 12:25:06.271198:[debug]ビルドプランの実行@(スタック/ビルド/ Execute.hs:478:5)2017 -11-19 12:25:06.282278:[デバッグ]グローバルパッケージデータベースの場所を取得する@(スタック/ GhcPkg.hs:55:5)2017-11-19 12:25:06.282498:[デバッグ]プロセスを実行する:/ home// bin/ghc-pkg --no-user-package-db list --global @(システム/プロセス/ Read.hs:306:3)2017 -11-19 12:25:06.319127:[デバッグ]プロセスは[92m36msで完了しました[0m:/home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-米国(システム/プロセス/ 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:[デバッグ]プロセスの作成:/home/cabox/workspace/hml/.stack-work/dist/x86_64- linux/Cabal-1.24.2.0/build/HML-test/HML-test @(システム/プロセス/ Run.hs:139:5)2017-11-19 12:25:06.344988:[info] @(スタック/ビルド/Execute.hs:1587:52)渡さ すべて0のテスト(0.00s)

EDIT2:私は手動でtastyを整理している場合(つまり、使用を控える、tasty-discover)それが動作します。これは、しかし、多くの仕事と定型文の多くにつながるだろう..

+1

私は決しておいしいものを使用しませんでした。しかし、スタックテストは 'Hspec'でうまく動作します。 '--verbose'フラグでテストを実行していると多分助けになるかもしれません。 – palik

+0

@palik '-v'の出力にヒントはありません。私はOPにそれを含めた – jorgen

+1

私は問題を再現することができます。しかし、 '{ - #OPTIONS_GHC -F -pgmF tasty-discover# - }'と 'defaultMain'を使わずにテストを実行することで問題はありません。スタックテストでは、 "XYZのコンパイル"という行が表示されます。 XYZは発見できなかったモジュールです。 – palik

答えて

1

最も近い解決策は、tasty-discoverからtasty-thに移動することです。

完全自動検出はまだ動作しませんが、TemplateHaskellから$(testGroupGenerator)までを使用すると、ボイラープレートは少なくともテストの数ではなくテストファイルの数に比例します。

関連する問題