test(windows): skip POSIX-only assertions
This commit is contained in:
@@ -2403,7 +2403,7 @@ describe('dynamic nested workspace context injection', () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
it('skips unreadable nested instruction files without attaching empty context', async () => {
|
it.skipIf(process.platform === 'win32')('skips unreadable nested instruction files without attaching empty context', async () => {
|
||||||
const root = await tempRepo()
|
const root = await tempRepo()
|
||||||
const home = await tempRepo()
|
const home = await tempRepo()
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ describe('saveTextFile', () => {
|
|||||||
expect(saved.path.includes('/..')).toBe(false)
|
expect(saved.path.includes('/..')).toBe(false)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('creates the session dir with owner-only permissions', async () => {
|
it.skipIf(process.platform === 'win32')('creates the session dir with owner-only permissions', async () => {
|
||||||
const saved = await saveTextFile({ root, sessionId: 'sess-1', suggestedName: 'r.txt', content: 'x' })
|
const saved = await saveTextFile({ root, sessionId: 'sess-1', suggestedName: 'r.txt', content: 'x' })
|
||||||
// 0o700 dir, 0o600 file (masked by umask, but the owner bits must hold).
|
// 0o700 dir, 0o600 file (masked by umask, but the owner bits must hold).
|
||||||
expect(statSync(dirname(saved.path)).mode & 0o700).toBe(0o700)
|
expect(statSync(dirname(saved.path)).mode & 0o700).toBe(0o700)
|
||||||
|
|||||||
@@ -263,7 +263,7 @@ describe('dsh-subagent-acp', () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
it('escalates to SIGTERM for a child that ignores EOF but is not SIGTERM-trapping', async () => {
|
it.skipIf(process.platform === 'win32')('escalates to SIGTERM for a child that ignores EOF but is not SIGTERM-trapping', async () => {
|
||||||
// A child that keeps its loop alive past stdin EOF (so the graceful window
|
// A child that keeps its loop alive past stdin EOF (so the graceful window
|
||||||
// times out) but exits cooperatively on SIGTERM must die on the SIGTERM tier
|
// times out) but exits cooperatively on SIGTERM must die on the SIGTERM tier
|
||||||
// — dispose returns there, never reaching the SIGKILL tier. The child touches
|
// — dispose returns there, never reaching the SIGKILL tier. The child touches
|
||||||
|
|||||||
@@ -258,8 +258,9 @@ describe('createIsolatedConfigDir', () => {
|
|||||||
expect(dir.path.startsWith(join(tmpdir(), 'dsh-subagent-subprocess-test-'))).toBe(true)
|
expect(dir.path.startsWith(join(tmpdir(), 'dsh-subagent-subprocess-test-'))).toBe(true)
|
||||||
const st = await stat(dir.path)
|
const st = await stat(dir.path)
|
||||||
expect(st.isDirectory()).toBe(true)
|
expect(st.isDirectory()).toBe(true)
|
||||||
// Private (0700) per the defensive-patterns temp-dir rule.
|
// Windows reports synthetic POSIX mode bits; privacy comes from the
|
||||||
expect(st.mode & 0o777).toBe(0o700)
|
// inherited directory ACL rather than chmod-compatible mode bits.
|
||||||
|
if (process.platform !== 'win32') expect(st.mode & 0o777).toBe(0o700)
|
||||||
} finally {
|
} finally {
|
||||||
await dir.remove()
|
await dir.remove()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user