2017-11-19 2 views
2

Ich bin gerade von cabal direkt zum Stack übergegangen, habe aber einige Probleme mit der Testsuite. Die Bibliothek und ausführbare funktioniert gut, aber stack test gibt mirtasty-discover mit stack run 0 Tests

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

D.h. Es wurden keine Tests durchgeführt. Wenn ich die Tests mit Cabal direkt ausführen, funktionieren sie gut. Ich benutze tasty mit tasty-discover. In hml.cabal der Suite sieht wie folgt aus:

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...) 

Der Fahrer Test/Driver.hs für tasty-discover sieht wie folgt aus:

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

Irgendwelche Ideen?

EDIT:

Wenn mit Kabale Kompilieren finde ich die ausführbare HML-test in dist/build/HML-test, und es direkt läuft alle Tests laufen.

Beim Kompilieren mit Stack finde ich es bei .stack-work/x86_64-linux/Cabal-1.24.2.0/build/HML-test, und es führt direkt noch 0 Tests laufen.

Die vollständige Ausgabe von stack - v test ist

Version 1.5.1, Git Revision 600c1f01435a10d127938709556c1682ecfd694e (4861 Commits) x86_64 hpack-0.17.1 2017.11.19 12: 25: 05,759671: [Debug] Prüfung auf project config at: /home/cabox/workspace/hml/stack.yaml @ (Stack/Config.hs: 974: 9) 2017-11-19 12: 25: 05.759980: [debug] Laden der Projektkonfigurationsdatei stack.yaml @ (Stack/Config.hs: 999: 13) 2017-11-19 12: 25: 05.762372: [debug] Versuch, /home/cabox/.stack/build-plan-cache/x86_64-linux/lts-9.13 zu dekodieren. Cache @ (Data/Store/VersionTagged.hs: 72: 5) 2017-11-19 12: 25: 05.788669: [debug] Erfolgsdecodierung /home/cabox/.stack/build-plan-cache/x86_64-linux/lts -9.13.cache @ (Daten/Speicher/VersionTagged.hs: 76: 13) 2 017-11-19 12: 25: 05.789952: [debug] Prozess ausführen:/sbin/ldconfig -p @ (System/Prozess/Read.hs: 306: 3) 2017-11-19 12: 25: 05.796009: [debug ] Prozess abgeschlossen in [92m5ms [0m:/sbin/ldconfig -p @ (System/Prozess/Read.hs: 306: 3) 2017-11-19 12: 25: 05.796327: [debug] Prozess ausführen:/usr/bin/gcc -v @ (System/Prozess/Read.hs: 306: 3) 2017-11-19 12: 25: 05.799566: [debug] Prozess beendet in [92m3ms [0m:/usr/bin/gcc -v @ (System/Prozess/Read.hs: 306: 3) 2017-11-19 12: 25: 05.799710: [debug] PIE aktiviert @ (Stack/Setup.hs: 583: 17) 2017-11-19 12: 25: 05.799912 : [debug] Gefunden shared library libtinfo.so.5 in 'ldconfig -p' ausgabe @ (Stack/Setup.hs: 559: 29) 2017-11-19 12: 25: 05.800147: [debug] Fand keine gemeinsam genutzte Bibliothek libtinfo.so.6 @ (Stack/Setup.hs: 573: 38) 2017-11-19 12: 25: 05.800285: [debug] Bibliothek libncursesw.so.6 @ nicht gefunden (Stack/Setup.hs: 573 : 38) 2017-11-19 12: 25: 05.800375: [debug] Gefundene shared library libgmp.so.10 in 'ldconfig -p' Ausgabe @ (Stack/Setup.hs: 559: 29) 2017-11-19 12 : 25: 05.800478: [debug] Fand nicht s Hared Bibliothek libgmp.so.3 @ (Stack/Setup.hs: 573: 38) 2017-11-19 12: 25: 05.800560: [debug] Verwenden von Standard-GHC build @ (Stack/Setup.hs: 606: 9) 2017 -11-19 12: 25: 05.801346: [debug] Fragen GHC für seine Version @ (Stack/Setup/Installed.hs: 103: 13) 2017-11-19 12: 25: 05.801592: [debug] Run-Prozess:/home/cabox/.stack/programme/x86_64-linux/ghc-8.0.2/bin/ghc --numerische-version @ (System/Process/Read.hs: 306: 3) 2017-11-19 12:25: 05.802203: [debug] Get Cabal-Paketversion @ (Stack/GhcPkg.hs: 189: 5) 2017-11-19 12: 25: 05.802507: [debug] Globale Paketdatenbankposition abrufen @ (Stack/GhcPkg.hs: 55: 5) 2017-11-19 12: 25: 05.808193: [debug] Prozess ausführen: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-user- Paket-db-Feld - Simple-Ausgabe Cabal-Version @ (System/Prozess/Read.hs: 306: 3) 2017-11-19 12: 25: 05.808687: [debug] Prozess ausführen: /home/cabox/.stack/ programme/x86_64-linux/ghc-8.0.2/bin/ghc-pkg - no-benutzer-paket-db liste --global @ (System/Prozess/Read.hs: 306: 3) 2017-11-19 12 : 25: 05.855073: [debug] Prozess beendet in [92m46ms [0m: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no-user-package-db-Liste --global @ (System/Prozess/Read.hs: 306: 3) 2017-11-19 12: 25: 05.857161: [debug] Prozess beendet in [92m48ms [0m: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --kein-user-package-db-Feld --simple-output Cabal-Version @ (System/Prozess/Read.hs: 306: 3) 2017-11-19 12: 25: 05.869048: [debug] Prozess beendet in [92m67ms [0m: /home/cabox/.stack/programs/x86_64-linux/ghc 8.0.2/bin/ghc --numeric-version @ (System/Prozess/Read.hs: 306: 3) 2017-11-19 12: 25: 05.871256: [debug] Auflösen von Paketeinträgen @ (Stack/Setup.hs : 260: 5) 2017-11-19 12: 25: 05.897711: [debug] Starten des Befehls in EnvConfig ausführen @ (Stack/Runners.hs: 175: 18) 2017-11-19 12: 25: 05.897916: [debug ] Parsing der Cabal-Dateien der lokalen Pakete @ (Stack/Build/Source.hs: 328: 5) 2017-11-19 12: 25: 05.905436: [debug] Parsen der Ziele @ (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] Abgeschlossen in 91ms: getPackageFiles /home/cabox/workspace/hml/hml.cabal @ (Stack/Package.hs: 259: 21) 2017-11-19 12:25 : 06.010508: [debug] Herausfinden, welche Pakete bereits installiert sind @ (Stack/Build/Installed.hs: 69: 5) 2017-11-19 12: 25: 06.010877: [debug] Prozess ausführen:/home/cabox /. stack/programme/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --global --no-benutzerpaket-db dump --expand-pkgroot @ (System/Prozess/Read.hs: 306: 3) 2017-11-19 12: 25: 06.062651: [debug] Prozess beendet 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/Prozess/Read.hs: 306: 3) 2017-11-19 12: 25: 06.086280: [debug] Paket haskeline ignorieren wegen fehlender Version 0.7.4.0 statt 0.7.3.0 @ (Stack/Build/Installed.hs: 199: 5) 2017-11-19 12: 25: 06.086478: [debug] Ignoriere Paket terminfo wegen der Version 0.4.1.0 anstelle von 0.4 .0.2 @ (Stack/Build/Installed.hs: 199: 5) 2017-11-19 12: 25: 06.086581: [debug] Ignorieren von pac Kage xhtml wegen der Version 3000.2.2 statt 3000.2.1 @ (Stack/Build/Installed.hs: 199: 5) 2017-11-19 12: 25: 06.086945: [debug] Prozess ausführen:/home/cabox/.stack/programme/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --user - no-benutzerpaket-db --package-db /home/cabox/.stack/snapshots/x86_64-linux /lts-9.13/8.0.2/pkgdb dump --expand-pkgroot @ (System/Prozess/Read.hs: 306: 3) 2017-11-19 12: 25: 06.209627: [debug] Prozess beendet in [92m122ms [ 0m: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --user - no-benutzerpaket-db --package-db/home/cabox /. stack/snapshots/x86_64-linux/lts-9.13/8.0.2/pkgdb dump --expand-pkgroot @ (System/Prozess/Read.hs: 306: 3) 2017-11-19 12: 25: 06.210994: [debug ] Führen Sie den Prozess aus: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --user --no-user-package-db --package-db/home/ca- box /workspace/hml/.stack-work/install/x86_64-linux/lts-9.13/8.0.2/pkgdb dump --expand-pkgroot @ (System/Prozess/Read.hs: 306: 3) 2017-11-19 12: 25: 06.255376: [debug] Prozess abgeschlossen in [92m43ms [0m: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --benutzer --no-user-package-db --package-db/home/cabox/workspace/hml/.stack-work/installieren/x86_64-linux/lts-9.13/8.0.2/pkgdb dump - expand-pkgroot @ (System/Prozess/Read.hs: 306: 3) 2017-11- 19 12: 25: 06.256147: [debug] Konstruieren des Buildplans @ (Stack/Build/ConstructPlan.hs: 188: 5) 2017-11-19 12: 25: 06.270612: [debug] Überprüfen, ob wir mehrere Builds erstellen ausführbare Dateien mit demselben Namen @ (Stack/Build.hs: 210: 5) 2017-11-19 12: 25: 06.271198: [debug] Ausführen des Buildplans @ (Stack/Build/Execute.hs: 478: 5) 2017 -11-19 12: 25: 06.282278: [debug] Abrufen der globalen Position der Paketdatenbank @ (Stack/GhcPkg.hs: 55: 5) 2017-11-19 12: 25: 06.282498: [debug] Ausführungsvorgang:/home/cabox/.stack/programme/x86_64-linux/ghc-8.0.2/bin/ghc-pkg - no-benutzer-paket-db liste --global @ (System/Prozess/Read.hs: 306: 3) 2017 -11-19 12: 25: 06.319127: [debug] Prozess beendet in [92m36ms [0m: /home/cabox/.stack/programs/x86_64-linux/ghc-8.0.2/bin/ghc-pkg --no- uns er-package-db Liste --global @ (System/Prozess/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] Erstellungsprozess: /home/cabox/workspace/hml/.stack-work/dist/x86_64- Linux/Cabal-1.24.2.0/Build/HML-Test/HML-Test @ (System/Prozess/Run.hs: 139: 5) 2017-11-19 12: 25: 06.344988: [info] @ (Stack/Build /Execute.hs:1587:52) Alle 0 Tests bestanden (0,00s)

EDIT2: Wenn ich organisieren tasty manuell (dh davon absehen, tasty-discover) es funktioniert. Dies würde jedoch zu viel Arbeit und viel Vorsatz führen.

+1

Ich habe nie "lecker" verwendet. Aber "Stack Test" funktioniert gut mit 'Hspec'. Vielleicht könnte ein Lauftest mit '--verbose'-Flagge irgendwie helfen. – palik

+0

@palik Soweit ich das beurteilen kann gibt es keine Hinweise in der '-v' Ausgabe; Ich habe es in das OP – jorgen

+1

aufgenommen Ich könnte das Problem reproduzieren. Aber es gibt kein Problem, wenn Sie die Tests ohne '{- # OPTIONS_GHC -F -pgmF tasty-discover # -}' und mit 'defaultMain' ausführen. Im 'Stack Test' erscheint die Zeile mit" Compiling XYZ ". XYZ ist das Modul, das nicht entdeckt werden konnte. – palik

Antwort

1

Der nächste, den ich zu einer Lösung gebracht habe, ist von tasty-discover zu tasty-th zu wechseln.

Die vollständige automatische Erkennung funktioniert immer noch nicht, aber mit Hilfe von TemplateHaskell bis $(testGroupGenerator) skaliert der Textbaustein mindestens mit der Anzahl der Testdateien und nicht mit der Anzahl der Tests.

Verwandte Themen