github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/testem.js (about) 1 'use strict'; 2 3 const MultiReporter = require('testem-multi-reporter'); 4 const TapReporter = require('testem/lib/reporters/tap_reporter'); 5 const XunitReporter = require('testem/lib/reporters/xunit_reporter'); 6 const fs = require('fs'); 7 8 const config = { 9 test_page: 'tests/index.html?hidepassed', 10 disable_watching: true, 11 launch_in_ci: ['Chrome'], 12 launch_in_dev: ['Chrome'], 13 browser_start_timeout: 120, 14 parallel: -1, 15 browser_args: { 16 // New format in testem/master, but not in a release yet 17 // Chrome: { 18 // ci: ['--headless', '--disable-gpu', '--remote-debugging-port=9222', '--window-size=1440,900'], 19 // }, 20 Chrome: { 21 ci: [ 22 // --no-sandbox is needed when running Chrome inside a container 23 process.env.CI ? '--no-sandbox' : null, 24 '--headless', 25 '--disable-dev-shm-usage', 26 '--disable-software-rasterizer', 27 '--mute-audio', 28 '--remote-debugging-port=0', 29 '--window-size=1440,900', 30 ].filter(Boolean), 31 }, 32 }, 33 }; 34 35 if (process.env.CI) { 36 const reporters = [ 37 { 38 ReporterClass: TapReporter, 39 args: [false, null, { get: () => false }], 40 }, 41 { 42 ReporterClass: XunitReporter, 43 args: [ 44 false, 45 fs.createWriteStream('/tmp/test-reports/ui.xml'), 46 { get: () => false }, 47 ], 48 }, 49 ]; 50 51 const multiReporter = new MultiReporter({ reporters }); 52 53 config.reporter = multiReporter; 54 } 55 56 module.exports = config;