Skip to content

Commit 14de646

Browse files
committed
add compatibility features
1 parent b991601 commit 14de646

File tree

7 files changed

+119
-59
lines changed

7 files changed

+119
-59
lines changed

.github/workflows/testing.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jobs:
6262
run: |
6363
sudo echo "deb http://cz.archive.ubuntu.com/ubuntu focal main universe" | sudo tee -a /etc/apt/sources.list
6464
sudo apt-get update
65-
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libenchant1c2a libstdc++6
65+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libenchant1c2a
6666
6767
- name: Установка wine для Tool1CD (Linux)
6868
if: startsWith(matrix.os, 'ubuntu')

features/compatibility.feature

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# language: ru
2+
3+
Функционал: Работа комбинаций плагинов
4+
Как Пользователь
5+
Я хочу выполнять автоматическую синхронизацию даже если активированы несовместимые плагины
6+
Чтобы синхронизация выполнялась корректно всегда
7+
8+
Контекст: Тестовый контекст
9+
Когда Я очищаю параметры команды "gitsync" в контексте
10+
И Я устанавливаю рабочий каталог во временный каталог
11+
И Я создаю новый объект ГитРепозиторий
12+
И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке
13+
И Я устанавливаю текущие плагины
14+
И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилища1С"
15+
И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С"
16+
И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников"
17+
И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников"
18+
И я включаю отладку лога с именем "oscript.app.gitsync"
19+
И Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория"
20+
И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория"
21+
# И Я добавляю параметр "-v" для команды "gitsync"
22+
И Я добавляю параметр "sync" для команды "gitsync"
23+
И Я выключаю все плагины
24+
25+
Сценарий: Cинхронизация с использованием плагинов increment и use-ibcmd
26+
Допустим Я включаю плагин "increment"
27+
И Я включаю плагин "use-ibcmd"
28+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
29+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
30+
И Я записываю "9" в файл VERSION
31+
Когда Я выполняю команду "gitsync"
32+
Тогда Вывод команды "gitsync" содержит "Завершена синхронизации с git"
33+
Тогда Вывод команды "gitsync" содержит
34+
| Плагин "increment" не совместим с плагином "use-ibcmd" и будет отключен на время выполнения синхронизации |
35+
И Вывод команды "gitsync" не содержит "Внешнее исключение"
36+
И Код возврата команды "gitsync" равен 0
37+
38+
Сценарий: Cинхронизация с использованием плагинов increment и drop-config-dump
39+
Допустим Я включаю плагин "increment"
40+
И Я включаю плагин "drop-config-dump"
41+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
42+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
43+
И Я записываю "9" в файл VERSION
44+
Когда Я выполняю команду "gitsync"
45+
Тогда Вывод команды "gitsync" содержит "Завершена синхронизации с git"
46+
Тогда Вывод команды "gitsync" содержит
47+
| Плагин "increment" не совместим с плагином "drop-config-dump" и будет отключен на время выполнения синхронизации |
48+
И Вывод команды "gitsync" не содержит "Внешнее исключение"
49+
И Код возврата команды "gitsync" равен 0

features/dropConfigDump.feature

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# language: ru
2+
3+
Функционал: Работа плагина отключения версионирования файла дампа версий объектов конфигурации (ConfigDumpInfo.xml)
4+
Как Пользователь
5+
Я хочу выполнять автоматическую синхронизацию и не версионировать при этом ConfigDumpInfo.xml
6+
Чтобы в репозитории не было лишних изменений
7+
8+
Контекст: Тестовый контекст drop-config-dump
9+
Когда Я очищаю параметры команды "gitsync" в контексте
10+
И Я устанавливаю рабочий каталог во временный каталог
11+
И Я создаю новый объект ГитРепозиторий
12+
И Я устанавливаю путь выполнения команды "gitsync" к текущей библиотеке
13+
И Я устанавливаю текущие плагины
14+
И Я создаю временный каталог и сохраняю его в переменной "КаталогХранилища1С"
15+
И я скопировал каталог тестового хранилища конфигурации в каталог из переменной "КаталогХранилища1С"
16+
И Я создаю временный каталог и сохраняю его в переменной "ПутьКаталогаИсходников"
17+
И Я инициализирую репозиторий в каталоге из переменной "ПутьКаталогаИсходников"
18+
И я включаю отладку лога с именем "oscript.app.gitsync"
19+
И Я создаю временный каталог и сохраняю его в переменной "ВременнаяДиректория"
20+
И Я добавляю параметр "--tempdir" для команды "gitsync" из переменной "ВременнаяДиректория"
21+
# И Я добавляю параметр "-v" для команды "gitsync"
22+
И Я добавляю параметр "sync" для команды "gitsync"
23+
И Я выключаю все плагины
24+
И Я включаю плагин "drop-config-dump"
25+
26+
Сценарий: Cинхронизация с использованием плагина drop-config-dump
27+
Допустим Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
28+
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
29+
И Я записываю "9" в файл VERSION
30+
Когда Я выполняю команду "gitsync"
31+
И Вывод команды "gitsync" не содержит "Внешнее исключение"
32+
И Код возврата команды "gitsync" равен 0
33+
И Каталог из переменной "ПутьКаталогаИсходников" не содержит файл "ConfigDumpInfo.xml"

