Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
import assert from 'node:assert/strict'
|
||||
|
||||
import { test } from 'vitest'
|
||||
|
||||
import { hasWindowsPathPrefix, isHermesOwnedVenvDaemon } from './venv-holder-select'
|
||||
|
||||
const SCRIPTS = 'C:\\Hermes\\venv\\Scripts'
|
||||
|
||||
test('matches the hindsight daemon shim (exe under venv Scripts + hindsight cmdline)', () => {
|
||||
assert.equal(
|
||||
isHermesOwnedVenvDaemon(
|
||||
'C:\\Hermes\\venv\\Scripts\\pythonw.exe',
|
||||
'C:\\Hermes\\venv\\Scripts\\pythonw.exe -m hindsight_api.main --daemon --idle-timeout 300 --port 9177',
|
||||
SCRIPTS
|
||||
),
|
||||
true
|
||||
)
|
||||
})
|
||||
|
||||
test('Windows path prefix match is ordinal case-insensitive', () => {
|
||||
assert.equal(
|
||||
isHermesOwnedVenvDaemon(
|
||||
'c:\\hermes\\venv\\scripts\\python.exe',
|
||||
'python.exe -m hindsight_api.main --daemon',
|
||||
'C:\\Hermes\\venv\\Scripts'
|
||||
),
|
||||
true
|
||||
)
|
||||
})
|
||||
|
||||
test('excludes external venv holders that are not the hindsight daemon', () => {
|
||||
// a user terminal running the hermes CLI from the venv — must NOT be killed
|
||||
assert.equal(isHermesOwnedVenvDaemon('C:\\Hermes\\venv\\Scripts\\hermes.exe', 'hermes chat -q "hi"', SCRIPTS), false)
|
||||
// an unrelated python script using the venv interpreter
|
||||
assert.equal(
|
||||
isHermesOwnedVenvDaemon('C:\\Hermes\\venv\\Scripts\\python.exe', 'python C:\\tools\\import.py', SCRIPTS),
|
||||
false
|
||||
)
|
||||
})
|
||||
|
||||
test('excludes exes outside the venv even when the cmdline mentions hindsight', () => {
|
||||
assert.equal(
|
||||
isHermesOwnedVenvDaemon('C:\\Other\\pythonw.exe', 'pythonw -m hindsight_api.main --daemon', SCRIPTS),
|
||||
false
|
||||
)
|
||||
})
|
||||
|
||||
test('prefix boundary: sibling dirs (ScriptsX) do not match', () => {
|
||||
assert.equal(hasWindowsPathPrefix('C:\\Hermes\\venv\\ScriptsX\\python.exe', SCRIPTS), false)
|
||||
assert.equal(hasWindowsPathPrefix('C:\\Hermes\\venv\\Scripts\\python.exe', SCRIPTS), true)
|
||||
})
|
||||
|
||||
test('null/undefined fields never match', () => {
|
||||
assert.equal(isHermesOwnedVenvDaemon(null, 'x', SCRIPTS), false)
|
||||
assert.equal(isHermesOwnedVenvDaemon('C:\\Hermes\\venv\\Scripts\\pythonw.exe', null, SCRIPTS), false)
|
||||
assert.equal(isHermesOwnedVenvDaemon(undefined, undefined, SCRIPTS), false)
|
||||
})
|
||||
Reference in New Issue
Block a user