test(db-create,epf-build): вывод платформы, кодировки, путь с пробелом

Кейсы, разведённые по портам из-за расхождения вывода, слиты обратно —
это и есть приёмочный признак паритета. Цепочка epf-build разделена на
два кейса: успешный запуск временной базы теперь молчит, поэтому её
командная строка проверяется на падающем фейке.

Новое: чтение вывода платформы в UTF-8 и cp866, отсутствие блока при
молчащей платформе, форма токена для пути с пробелом, отказ до запуска
при отсутствующей базе.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-07-29 22:38:10 +03:00
co-authored by Claude Opus 5
parent 58d4426bc9
commit 0de74ba6d1
9 changed files with 153 additions and 35 deletions
@@ -1,26 +0,0 @@
{
"name": "Доп. аргументы 1cv8 попадают в командную строку, py-порт (fake platform)",
"runtimeOnly": "python",
"preRun": [
{
"writeFile": {
"path": "fake.cmd",
"content": "@echo off\r\necho ARGS: %*\r\nexit /b 0\r\n"
}
}
],
"args_extra": [
"-V8Path",
"{workDir}\\fake.cmd",
"-InfoBasePath",
"{workDir}\\ib",
"-AdditionalV8Arguments",
"/UseHwLicenses+"
],
"expect": {
"stdoutContains": "/DisableStartupDialogs /UseHwLicenses+"
},
"expectError": true,
"noSnapshot": "py-порт печатает лог /Out, а не stdout платформы — проверяется строка запуска",
"osOnly": "win32"
}
@@ -16,7 +16,6 @@
"-AdditionalV8Arguments",
"/UseHwLicenses+"
],
"runtimeOnly": "powershell",
"expect": {
"stdoutContains": [
"ARGS: CREATEINFOBASE",
@@ -0,0 +1,26 @@
{
"name": "Вывод платформы в cp866 читается (fake platform)",
"osOnly": "win32",
"preRun": [
{
"writeFile": {
"path": "fake.cmd",
"content": "@echo off\r\nchcp 866 >nul\r\necho Не найдена лицензия\r\nexit /b 1\r\n"
}
}
],
"args_extra": [
"-V8Path",
"{workDir}\\fake.cmd",
"-InfoBasePath",
"{workDir}\\ib"
],
"expect": {
"stdoutContains": [
"--- Вывод платформы ---",
"Не найдена лицензия"
]
},
"expectError": true,
"noSnapshot": "проверяется фолбэк декодирования"
}
@@ -0,0 +1,23 @@
{
"name": "Молчащая платформа не печатает блок вывода (fake platform)",
"osOnly": "win32",
"preRun": [
{
"writeFile": {
"path": "fake.cmd",
"content": "@echo off\r\nexit /b 1\r\n"
}
}
],
"args_extra": [
"-V8Path",
"{workDir}\\fake.cmd",
"-InfoBasePath",
"{workDir}\\ib"
],
"expect": {
"stdoutNotContains": "--- Вывод платформы ---"
},
"expectError": true,
"noSnapshot": "проверяется отсутствие блока"
}
@@ -0,0 +1,18 @@
{
"name": "Вывод платформы в UTF-8 читается (fake platform)",
"osOnly": "win32",
"preRun": [
{
"writeFile": {
"path": "fake.cmd",
"content": "@echo off\r\nchcp 65001 >nul\r\necho Не найдена лицензия\r\nexit /b 1\r\n"
}
}
],
"args_extra": ["-V8Path", "{workDir}\\fake.cmd", "-InfoBasePath", "{workDir}\\ib"],
"expect": {
"stdoutContains": ["--- Вывод платформы ---", "Не найдена лицензия"]
},
"expectError": true,
"noSnapshot": "проверяется декодирование вывода платформы"
}
@@ -0,0 +1,23 @@
{
"name": "Путь с пробелом попадает в командную строку в кавычках (fake platform)",
"osOnly": "win32",
"preRun": [
{
"writeFile": {
"path": "fake.cmd",
"content": "@echo off\r\necho ARGS: %*\r\nexit /b 1\r\n"
}
}
],
"args_extra": [
"-V8Path",
"{workDir}\\fake.cmd",
"-InfoBasePath",
"{workDir}\\с пробелом"
],
"expect": {
"stdoutContains": "ARGS: CREATEINFOBASE File=\""
},
"expectError": true,
"noSnapshot": "проверяется форма токена, файлов на выходе нет"
}