2015-06-08 8 views
7

Ho installato jenkins su Ubuntu server 14.04 su un'istanza EC2. Ho alcuni test di selenio che eseguo usando behave come runner di test.Il test run run di test non ha un'uscita colorata su Jenkins

Su Jenkins ho anche installato il plug-in AnsiColor sperando di ottenere l'output a colori sulla console di jenkins, tuttavia ottengo il colore per tutto il resto tranne la sintassi di Gherking. Errori di selenio, python debug, tutto ha il colore ... eccetto per l'output di comportamento.

Ora il problema è che se eseguo i test su un Mac o su Ubuntu ma non con l'utente Jenkins, tutto funziona correttamente ei colori sono presenti.

Io davvero non ho alcun codice per pubblicare, ma posso dire quello che ho cercato inutilmente:

  • esecuzione si comportano con behave --color
  • mappatura della mappa dei colori di AnsiColorPlugin alle sequenze di escape di si comportano si trovano in formatter/ansi_escapes.py
  • aggiungendo #!/bin/bash a Jenkins costruire script per fare in modo che non venga eseguito con sh invece di bash

Se questa è di alcuna rilevanza Sto usando Python 3.4 su virtualenv

Oltre la risposta reale, qualche suggerimento su come eseguire il debug questo sono i benvenuti! grazie

+0

quale opzione è abilitata in questo momento in ANSIColor plug-in (Xterm)? se "comportarsi" le righe di output fa eco/stampa una determinata parola chiave ogni volta in ogni riga, puoi provare "Log parser plug-in" e creare un file di regole parser con "info" e fornire quella parola chiave nel pattern. Tutte le linee diventeranno BLU. –

+0

Sei mai arrivato ovunque con questo? Di fronte allo stesso problema. –

+0

@ DTI-Matt No, non l'ho fatto. Ti assicuro che se troverò un trucco lo posterò come risposta, se mai tenterò di nuovo. – skamsie

risposta

3

Leggendo il codice sorgente originale di PrettyFormatter, non è possibile forzarlo a utilizzare i colori poiché utilizza isatty per determinare se sta scrivendo sul terminale effettivo.

Tuttavia, le modifiche necessarie per consentire la stampa a colori sono banali:

https://github.com/mrkafk/behave/commit/5fa2dd3fd1dc7149857df4da156d8fd00f5058a5

Ho creato richiesta di pull e testato per lavorare in Jenkins (dopo aver attivato parsing codici ANSI in configurazione di progetto ovviamente):

enter image description here