38 lines
1.6 KiB
Swift
38 lines
1.6 KiB
Swift
import Foundation
|
|
import Testing
|
|
|
|
struct TestProcessCleanupTests {
|
|
@Test
|
|
func `cleanup pattern matches only CodexBar test stub app servers`() throws {
|
|
let regex = try NSRegularExpression(pattern: TestProcessCleanup.codexTestStubCommandRegex)
|
|
let testStubCommands = [
|
|
"/usr/bin/python3 -S /tmp/codex-stub-01234567-89AB-CDEF-0123-456789ABCDEF app-server",
|
|
"/bin/sh /tmp/codex-fallback-stub-01234567-89AB-CDEF-0123-456789ABCDEF app-server",
|
|
"/bin/sh /tmp/codex-plan-only-stub-01234567-89AB-CDEF-0123-456789ABCDEF app-server",
|
|
"/bin/sh /tmp/codex-credits-only-stub-01234567-89AB-CDEF-0123-456789ABCDEF app-server",
|
|
"/bin/sh /tmp/codex-hung-stub-01234567-89AB-CDEF-0123-456789ABCDEF app-server",
|
|
]
|
|
let userCommands = [
|
|
"/Applications/Codex.app/Contents/Resources/codex app-server --listen stdio://",
|
|
"/opt/homebrew/bin/codex app-server",
|
|
"node /Users/test/node_modules/.bin/codex app-server --listen stdio://",
|
|
"/tmp/codex-stub-cache app-server",
|
|
"/tmp/codex-stub-01234567-89AB-CDEF-0123 app-server",
|
|
"/tmp/codex-stub-01234567-89AB-CDEF-0123-456789ABCDEF app-server-helper",
|
|
]
|
|
|
|
for command in testStubCommands {
|
|
#expect(Self.matches(regex, command))
|
|
}
|
|
for command in userCommands {
|
|
#expect(!Self.matches(regex, command))
|
|
}
|
|
}
|
|
|
|
private static func matches(_ regex: NSRegularExpression, _ command: String) -> Bool {
|
|
regex.firstMatch(
|
|
in: command,
|
|
range: NSRange(command.startIndex..., in: command)) != nil
|
|
}
|
|
}
|