Open gabaum10 opened 7 years ago
I was able to work around it by adding
process.on('exit', () => {
throw new Error('Unit tests failed. See above for more information.');
});
to the top of my node script. Ugly, but I guess it works.
Actually, that didn't work. That returns an error code no matter what the exit code is. The problem is, the node execution of the qunit command always returns 0, for some reason. Even when it's failing.
I got it working, but it's really ugly and painful. I had to call the command line directly using node execSync... yeah.
const execSync = require('child_process').execSync;
execSync('node-qunit-phantomjs ./src/test/resources/qunit/test1.js.html --verbose', {stdio: [0, 1, 2]});
execSync('node-qunit-phantomjs ./src/test/resources/qunit/test12js.html --verbose', {stdio: [0, 1, 2]});
I don't know enough about this to propose a solution, so I'm open to suggestions or pull requests even.
Sure, I'll try and look into it further when I get a sec. For the time being, executing the commands directly via an execSync() works. Honestly, it might be just a short fall of node itself.
Take this setup for example:
The pre step compiles the necessary entry files for the tests. Then the runQunit.js file looks like this:
If one of those tests fail, it prints an error to the console, but doesn't return a valid error code that would kill something like CircleCI. Is there a flag in the nodeJS implementation to cause the script to fail completely if any of the qunit calls fail?