diff --git a/curriculum/test/test-challenges.js b/curriculum/test/test-challenges.js index 271d1709c6..3ce0f08218 100644 --- a/curriculum/test/test-challenges.js +++ b/curriculum/test/test-challenges.js @@ -1,4 +1,5 @@ -const assert = require('chai').assert; +const { assert, AssertionError } = require('chai'); +const Mocha = require('mocha'); const { flatten } = require('lodash'); const path = require('path'); @@ -26,6 +27,15 @@ const { challengeTypes } = require('../../client/utils/challengeTypes'); const { LOCALE: lang = 'english' } = process.env; +const oldRunnerFail = Mocha.Runner.prototype.fail; +Mocha.Runner.prototype.fail = function(test, err) { + // Don't show stacktrace for assertion errors. + if (err.stack && err instanceof AssertionError) { + delete err.stack; + } + return oldRunnerFail.call(this, test, err); +}; + let mongoIds = new MongoIds(); let challengeTitles = new ChallengeTitles(); @@ -127,6 +137,9 @@ const jQueryScript = fs.readFileSync( } it('Test suite must fail on the initial contents', async function() { + // suppress errors in the console. + const oldConsoleError = console.error; + console.error = () => {}; let fails = ( await Promise.all(tests.map(async function(test) { try { @@ -141,6 +154,7 @@ const jQueryScript = fs.readFileSync( return true; } }))).some(v => v); + console.error = oldConsoleError; assert(fails, 'Test suit does not fail on the initial contents'); });