2016-03-02 3 views
0

Lorsque j'utilise la pile localement avec la suite de tests (Hspec), elle imprime les cas de tests (leurs noms, contextes) en temps réel. Maintenant, je dois forcer ce comportement sur Travis CI (où j'utilise Cabal) parce que ma suite de tests a commencé à prendre plus de 10 minutes et je me retrouve avec:Existe-t-il un moyen de réaliser des tests de test Cabal en temps réel?

Aucune sortie n'a été reçue dans le dernier 10 minutes, cela potentiellement indique une construction bloquée ou quelque chose de mal avec la construction elle-même.

Essayé --show-details=streaming sans succès (en combinaison avec --test-option=--format=progress).


Les commandes qui sont exécutées (une variante):

cabal install --only-dependencies --enable-tests 
cabal configure --enable-tests --enable-coverage -v2 
cabal build 
cabal test --show-details=streaming --test-option=--format=progress 
+0

Veuillez publier votre fichier cabal et la commande exacte que Travis exécute. –

+0

@WillSewell, Commandes ajoutées qui sont exécutées sur le serveur CI. Qu'est-ce que vous attendez de comprendre à partir du fichier cabal? – Mark

+0

Travis peut travailler avec pile, btw. – PyRulez

Répondre

1

Il semble que vous n'êtes pas compilez votre programme avec le drapeau -threaded. Cela est nécessaire, sinon il se comportera comme si vous aviez défini --show-details=always, même si vous aviez défini --show-details=streaming.

La raison pour laquelle je voulais regarder votre fichier cabal est que vous pourriez avoir défini -threaded là.

+0

Pas moyen. Ça ne marche pas pour moi. Les résultats sont imprimés uniquement lorsque la suite de tests complète est terminée. – Mark

+0

Où avez-vous défini le drapeau '-threaded'? Et que voyez-vous si vous exécutez les mêmes commandes qui sont exécutées sur Travis localement? –

+0

Dans 'ghc-options: -threaded' dans le fichier cabal, section suite de tests. C'est peut-être quelque chose qui a trait à Travis, peut-être que cela a quelque chose à voir avec la mise en mémoire tampon, je ne sais pas. Pour tester cela localement, j'ai besoin de configurer l'ensemble de la chose sandbox. Je ferai ceci si 'travis_wait' ne fonctionne pas pour moi. Ce problème a déjà causé un retard douloureux dans mon travail, donc si 'travis_wait' fonctionne, je ne passerai pas une minute supplémentaire à penser à ce qui ne va pas avec Cabal cette fois-ci, assez de ces trucs poilus. J'accepte votre réponse, je pense que c'est correct en général. – Mark