12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /* eslint-disable no-console */
- const { spawn } = require('child_process')
- const { kill } = require('cross-port-killer')
- const env = Object.create(process.env)
- env.BROWSER = 'none'
- env.TEST = true
- // flag to prevent multiple test
- let once = false
- const startServer = spawn(/^win/.test(process.platform) ? 'npm.cmd' : 'npm', ['start'], {
- env
- })
- startServer.stderr.on('data', data => {
- // eslint-disable-next-line
- console.log(data.toString())
- })
- startServer.on('exit', () => {
- kill(process.env.PORT || 8000)
- })
- console.log('Starting development server for e2e tests...')
- startServer.stdout.on('data', data => {
- console.log(data.toString())
- if (!once && data.toString().indexOf('Compiled successfully') >= 0) {
- // eslint-disable-next-line
- once = true
- console.log('Development server is started, ready to run tests.')
- const testCmd = spawn(
- /^win/.test(process.platform) ? 'npm.cmd' : 'npm',
- ['test', '--', '--maxWorkers=1', '--runInBand'],
- {
- stdio: 'inherit'
- }
- )
- testCmd.on('exit', code => {
- startServer.kill()
- process.exit(code)
- })
- }
- })
|