fix(tests): каталог расширения в кейсах cfe-* — cfe вместо ext (closes #74)

Кейсы клали расширение в `ext`, а cf-init создаёт в корне конфигурации платформенный `Ext/`.
На регистронезависимой ФС (Windows, APFS) это один каталог: эталоны годами фиксировали
слипшееся дерево — в snapshots/<case>/ext/ лежали вперемешку ClientApplicationInterface.xml
конфигурации и Configuration.xml расширения, а имя каталога в коммите зависело от того, кто
создал его первым (ext у одних кейсов, Ext у других при одинаковом входе). На Linux те же
кейсы дали бы два каталога и другой снапшот.

Переименование механическое: 64 кейса пяти навыков, 349 файлов эталонов переехали без
единой правки содержимого. Заодно переписан регистр 21 пути в индексе — git с core.ignorecase
не показывал, что файл конфигурации числится под ext/, а лежит в Ext/.

Гард в runner.mjs: имя каталога расширения из params, совпавшее без учёта регистра с тем, что
уже есть в фикстуре, валит кейс с объяснением. Проверено, что старое имя теперь не проходит.

verify-snapshots.mjs чинится тем же заходом — там нашлись две дыры:
- каталог расширения был захардкожен как 'ext', поэтому кейсы с другим именем МОЛЧА теряли
  вторую половину проверки: блок загрузки расширения обходился по existsSync и в отчёте это
  выглядело успехом;
- setup брался только из _skill.json, и кейсы с гейтом по версии формата (218/220/221)
  проверялись на конфигурации 2.17 — то есть платформа не видела ровно того поведения, ради
  которого кейс написан.
Плюс два honest-skip вместо ложных падений: режим совместимости выше платформы и формат
выгрузки новее платформы (второе читаем из ответа платформы, а не дублируем лестницу версий).

Проверено: регресс 827/0/8 (ps1) и 824/0/11 (py), гарды 5/5. Платформенная верификация:
cfe-borrow 26/28 на 8.3.27, cfe-patch-method 22/23, cfe-init 6/7, все 14 кейсов format-221
на 8.5 — остальное осознанные пропуски.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-08-17 22:20:28 +03:00
co-authored by Claude Opus 5
parent 113dc9e928
commit 54ee6efe93
416 changed files with 307 additions and 217 deletions
@@ -1,9 +1,9 @@
{
"name": "Расширение-дополнение (AddOn)",
"params": { "name": "Дополнение", "outputDir": "ext" },
"params": { "name": "Дополнение", "outputDir": "cfe" },
"args_extra": ["-Purpose", "AddOn"],
"validatePath": "ext",
"validatePath": "cfe",
"expect": {
"files": ["ext/Configuration.xml"]
"files": ["cfe/Configuration.xml"]
}
}
+3 -3
View File
@@ -2,12 +2,12 @@
"name": "Пустое расширение",
"params": {
"name": "МоёРасширение",
"outputDir": "ext"
"outputDir": "cfe"
},
"validatePath": "ext",
"validatePath": "cfe",
"expect": {
"files": [
"ext/Configuration.xml"
"cfe/Configuration.xml"
],
"preserves": {
"file": "Configuration.xml",
+4 -4
View File
@@ -3,13 +3,13 @@
"setup": "empty-config-221",
"params": {
"name": "Расш221",
"outputDir": "ext"
"outputDir": "cfe"
},
"validatePath": "ext",
"validatePath": "cfe",
"expect": {
"fileContains": [
{
"file": "ext/Configuration.xml",
"file": "cfe/Configuration.xml",
"text": [
"xmlns:lf=\"http://v8.1c.ru/8.2/managed-application/logform\" xmlns:pal=\"http://v8.1c.ru/8.1/data/ui/colors/palette\" xmlns:style=",
"version=\"2.21\"",
@@ -18,7 +18,7 @@
]
},
{
"file": "ext/Languages/Русский.xml",
"file": "cfe/Languages/Русский.xml",
"text": "xmlns:lf=\"http://v8.1c.ru/8.2/managed-application/logform\" xmlns:pal=\"http://v8.1c.ru/8.1/data/ui/colors/palette\" xmlns:style="
}
]
+3 -3
View File
@@ -1,9 +1,9 @@
{
"name": "Расширение без роли",
"params": { "name": "БезРоли", "outputDir": "ext" },
"params": { "name": "БезРоли", "outputDir": "cfe" },
"args_extra": ["-NoRole"],
"validatePath": "ext",
"validatePath": "cfe",
"expect": {
"files": ["ext/Configuration.xml"]
"files": ["cfe/Configuration.xml"]
}
}
@@ -1,9 +1,9 @@
{
"name": "Расширение-исправление (Patch)",
"params": { "name": "Исправление", "outputDir": "ext" },
"params": { "name": "Исправление", "outputDir": "cfe" },
"args_extra": ["-Purpose", "Patch"],
"validatePath": "ext",
"validatePath": "cfe",
"expect": {
"files": ["ext/Configuration.xml"]
"files": ["cfe/Configuration.xml"]
}
}
+3 -3
View File
@@ -1,9 +1,9 @@
{
"name": "Расширение с явным префиксом",
"params": { "name": "РасшПрефикс", "outputDir": "ext" },
"params": { "name": "РасшПрефикс", "outputDir": "cfe" },
"args_extra": ["-NamePrefix", "РП_"],
"validatePath": "ext",
"validatePath": "cfe",
"expect": {
"files": ["ext/Configuration.xml"]
"files": ["cfe/Configuration.xml"]
}
}
@@ -1,9 +1,9 @@
{
"name": "Расширение с версией и поставщиком",
"params": { "name": "РасшВерсия", "outputDir": "ext" },
"params": { "name": "РасшВерсия", "outputDir": "cfe" },
"args_extra": ["-Version", "1.0.0.1", "-Vendor", "ТестКомпания"],
"validatePath": "ext",
"validatePath": "cfe",
"expect": {
"files": ["ext/Configuration.xml"]
"files": ["cfe/Configuration.xml"]
}
}