@@ -154,11 +154,6 @@ exports.Server = function Server(bsClient, workers, config, callback) {
154154 }
155155 }
156156
157- function parseBody ( body ) {
158- // TODO: Have better implementation
159- return JSON . parse ( qs . parse ( body ) . data . escapeSpecialChars ( ) ) ;
160- }
161-
162157 function formatTraceback ( details ) {
163158 var output = '"' + details . testName + '" failed' ;
164159 if ( details . error ) {
@@ -243,18 +238,18 @@ exports.Server = function Server(bsClient, workers, config, callback) {
243238 var query = null ;
244239
245240 try {
246- query = parseBody ( body ) ;
241+ query = JSON . parse ( body ) ;
247242 } catch ( e ) {
248243 logger . info ( '[%s] Exception in parsing log' , worker . string ) ;
249244 logger . info ( '[%s] Log: ' + qs . parse ( body ) . data , worker . string ) ;
250245 }
251246
252- var browserReport = getBrowserReport ( browserInfo ) ;
253- browserReport . tests . push ( query . test || { } ) ;
254-
255247 logger . trace ( '[%s] _progress' , worker . id , JSON . stringify ( query ) ) ;
256248
257249 if ( query && query . test && query . test . errors ) {
250+ var browserReport = getBrowserReport ( browserInfo ) ;
251+ browserReport . tests . push ( query . test || { } ) ;
252+
258253 query . test . errors . forEach ( function ( error ) {
259254 logger . info ( '[%s] ' + chalk . red ( 'Error:' ) , browserInfo , formatTraceback ( {
260255 error : error ,
@@ -280,7 +275,7 @@ exports.Server = function Server(bsClient, workers, config, callback) {
280275
281276 var query = null ;
282277 try {
283- query = parseBody ( body ) ;
278+ query = JSON . parse ( body ) ;
284279 } catch ( e ) { }
285280
286281 logger . trace ( '[%s] _report' , worker . id , JSON . stringify ( query ) ) ;
@@ -291,8 +286,13 @@ exports.Server = function Server(bsClient, workers, config, callback) {
291286 var browserReport = getBrowserReport ( browserInfo ) ;
292287 browserReport . suites = query ;
293288
294- if ( query . testCounts ) {
295- var color = query . status === 'failed' ? 'red' : 'green' ;
289+ var color ;
290+ if ( config [ 'test_framework' ] === 'jasmine' ) {
291+ color = ( query . total !== query . passed ) ? 'red' : 'green' ;
292+ logger . info ( '[%s] ' + chalk [ color ] ( ( query . total !== query . passed ) ? 'Failed:' : 'Passed:' ) + ' %d tests, %d passed, %d failed; ran for %dms' , browserInfo , query . total , query . passed , query . failed , query . runtime ) ;
293+ config . status += query . failed ;
294+ } else if ( query . testCounts ) {
295+ color = query . status === 'failed' ? 'red' : 'green' ;
296296 logger . info ( '[%s] ' + chalk [ color ] ( query . status === 'failed' ? 'Failed:' : 'Passed:' ) + ' %d tests, %d passed, %d failed, %d skipped; ran for %dms' , browserInfo , query . testCounts . total , query . testCounts . passed , query . testCounts . failed , query . testCounts . skipped , query . runtime ) ;
297297 config . status += query . testCounts . failed ;
298298 }
@@ -347,7 +347,7 @@ exports.Server = function Server(bsClient, workers, config, callback) {
347347 } ,
348348 '_log' : function logHandler ( uri , body , request , response ) {
349349 var uuid = getWorkerUuid ( request ) ;
350- var query = parseBody ( body ) ;
350+ var query = body ;
351351 logger . trace ( '[%s] _log' , ( ( uuid && workers [ uuid ] ) || { } ) . id , query ) ;
352352
353353 var logged = false ;
0 commit comments