| ... | @@ -12316,7 +12316,11 @@ describe("AcpAdapterV2", () => { | ... | @@ -12316,7 +12316,11 @@ describe("AcpAdapterV2", () => { |
| 12316 | }); | 12316 | }); |
| 12317 | assert.equal(taskkillCommands.length, 1); | 12317 | assert.equal(taskkillCommands.length, 1); |
| 12318 | yield* Scope.close(runtimeScope, Exit.void); | 12318 | yield* Scope.close(runtimeScope, Exit.void); |
| 12319 | assert.equal(taskkillCommands.length, 1); | 12319 | // The scope finalizer picks its kill path from the host, not processGroupPlatform, |
| | 12320 | // so only a Windows host sends it through taskkill a second time. |
| | 12321 | const finalizerTaskkills = (yield* HostProcess.Platform) === "win32" ? 1 : 0; |
| | 12322 | assert.equal(taskkillCommands.length, 1 + finalizerTaskkills); |
| | 12323 | assert.deepEqual(taskkillCommands.at(-1), taskkillCommands[0]); |
| 12320 | }).pipe(Effect.provide(layerTest)), | 12324 | }).pipe(Effect.provide(layerTest)), |
| 12321 | ); | 12325 | ); |
| 12322 | | 12326 | |
| ... | @@ -12433,6 +12437,7 @@ describe("AcpAdapterV2", () => { | ... | @@ -12433,6 +12437,7 @@ describe("AcpAdapterV2", () => { |
| 12433 | | 12437 | |
| 12434 | it.live("poisons the session when hard teardown defects and blocks replacement work", () => | 12438 | it.live("poisons the session when hard teardown defects and blocks replacement work", () => |
| 12435 | Effect.gen(function* () { | 12439 | Effect.gen(function* () { |
| | 12440 | if ((yield* HostProcess.Platform) !== "linux") return; |
| 12436 | const childProcessSpawner = yield* ChildProcessSpawner.ChildProcessSpawner; | 12441 | const childProcessSpawner = yield* ChildProcessSpawner.ChildProcessSpawner; |
| 12437 | const fileSystem = yield* FileSystem.FileSystem; | 12442 | const fileSystem = yield* FileSystem.FileSystem; |
| 12438 | const idAllocator = yield* IdAllocator.IdAllocatorV2; | 12443 | const idAllocator = yield* IdAllocator.IdAllocatorV2; |