Test arm64 ConPTY payload packaging (#6970)
Co-authored-by: Orca <help@stably.ai>
This commit is contained in:
parent
cbd06a7671
commit
df6e5d56a7
|
|
@ -174,27 +174,36 @@ describe('electron-builder config', () => {
|
|||
})
|
||||
|
||||
it('copies the Windows node-pty ConPTY runtime beside the rebuilt addon', async () => {
|
||||
const resourcesDir = await mkdtemp(join(tmpdir(), 'orca-node-pty-conpty-runtime-'))
|
||||
try {
|
||||
const nodePtyDir = join(resourcesDir, 'node_modules', 'node-pty')
|
||||
const releaseDir = join(nodePtyDir, 'build', 'Release')
|
||||
const sourceDir = join(nodePtyDir, 'third_party', 'conpty', '0.1.0', 'win10-x64')
|
||||
await mkdir(releaseDir, { recursive: true })
|
||||
await mkdir(sourceDir, { recursive: true })
|
||||
await writeFile(join(releaseDir, 'conpty.node'), 'native addon placeholder', 'utf8')
|
||||
await writeFile(join(sourceDir, 'conpty.dll'), 'dll payload', 'utf8')
|
||||
await writeFile(join(sourceDir, 'OpenConsole.exe'), 'console payload', 'utf8')
|
||||
for (const arch of ['x64', 'arm64']) {
|
||||
const resourcesDir = await mkdtemp(join(tmpdir(), `orca-node-pty-conpty-${arch}-`))
|
||||
try {
|
||||
const nodePtyDir = join(resourcesDir, 'node_modules', 'node-pty')
|
||||
const releaseDir = join(nodePtyDir, 'build', 'Release')
|
||||
const conptyRoot = join(nodePtyDir, 'third_party', 'conpty', '0.1.0')
|
||||
await mkdir(releaseDir, { recursive: true })
|
||||
await writeFile(join(releaseDir, 'conpty.node'), 'native addon placeholder', 'utf8')
|
||||
for (const sourceArch of ['x64', 'arm64']) {
|
||||
const sourceDir = join(conptyRoot, `win10-${sourceArch}`)
|
||||
await mkdir(sourceDir, { recursive: true })
|
||||
await writeFile(join(sourceDir, 'conpty.dll'), `dll payload ${sourceArch}`, 'utf8')
|
||||
await writeFile(
|
||||
join(sourceDir, 'OpenConsole.exe'),
|
||||
`console payload ${sourceArch}`,
|
||||
'utf8'
|
||||
)
|
||||
}
|
||||
|
||||
prunePackagedNodePty(resourcesDir, 'win32', 'x64')
|
||||
prunePackagedNodePty(resourcesDir, 'win32', arch)
|
||||
|
||||
await expect(readFile(join(releaseDir, 'conpty', 'conpty.dll'), 'utf8')).resolves.toBe(
|
||||
'dll payload'
|
||||
)
|
||||
await expect(readFile(join(releaseDir, 'conpty', 'OpenConsole.exe'), 'utf8')).resolves.toBe(
|
||||
'console payload'
|
||||
)
|
||||
} finally {
|
||||
await rm(resourcesDir, { recursive: true, force: true })
|
||||
await expect(readFile(join(releaseDir, 'conpty', 'conpty.dll'), 'utf8')).resolves.toBe(
|
||||
`dll payload ${arch}`
|
||||
)
|
||||
await expect(readFile(join(releaseDir, 'conpty', 'OpenConsole.exe'), 'utf8')).resolves.toBe(
|
||||
`console payload ${arch}`
|
||||
)
|
||||
} finally {
|
||||
await rm(resourcesDir, { recursive: true, force: true })
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue