I don't think this is correct.
example
asyncDone(function () {
return cp.spawn('not_existing_command', ['hello'])
}, function (err, res) {
console.log(err, res)
// err always `null`
})
it always pass the result of spawn to res, no matter it executes echo hello or not exising command.
Because this onSuccess in index.js#L43