make timeout configurable
This commit is contained in:
parent
8283a09322
commit
184ca67221
|
|
@ -36,7 +36,8 @@ export default defineConfig({
|
|||
| `cwd` | Current working directory of the spawned process, defaults to the directory of the configuration file. |
|
||||
| `stdout` | If `"pipe"`, it will pipe the stdout of the command to the process stdout. If `"ignore"`, it will ignore the stdout of the command. Default to `"ignore"`. |
|
||||
| `stderr` | Whether to pipe the stderr of the command to the process stderr or ignore it. Defaults to `"pipe"`. |
|
||||
| `timeout` | `How long to wait for the process to start up and be available in milliseconds. Defaults to 60000. |
|
||||
| `timeout` | How long to wait for the process to start up and be available in milliseconds. Defaults to 60000. |
|
||||
| `shutdownTimeout` | How long to wait for the process to gracefully shut down after it was sent `SIGINT`. If exceeded, process is killed with `SIGKILL`. Defaults to 500 milliseconds. |
|
||||
|
||||
## Adding a server timeout
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ export type WebServerPluginOptions = {
|
|||
url?: string;
|
||||
ignoreHTTPSErrors?: boolean;
|
||||
timeout?: number;
|
||||
shutdownTimeout?: number;
|
||||
reuseExistingServer?: boolean;
|
||||
cwd?: string;
|
||||
env?: { [key: string]: string; };
|
||||
|
|
@ -111,10 +112,10 @@ export class WebServerPlugin implements TestRunnerPlugin {
|
|||
if (!success)
|
||||
throw new Error(`SIGINT didn't succeed, fall back to non-graceful shutdown`);
|
||||
await Promise.race([
|
||||
timers.setTimeout(1000).then(() => {
|
||||
timers.setTimeout(this._options.shutdownTimeout ?? 500).then(() => {
|
||||
// @ts-expect-error. SIGINT didn't kill the process, but `processLauncher` will only attempt killing it if this is false
|
||||
launchedProcess.killed = false;
|
||||
return Promise.reject(new Error(`server didn't close gracefully within a second, falling back to non-graceful shutdown`))
|
||||
return Promise.reject(new Error(`server didn't close gracefully within a second, falling back to non-graceful shutdown`));
|
||||
}),
|
||||
new Promise(f => launchedProcess.once('exit', f)),
|
||||
]);
|
||||
|
|
|
|||
Loading…
Reference in a new issue