features/step_definitions/shared.os

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
ВсеШаги = Новый Массив;
1919

20+
ВсеШаги.Добавить("КаталогИзПеременнойСодержитФайл");
21+
ВсеШаги.Добавить("КаталогИзПеременнойНеСодержитФайл");
2022
ВсеШаги.Добавить("ЯУстанавливаюПутьВыполненияКомандыКТекущейБиблиотеке");
2123
ВсеШаги.Добавить("ЯСкопировалКаталогТестовогоХранилищаКонфигурацииВоВременныйКаталог");
2224
ВсеШаги.Добавить("ЯСохраняюЗначениеВременногоКаталогаВПеременной");
@@ -48,6 +50,40 @@
4850

4951
КонецФункции
5052

53+
//Каталог из переменной "ПутьКаталогаИсходников" содержит файл "module.bsl"
54+
Процедура КаталогИзПеременнойСодержитФайл(Знач ПеременнаяКаталога, Знач ИмяФайла) Экспорт
55+
56+
КаталогИсходников = БДД.ПолучитьИзКонтекста(ПеременнаяКаталога);
57+
58+
ПутьКФайлу = ОбъединитьПути(КаталогИсходников, ИмяФайла);
59+
Файл = Новый Файл(ПутьКФайлу);
60+
Если Не Файл.Существует() Тогда
61+
62+
МассивФайлов = НайтиФайлы(КаталогИсходников, ПолучитьМаскуВсеФайлы(), Истина);
63+
Для каждого Файл Из МассивФайлов Цикл
64+
65+
Сообщить(Файл.ПолноеИмя);
66+
67+
КонецЦикла;
68+
69+
ВызватьИсключение СтрШаблон("Каталог не содержит нужного файла <%1>", ПутьКФайлу);
70+
КонецЕсли;
71+
72+
КонецПроцедуры
73+
74+
//Каталог из переменной "ПутьКаталогаИсходников" не содержит файл "module.bsl"
75+
Процедура КаталогИзПеременнойНеСодержитФайл(Знач ПеременнаяКаталога, Знач ИмяФайла) Экспорт
76+
77+
КаталогИсходников = БДД.ПолучитьИзКонтекста(ПеременнаяКаталога);
78+
79+
ПутьКФайлу = ОбъединитьПути(КаталогИсходников, ИмяФайла);
80+
Файл = Новый Файл(ПутьКФайлу);
81+
Если Файл.Существует() Тогда
82+
ВызватьИсключение СтрШаблон("Каталог содержит искомый файл <%1>", ПутьКФайлу);
83+
КонецЕсли;
84+
85+
КонецПроцедуры
86+
5187
//Я создаю временный каталог и сохраняю его в переменной "КаталогПлагинов"
5288
Процедура ЯСоздаюВременныйКаталогИСохраняюЕгоВПеременной(Знач ИмяПеременной) Экспорт
5389

features/step_definitions/unpackForm.os

Lines changed: 0 additions & 48 deletions
This file was deleted.

src/Классы/dropConfigDump.os

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,6 @@
7474

7575
Обработчик = СтандартныйОбработчик;
7676

77-
Если НЕ (ВРег(ТекущаяКоманда) = "ALL"
78-
ИЛИ ВРег(ТекущаяКоманда) = "SYNC") Тогда
79-
Возврат;
80-
КонецЕсли;
81-
8277
МенеджерПлагинов = ПараметрыПриложения.МенеджерПлагинов();
8378
ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов();
8479
ОтключаемыеПлагины = ОтключаемыеПлагины();

src/Классы/useIbcmd.os

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,6 @@
9595
Инкрементально = Ложь;
9696
ЧислоПотоков = 0;
9797

98-
Если НЕ (ВРег(ТекущаяКоманда) = "ALL"
99-
ИЛИ ВРег(ТекущаяКоманда) = "SYNC") Тогда
100-
Возврат;
101-
КонецЕсли;
102-
10398
МенеджерПлагинов = ПараметрыПриложения.МенеджерПлагинов();
10499
ИндексПлагинов = МенеджерПлагинов.ПолучитьИндексПлагинов();
105100
ОтключаемыеПлагины = ОтключаемыеПлагины();

0 commit comments

Comments
 (0)