2023-04-10 15:36:59 +00:00
|
|
|
/**
|
|
|
|
* Copyright (c) HashiCorp, Inc.
|
|
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
|
|
*/
|
|
|
|
|
2020-07-09 16:37:00 +00:00
|
|
|
'use strict';
|
|
|
|
|
2020-04-01 16:19:44 +00:00
|
|
|
const MultiReporter = require('testem-multi-reporter');
|
|
|
|
const TapReporter = require('testem/lib/reporters/tap_reporter');
|
|
|
|
const XunitReporter = require('testem/lib/reporters/xunit_reporter');
|
|
|
|
const fs = require('fs');
|
|
|
|
|
|
|
|
const config = {
|
2017-09-19 14:47:10 +00:00
|
|
|
test_page: 'tests/index.html?hidepassed',
|
|
|
|
disable_watching: true,
|
2018-01-05 23:58:58 +00:00
|
|
|
launch_in_ci: ['Chrome'],
|
2017-09-19 14:47:10 +00:00
|
|
|
launch_in_dev: ['Chrome'],
|
2020-07-09 16:37:00 +00:00
|
|
|
browser_start_timeout: 120,
|
2022-01-26 18:06:56 +00:00
|
|
|
parallel: -1,
|
2018-01-05 23:58:58 +00:00
|
|
|
browser_args: {
|
|
|
|
// New format in testem/master, but not in a release yet
|
|
|
|
// Chrome: {
|
|
|
|
// ci: ['--headless', '--disable-gpu', '--remote-debugging-port=9222', '--window-size=1440,900'],
|
|
|
|
// },
|
|
|
|
Chrome: {
|
2019-03-15 20:26:18 +00:00
|
|
|
ci: [
|
|
|
|
// --no-sandbox is needed when running Chrome inside a container
|
|
|
|
process.env.CI ? '--no-sandbox' : null,
|
2018-01-05 23:58:58 +00:00
|
|
|
'--headless',
|
2019-03-15 20:26:18 +00:00
|
|
|
'--disable-dev-shm-usage',
|
|
|
|
'--disable-software-rasterizer',
|
|
|
|
'--mute-audio',
|
|
|
|
'--remote-debugging-port=0',
|
2021-12-28 14:45:20 +00:00
|
|
|
'--window-size=1440,900',
|
|
|
|
].filter(Boolean),
|
|
|
|
},
|
|
|
|
},
|
2017-09-19 14:47:10 +00:00
|
|
|
};
|
2020-04-01 16:19:44 +00:00
|
|
|
|
|
|
|
if (process.env.CI) {
|
2021-12-28 14:45:20 +00:00
|
|
|
const reporters = [
|
|
|
|
{
|
|
|
|
ReporterClass: TapReporter,
|
|
|
|
args: [false, null, { get: () => false }],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ReporterClass: XunitReporter,
|
2021-12-28 16:08:12 +00:00
|
|
|
args: [
|
|
|
|
false,
|
|
|
|
fs.createWriteStream('/tmp/test-reports/ui.xml'),
|
|
|
|
{ get: () => false },
|
|
|
|
],
|
2021-12-28 14:45:20 +00:00
|
|
|
},
|
|
|
|
];
|
2020-04-01 16:19:44 +00:00
|
|
|
|
|
|
|
const multiReporter = new MultiReporter({ reporters });
|
|
|
|
|
|
|
|
config.reporter = multiReporter;
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = config;
|