@@ -18,7 +18,11 @@ import {
1818const { spawnWithFallbackMock, signalProcessTreeMock, createWindowsOutputDecoderMock } = vi . hoisted (
1919 ( ) => ( {
2020 spawnWithFallbackMock : vi . fn ( ) ,
21- signalProcessTreeMock : vi . fn ( ( ) => Promise . resolve ( ) ) ,
21+ signalProcessTreeMock : vi . fn (
22+ ( _pid : number , _signal : string , opts ?: { onComplete ?: ( ) => void } ) => {
23+ opts ?. onComplete ?.( ) ;
24+ } ,
25+ ) ,
2226 createWindowsOutputDecoderMock : vi . fn ( ( ) => ( {
2327 decode : ( chunk : Buffer | string ) => ( Buffer . isBuffer ( chunk ) ? chunk . toString ( "utf8" ) : chunk ) ,
2428 flush : ( ) => "" ,
@@ -203,9 +207,11 @@ describe("createChildAdapter", () => {
203207 // Detachment flag is now passed to signalProcessTree so it knows whether
204208 // it can safely group-kill via -pid. (#71662)
205209 const expectedDetached = process . platform !== "win32" && ! process . env . OPENCLAW_SERVICE_MARKER ;
206- expect ( signalProcessTreeMock ) . toHaveBeenCalledWith ( 4321 , "SIGKILL" , {
207- detached : expectedDetached ,
208- } ) ;
210+ expect ( signalProcessTreeMock ) . toHaveBeenCalledWith (
211+ 4321 ,
212+ "SIGKILL" ,
213+ expect . objectContaining ( { detached : expectedDetached } ) ,
214+ ) ;
209215 expect ( killMock ) . toHaveBeenCalledWith ( "SIGKILL" ) ;
210216 } ) ;
211217
@@ -227,9 +233,11 @@ describe("createChildAdapter", () => {
227233 adapter . kill ( ) ;
228234 await Promise . resolve ( ) ;
229235
230- expect ( signalProcessTreeMock ) . toHaveBeenCalledWith ( 8888 , "SIGKILL" , {
231- detached : false ,
232- } ) ;
236+ expect ( signalProcessTreeMock ) . toHaveBeenCalledWith (
237+ 8888 ,
238+ "SIGKILL" ,
239+ expect . objectContaining ( { detached : false } ) ,
240+ ) ;
233241 expect ( killMock ) . toHaveBeenCalledWith ( "SIGKILL" ) ;
234242 } ) ;
235243
@@ -239,9 +247,11 @@ describe("createChildAdapter", () => {
239247 const { adapter, killMock } = await createAdapterHarness ( { pid : 9999 } ) ;
240248 adapter . kill ( ) ;
241249 await Promise . resolve ( ) ;
242- expect ( signalProcessTreeMock ) . toHaveBeenCalledWith ( 9999 , "SIGKILL" , {
243- detached : false ,
244- } ) ;
250+ expect ( signalProcessTreeMock ) . toHaveBeenCalledWith (
251+ 9999 ,
252+ "SIGKILL" ,
253+ expect . objectContaining ( { detached : false } ) ,
254+ ) ;
245255 expect ( killMock ) . toHaveBeenCalledWith ( "SIGKILL" ) ;
246256 } finally {
247257 delete process . env . OPENCLAW_SERVICE_MARKER ;
@@ -382,10 +392,10 @@ describe("createChildAdapter", () => {
382392 vi . useFakeTimers ( ) ;
383393 setPlatform ( "win32" ) ;
384394 let resolveTreeKill : ( ( ) => void ) | undefined ;
385- signalProcessTreeMock . mockReturnValueOnce (
386- new Promise < void > ( ( resolve ) => {
387- resolveTreeKill = resolve ;
388- } ) ,
395+ signalProcessTreeMock . mockImplementationOnce (
396+ ( _pid : number , _signal : string , opts ?: { onComplete ?: ( ) => void } ) => {
397+ resolveTreeKill = opts ?. onComplete ;
398+ } ,
389399 ) ;
390400
391401 const stub = createStubChild ( 9753 ) ;
@@ -419,10 +429,10 @@ describe("createChildAdapter", () => {
419429 vi . useFakeTimers ( ) ;
420430 setPlatform ( "win32" ) ;
421431 let resolveTreeKill : ( ( ) => void ) | undefined ;
422- signalProcessTreeMock . mockReturnValueOnce (
423- new Promise < void > ( ( resolve ) => {
424- resolveTreeKill = resolve ;
425- } ) ,
432+ signalProcessTreeMock . mockImplementationOnce (
433+ ( _pid : number , _signal : string , opts ?: { onComplete ?: ( ) => void } ) => {
434+ resolveTreeKill = opts ?. onComplete ;
435+ } ,
426436 ) ;
427437
428438 const stub = createStubChild ( 9754 ) ;
@@ -450,10 +460,10 @@ describe("createChildAdapter", () => {
450460 vi . useFakeTimers ( ) ;
451461 setPlatform ( "win32" ) ;
452462 let resolveTreeKill : ( ( ) => void ) | undefined ;
453- signalProcessTreeMock . mockReturnValueOnce (
454- new Promise < void > ( ( resolve ) => {
455- resolveTreeKill = resolve ;
456- } ) ,
463+ signalProcessTreeMock . mockImplementationOnce (
464+ ( _pid : number , _signal : string , opts ?: { onComplete ?: ( ) => void } ) => {
465+ resolveTreeKill = opts ?. onComplete ;
466+ } ,
457467 ) ;
458468
459469 const stub = createStubChild ( 9755 ) ;
0 commit comments