Skip to content

Commit

Permalink
refactor: update lib/runner to ES6 (#3033)
Browse files Browse the repository at this point in the history
  • Loading branch information
lusarz authored and johnjbarton committed Jun 9, 2018
1 parent 011a90c commit e8ca4ec
Showing 1 changed file with 25 additions and 24 deletions.
49 changes: 25 additions & 24 deletions lib/runner.js
Original file line number Diff line number Diff line change
@@ -1,45 +1,46 @@
var http = require('http')
'use strict'

var constant = require('./constants')
var helper = require('./helper')
var cfg = require('./config')
var logger = require('./logger')
var log = logger.create('runner')
const http = require('http')

var parseExitCode = function (buffer, defaultCode, failOnEmptyTestSuite) {
var tailPos = buffer.length - Buffer.byteLength(constant.EXIT_CODE) - 2
const constant = require('./constants')
const helper = require('./helper')
const cfg = require('./config')
const logger = require('./logger')
const log = logger.create('runner')

function parseExitCode (buffer, defaultExitCode, failOnEmptyTestSuite) {
const tailPos = buffer.length - Buffer.byteLength(constant.EXIT_CODE) - 2

if (tailPos < 0) {
return {exitCode: defaultCode, buffer: buffer}
return { exitCode: defaultExitCode, buffer }
}

// tail buffer which might contain the message
var tail = buffer.slice(tailPos)
var tailStr = tail.toString()
const tail = buffer.slice(tailPos)
const tailStr = tail.toString()
if (tailStr.substr(0, tailStr.length - 2) === constant.EXIT_CODE) {
var emptyInt = parseInt(tailStr.substr(-2, 1), 10)
var exitCode = parseInt(tailStr.substr(-1), 10)
const emptyInt = parseInt(tailStr.substr(-2, 1), 10)
let exitCode = parseInt(tailStr.substr(-1), 10)
if (failOnEmptyTestSuite === false && emptyInt === 0) {
log.warn('Test suite was empty.')
exitCode = 0
}
return {exitCode: exitCode, buffer: buffer.slice(0, tailPos)}
return { exitCode, buffer: buffer.slice(0, tailPos) }
}

return {exitCode: defaultCode, buffer: buffer}
return { exitCode: defaultExitCode, buffer }
}

// TODO(vojta): read config file (port, host, urlRoot)
exports.run = function (config, done) {
function run (config, done) {
config = config || {}

logger.setupFromConfig(config)

done = helper.isFunction(done) ? done : process.exit
config = cfg.parseConfig(config.configFile, config)

var exitCode = 1
var options = {
let exitCode = 1
const options = {
hostname: config.hostname,
path: config.urlRoot + 'run',
port: config.port,
Expand All @@ -49,16 +50,14 @@ exports.run = function (config, done) {
}
}

var request = http.request(options, function (response) {
const request = http.request(options, function (response) {
response.on('data', function (buffer) {
var parsedResult = parseExitCode(buffer, exitCode, config.failOnEmptyTestSuite)
const parsedResult = parseExitCode(buffer, exitCode, config.failOnEmptyTestSuite)
exitCode = parsedResult.exitCode
process.stdout.write(parsedResult.buffer)
})

response.on('end', function () {
done(exitCode)
})
response.on('end', () => done(exitCode))
})

request.on('error', function (e) {
Expand All @@ -79,3 +78,5 @@ exports.run = function (config, done) {
colors: config.colors
}))
}

exports.run = run

0 comments on commit e8ca4ec

Please sign in to comment.