mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-31 08:47:45 +03:00
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:
co-authored by
Claude Opus 5
parent
58d4426bc9
commit
0de74ba6d1
@@ -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",
|
"-AdditionalV8Arguments",
|
||||||
"/UseHwLicenses+"
|
"/UseHwLicenses+"
|
||||||
],
|
],
|
||||||
"runtimeOnly": "powershell",
|
|
||||||
"expect": {
|
"expect": {
|
||||||
"stdoutContains": [
|
"stdoutContains": [
|
||||||
"ARGS: CREATEINFOBASE",
|
"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": "проверяется форма токена, файлов на выходе нет"
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"name": "Отказ до запуска: информационная база не найдена",
|
||||||
|
"args_extra": [
|
||||||
|
"-V8Path",
|
||||||
|
"{workDir}",
|
||||||
|
"-InfoBasePath",
|
||||||
|
"{workDir}\\нет-такой-базы",
|
||||||
|
"-OutputFile",
|
||||||
|
"{workDir}\\out.cf"
|
||||||
|
],
|
||||||
|
"expectError": true,
|
||||||
|
"noSnapshot": "негативный кейс: платформа не запускается"
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
"name": "Доп. аргументы доходят до самой сборки EPF (fake platform)",
|
||||||
|
"osOnly": "win32",
|
||||||
|
"preRun": [
|
||||||
|
{
|
||||||
|
"writeFile": {
|
||||||
|
"path": "fake.cmd",
|
||||||
|
"content": "@echo off\r\necho ARGS: %*\r\nexit /b 0\r\n"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"writeFile": {
|
||||||
|
"path": "ib/1Cv8.1CD",
|
||||||
|
"content": "fake infobase\n"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"writeFile": {
|
||||||
|
"path": "src/Обработка.xml",
|
||||||
|
"content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<MetaDataObject xmlns=\"http://v8.1c.ru/8.3/MDClasses\"/>\n"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"args_extra": [
|
||||||
|
"-V8Path",
|
||||||
|
"{workDir}\\fake.cmd",
|
||||||
|
"-InfoBasePath",
|
||||||
|
"{workDir}\\ib",
|
||||||
|
"-SourceFile",
|
||||||
|
"{workDir}\\src\\Обработка.xml",
|
||||||
|
"-OutputFile",
|
||||||
|
"{workDir}\\build\\Обработка.epf",
|
||||||
|
"-AdditionalV8Arguments",
|
||||||
|
"/UseHwLicenses+"
|
||||||
|
],
|
||||||
|
"expect": {
|
||||||
|
"stdoutContains": [
|
||||||
|
"ARGS: DESIGNER",
|
||||||
|
"/LoadExternalDataProcessorOrReportFromFiles",
|
||||||
|
"/DisableStartupDialogs /UseHwLicenses+"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"expectError": true,
|
||||||
|
"noSnapshot": "база указана явно, stub не создаётся; EPF фейком не собирается — проверяется командная строка"
|
||||||
|
}
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "Доп. аргументы уходят и во временную базу, и в сборку (fake platform)",
|
"name": "Доп. аргументы доходят до временной базы (fake platform)",
|
||||||
|
"osOnly": "win32",
|
||||||
"preRun": [
|
"preRun": [
|
||||||
{
|
{
|
||||||
"writeFile": {
|
"writeFile": {
|
||||||
"path": "fake.cmd",
|
"path": "fake.cmd",
|
||||||
"content": "@echo off\r\necho ARGS: %*\r\nexit /b 0\r\n"
|
"content": "@echo off\r\necho ARGS: %*\r\nexit /b 1\r\n"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -24,16 +25,12 @@
|
|||||||
"-AdditionalV8Arguments",
|
"-AdditionalV8Arguments",
|
||||||
"/UseHwLicenses+"
|
"/UseHwLicenses+"
|
||||||
],
|
],
|
||||||
"runtimeOnly": "powershell",
|
|
||||||
"expect": {
|
"expect": {
|
||||||
"stdoutContains": [
|
"stdoutContains": [
|
||||||
"ARGS: CREATEINFOBASE",
|
"ARGS: CREATEINFOBASE",
|
||||||
"/DisableStartupDialogs /UseHwLicenses+",
|
"/DisableStartupDialogs /UseHwLicenses+"
|
||||||
"ARGS: DESIGNER",
|
|
||||||
"/LoadExternalDataProcessorOrReportFromFiles"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"expectError": true,
|
"expectError": true,
|
||||||
"noSnapshot": "проверяются командные строки в stdout, платформа фейковая — EPF не создаётся",
|
"noSnapshot": "платформа фейковая и падает на первом запуске — проверяется её командная строка"
|
||||||
"osOnly": "win32"
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user