test(cli): mount the never-dispose plugin through --config

The headless shutdown probe needs a plugin that refuses to dispose, so
the second Ctrl+C has something to force past. Writing it to the Harness
home stopped working when the personal composition layer was deleted:
nothing is discovered there, the plugin never mounted, and the first
signal drained cleanly — leaving the second PTY action to time out.
This commit is contained in:
Yichen Jiang
2026-08-05 18:36:32 +08:00
parent 70cf4a1471
commit d8d487236f
+5 -2
View File
@@ -66,7 +66,10 @@ async function runHeadlessPtySmoke(): Promise<string> {
try {
const home = join(cwd, '.dsh')
await mkdir(home, { recursive: true })
await writeFile(join(home, 'config.yaml'), [
// The overlay is named, not discovered: nothing is auto-loaded from the
// Harness home, and `-p` takes `--config` for exactly this reason.
const overlay = join(cwd, 'never-dispose.cordis.yml')
await writeFile(overlay, [
'- insert:',
' - id: never-dispose',
` name: '${neverDisposePlugin}'`,
@@ -74,7 +77,7 @@ async function runHeadlessPtySmoke(): Promise<string> {
].join('\n'))
const launch = resolveExampleLaunch({
srcBin: dshBinScript,
configArgs: ['-p', 'never complete'],
configArgs: ['-p', 'never complete', '--config', overlay],
tsconfigPath,
env: {
DSH_HOME: home,