Hi there,
As a few have pointed out already, in your documentation it says that setting options.base will be used for specifying a custom Gruntfile.js location. However, in the code it is being used as the path to the grunt executable. This is causing ENOENT errors because it is trying to spawn from an invalid location. (Since the grunt executable would not likely exist in the same directory as the Gruntfile, its either globally installed /usr/bin (etc) and on the PATH, or when grunt-cli is a dependency it would be in node_modules/.bin)
A solution would be to have two separate options for the Gruntfile location and the grunt executable
As a side note, the mocha tests are not picking this error up because it seems that the overriding of process.stdout.write is having the side effect of squelching the failing tests.