Yeah, well I would have just checked process.stdin.isTTY to see if stdin was used, but unfortunately you are using shelljs.exec in the tests, which does not set process.stdin.isTTY correctly, so that option was not avaliable.

As for assuming stdin if there are not args, that means if someone just types `eslint`, it will block waiting for stdin and the user will wonder what is happening. Doesn't seem like a very good way to go about it to me.