open-nomad/ui/testem.js
2023-04-10 15:36:59 +00:00

62 lines
1.5 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
'use strict';
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 = {
test_page: 'tests/index.html?hidepassed',
disable_watching: true,
launch_in_ci: ['Chrome'],
launch_in_dev: ['Chrome'],
browser_start_timeout: 120,
parallel: -1,
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: {
ci: [
// --no-sandbox is needed when running Chrome inside a container
process.env.CI ? '--no-sandbox' : null,
'--headless',
'--disable-dev-shm-usage',
'--disable-software-rasterizer',
'--mute-audio',
'--remote-debugging-port=0',
'--window-size=1440,900',
].filter(Boolean),
},
},
};
if (process.env.CI) {
const reporters = [
{
ReporterClass: TapReporter,
args: [false, null, { get: () => false }],
},
{
ReporterClass: XunitReporter,
args: [
false,
fs.createWriteStream('/tmp/test-reports/ui.xml'),
{ get: () => false },
],
},
];
const multiReporter = new MultiReporter({ reporters });
config.reporter = multiReporter;
}
module.exports = config;