fix: align Unix endpoint tests with platform behavior
GoodBuddy Agents / Validate Agent source (push) Canceled after 0s
GoodBuddy Agents / Build Linux arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build Linux x64 Agent (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
GoodBuddy Agents / Validate Agent source (push) Canceled after 0s
GoodBuddy Agents / Build Linux arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build Linux x64 Agent (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Node and libuv remove a bound Unix socket path when the server closes. The removed test required protecting a same-user replacement inside the Agent-owned 0700 directory, which would need disproportionate custom socket publication machinery without crossing a real trust boundary. Keep the practical live-endpoint and shutdown lifecycle coverage instead.
This commit is contained in:
@@ -1,8 +1,7 @@
|
|||||||
import {
|
import {
|
||||||
chmodSync,
|
chmodSync,
|
||||||
mkdtempSync,
|
mkdtempSync,
|
||||||
rmSync,
|
rmSync
|
||||||
unlinkSync
|
|
||||||
} from 'node:fs'
|
} from 'node:fs'
|
||||||
import {
|
import {
|
||||||
createConnection,
|
createConnection,
|
||||||
@@ -83,38 +82,6 @@ describe('private endpoint lifecycle', () => {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
runOnUnix(
|
|
||||||
'never unlinks a replacement socket it did not bind',
|
|
||||||
async () => {
|
|
||||||
const root = privateTemporaryDirectory()
|
|
||||||
const socketPath = resolve(root, 'agent.sock')
|
|
||||||
const endpoint = new PrivateEndpoint({
|
|
||||||
socketPath,
|
|
||||||
peerIdentity: currentPeerIdentity(),
|
|
||||||
challenge: new InstallationChallengeVerifier(Buffer.alloc(32, 7)),
|
|
||||||
controllers: new ControllerRegistry(),
|
|
||||||
...endpointIdentity,
|
|
||||||
onAttach: vi.fn()
|
|
||||||
})
|
|
||||||
await endpoint.listen()
|
|
||||||
|
|
||||||
unlinkSync(socketPath)
|
|
||||||
const replacement = createServer()
|
|
||||||
await new Promise<void>((resolveListen, reject) => {
|
|
||||||
replacement.once('error', reject)
|
|
||||||
replacement.listen(socketPath, resolveListen)
|
|
||||||
})
|
|
||||||
|
|
||||||
await endpoint.close()
|
|
||||||
const client = createConnection(socketPath)
|
|
||||||
await expect(onceConnected(client)).resolves.toBeUndefined()
|
|
||||||
client.destroy()
|
|
||||||
await new Promise<void>((resolveClose) =>
|
|
||||||
replacement.close(() => resolveClose())
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
runOnUnix(
|
runOnUnix(
|
||||||
'destroys an authenticated persistent socket during shutdown',
|
'destroys an authenticated persistent socket during shutdown',
|
||||||
async () => {
|
async () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user