diff --git a/.circleci/config.yml b/.circleci/config.yml index b40ace9dab6f..cd1465560269 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -279,7 +279,6 @@ jobs: - run: name: 'End-to-End Tests' command: node build-system/pr-check/e2e-tests.js - - store_test_output - fail_fast - teardown_vm 'Performance Tests': diff --git a/build-system/tasks/e2e/index.js b/build-system/tasks/e2e/index.js index 73388be26648..7d4bc21818ed 100644 --- a/build-system/tasks/e2e/index.js +++ b/build-system/tasks/e2e/index.js @@ -24,18 +24,16 @@ const fs = require('fs'); const glob = require('glob'); const http = require('http'); const Mocha = require('mocha'); -const MochaJUnitReporter = require('mocha-junit-reporter'); const path = require('path'); const { createCtrlcHandler, exitCtrlcHandler, } = require('../../common/ctrlcHandler'); const {buildRuntime, getFilesFromArgv} = require('../../common/utils'); -const {createMultiplexedReporter} = require('./mocha-report-multiplexer'); const {cyan} = require('kleur/colors'); const {execOrDie} = require('../../common/exec'); const {HOST, PORT, startServer, stopServer} = require('../serve'); -const {isCiBuild, isCircleciBuild} = require('../../common/ci'); +const {isCiBuild} = require('../../common/ci'); const {log} = require('../../common/logging'); const {maybePrintCoverageMessage} = require('../helpers'); const {reportTestStarted} = require('../report-test-status'); @@ -88,26 +86,14 @@ function createMocha_() { reporter = dotsReporter; } - const options = { + return new Mocha({ // e2e tests have a different standard for when a test is too slow, // so we set a non-default threshold. slow: SLOW_TEST_THRESHOLD_MS, reporter, retries: TEST_RETRIES, fullStackTrace: true, - }; - - if (isCircleciBuild()) { - options.reporter = createMultiplexedReporter([ - options.reporter, - MochaJUnitReporter, - ]); - options.reporterOptions = { - mochaFile: 'result-reports/e2e.xml', - }; - } - - return new Mocha(options); + }); } /** diff --git a/build-system/tasks/e2e/mocha-report-multiplexer.js b/build-system/tasks/e2e/mocha-report-multiplexer.js deleted file mode 100644 index af25e92688bb..000000000000 --- a/build-system/tasks/e2e/mocha-report-multiplexer.js +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright 2021 The AMP HTML Authors. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS-IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -const Mocha = require('mocha'); -const {Base} = Mocha.reporters; - -/** - * Creates a custom Mocha reporter which runs many reporters at once. - * @param {Base[]} reporters - * @return {Function<*,MochaReportMultiplexer>} - */ -function createMultiplexedReporter(reporters) { - return class DynamicReportMultiplexer extends Base { - /** - * @param {*} runner - * @param {Mocha.Runner.options} options - */ - constructor(runner, options) { - super(runner, options); - // If there are too many reporters listening to events on the runner a - // warning will be displayed about a potential emitter leak. This should - // allow each reporter to listen to every event without exceeding the max. - // The default max listeners is 10. - const potentialEvents = Object.keys(Mocha.Runner.constants); - runner.setMaxListeners(potentialEvents.length * reporters.length); - - this.reporters = reporters.map( - (reporter) => new reporter(runner, options) - ); - } - }; -} - -module.exports = { - createMultiplexedReporter, -};