code: function checkJs (mode, callback) {
    var exercise = this
  
    if (!exercise.passed)
      return callback(null, true) // shortcut if we've already had a failure
  
    gyp.rebuild(copyFauxTempDir, function (err) {
      if (err) {
        exercise.emit('fail', 'Compile mock C++ to test JavaScript: ' + err.message)
        return callback(null, false)
      }
  
      execWith(copyFauxTempDir, '♥ FAUX', function (err, pass) {
        if (err)
          return callback(err)
        if (!pass) {
          exercise.emit('fail', 'JavaScript code loads addon, invokes `length(str)` method and prints the return value')
          return callback(null, false)
        }
  
        execWith(copyFauxTempDir, '♥ FAUX FAUX FAUX FAUX ♥', function (err, pass) {
          if (err)
            return callback(err)
  
          exercise.emit(pass ? 'pass' : 'fail'
              , 'JavaScript code loads addon, invokes `length(str)` method and prints the return value')
          callback(null, pass)
        })
      })
    })
  }
docs: run `node-gyp rebuild` on a mocked version of the addon that prints what we want so we can test that their JS is doing what it is supposed to be doing and there is no cheating! (e.g. console.log(...))