mirror of
https://github.com/tenrok/axios.git
synced 2026-06-20 20:00:40 +03:00
chore(ci): add local HTTP server for Karma tests; (#7022)
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import { startTestServer, stopHTTPServer } from '../test/helpers/server.js';
|
||||
import { spawn } from 'child_process';
|
||||
import chalk from "chalk";
|
||||
|
||||
let server;
|
||||
|
||||
async function run() {
|
||||
|
||||
console.log(chalk.red.bold(`[ Starting HTTP server... ]`));
|
||||
|
||||
server = await startTestServer(3000);
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
console.log('Starting karma runner...');
|
||||
|
||||
const karma = spawn(
|
||||
'npx',
|
||||
['karma', 'start', 'karma.conf.cjs', '--single-run'],
|
||||
{
|
||||
stdio: 'inherit',
|
||||
shell: true,
|
||||
env: { ...process.env, LISTEN_ADDR: '0.0.0.0' },
|
||||
});
|
||||
|
||||
karma.on('exit', (code) => {
|
||||
code ? reject(new Error(`Karma tests failed with exit code ${code}`)) : resolve();
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
(async() => {
|
||||
try {
|
||||
await run();
|
||||
} finally {
|
||||
if (server) {
|
||||
console.log(chalk.red.bold(`[ Terminating HTTP server... ]`));
|
||||
|
||||
await stopHTTPServer(server);
|
||||
}
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user