Skip to content

Commit 321bba7

Browse files
fix: sync process kill
1 parent fbbbf70 commit 321bba7

6 files changed

Lines changed: 17 additions & 40 deletions

File tree

test/commands/lightning/dev/component-preview/browserMenu.nut.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ import { TestSession } from '@salesforce/cli-plugins-testkit';
2020
import { expect } from 'chai';
2121
import { type Browser, type Page } from 'playwright';
2222
import { getSession } from '../helpers/sessionUtils.js';
23-
import { startLightningDevServer, getPreviewURL } from '../helpers/devServerUtils.js';
24-
import { killServerProcess } from '../helpers/processUtils.js';
23+
import { startLightningDevServer, getPreviewURL, killServerProcess } from '../helpers/devServerUtils.js';
2524
import { getPreview } from '../helpers/browserUtils.js';
2625

2726
const COMPONENT_NAME = 'helloWorld';

test/commands/lightning/dev/component-preview/componentError.nut.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ import { TestSession } from '@salesforce/cli-plugins-testkit';
2020
import { expect } from 'chai';
2121
import { type Browser, type Page } from 'playwright';
2222
import { getSession } from '../helpers/sessionUtils.js';
23-
import { startLightningDevServer, getPreviewURL } from '../helpers/devServerUtils.js';
24-
import { killServerProcess } from '../helpers/processUtils.js';
23+
import { startLightningDevServer, getPreviewURL, killServerProcess } from '../helpers/devServerUtils.js';
2524
import { getPreview } from '../helpers/browserUtils.js';
2625

2726
const COMPONENT_NAME = 'withError';

test/commands/lightning/dev/component-preview/hmr.nut.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ import { TestSession } from '@salesforce/cli-plugins-testkit';
2222
import { expect } from 'chai';
2323
import { type Browser, type Page } from 'playwright';
2424
import { getSession, getComponentPath } from '../helpers/sessionUtils.js';
25-
import { startLightningDevServer, getPreviewURL } from '../helpers/devServerUtils.js';
26-
import { killServerProcess } from '../helpers/processUtils.js';
25+
import { startLightningDevServer, getPreviewURL, killServerProcess } from '../helpers/devServerUtils.js';
2726
import { getPreview } from '../helpers/browserUtils.js';
2827

2928
const COMPONENT_NAME = 'helloWorld';

test/commands/lightning/dev/component-preview/prompts.nut.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ import {
2626
waitForPrompt,
2727
waitForProcessExit,
2828
getPreviewURL,
29+
killServerProcess,
2930
} from '../helpers/devServerUtils.js';
30-
import { killServerProcess } from '../helpers/processUtils.js';
3131
import { getPreview } from '../helpers/browserUtils.js';
3232

3333
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);

test/commands/lightning/dev/helpers/devServerUtils.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import { spawn, ChildProcessByStdio, ChildProcessWithoutNullStreams } from 'node
1717
import { Readable } from 'node:stream';
1818
import type { Writable } from 'node:stream';
1919
import path from 'node:path';
20+
import { type ChildProcess } from 'node:child_process';
2021
import { PLUGIN_ROOT_PATH } from './utils.js';
2122

2223
const PREVIEW_URL_REGEX = /(https:\/\/[^\s]*\/lwr\/application\/[^\s]+)/;
@@ -131,3 +132,15 @@ export function startLightningDevServer(
131132
stdio: ['pipe', 'pipe', 'pipe'],
132133
});
133134
}
135+
136+
export function killServerProcess(serverProcess: ChildProcess | undefined): void {
137+
// Clean up
138+
try {
139+
if (serverProcess?.pid && process.kill(serverProcess.pid, 0)) {
140+
process.kill(serverProcess.pid, 'SIGKILL');
141+
}
142+
} catch (error) {
143+
const err = error as NodeJS.ErrnoException;
144+
if (err.code !== 'ESRCH') throw error;
145+
}
146+
}

test/commands/lightning/dev/helpers/processUtils.ts

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)