Skip to content

Commit 3f89d36

Browse files
committed
Merge branch 'release/v1.1'
2 parents 4f02fab + 963b460 commit 3f89d36

File tree

8 files changed

+376
-10
lines changed

8 files changed

+376
-10
lines changed

.vscode/tasks.json

Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
{
2+
"version": "0.1.0",
3+
"windows": {
4+
"command": "cmd",
5+
"args": ["/c"]
6+
},
7+
"linux": {
8+
"command": "sh",
9+
"args": ["-c"]
10+
},
11+
"isShellCommand": true,
12+
"showOutput": "silent",
13+
"tasks": [
14+
{
15+
"taskName": "Testing project",
16+
"args": [
17+
"1testrunner",
18+
"-runall",
19+
"${workspaceRoot}/tests"
20+
],
21+
"echoCommand": true,
22+
"showOutput": "always",
23+
"suppressTaskName": true,
24+
// "isBuildCommand": false,
25+
"isTestCommand": false,
26+
"problemMatcher": {
27+
"fileLocation": "absolute",
28+
"pattern": {
29+
"regexp": "{Модуль\\s+(.+)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^{]*)",
30+
"file": 1,
31+
"location": 2,
32+
"message": 3
33+
}
34+
}
35+
},
36+
{
37+
"taskName": "Testing current test-file",
38+
"args": [
39+
"1testrunner",
40+
"-run",
41+
"${file}",
42+
],
43+
"echoCommand": true,
44+
"showOutput": "always",
45+
"suppressTaskName": true,
46+
"isBuildCommand": false,
47+
"isTestCommand": true,
48+
"problemMatcher": {
49+
"fileLocation": "absolute",
50+
"pattern": {
51+
"regexp": "{Модуль\\s+(.+)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^{]*)",
52+
"file": 1,
53+
"location": 2,
54+
"message": 3
55+
}
56+
}
57+
},
58+
{
59+
"taskName": "Exec all features",
60+
"args": [
61+
"1bdd",
62+
"${workspaceRoot}/features",
63+
"-out",
64+
"${workspaceRoot}/exec.log"
65+
],
66+
"echoCommand": true,
67+
"showOutput": "always",
68+
"suppressTaskName": true,
69+
"isBuildCommand": true,
70+
"isTestCommand": false,
71+
"problemMatcher": {
72+
"fileLocation": "absolute",
73+
"pattern": {
74+
"regexp": "{Модуль\\s+(.+)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^{]*)",
75+
"file": 1,
76+
"location": 2,
77+
"message": 3
78+
}
79+
}
80+
},
81+
{
82+
"taskName": "Exec feature",
83+
"args": [
84+
"1bdd",
85+
"${file}",
86+
"-out",
87+
"${workspaceRoot}/exec.log"
88+
],
89+
"echoCommand": true,
90+
"showOutput": "always",
91+
"suppressTaskName": true,
92+
"isBuildCommand": false,
93+
"isTestCommand": true,
94+
"problemMatcher": {
95+
"fileLocation": "absolute",
96+
"pattern": [
97+
{
98+
"regexp": "{Модуль\\s+(.+)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^{]*)",
99+
"file": 1,
100+
"location": 2,
101+
"message": 3
102+
}
103+
]
104+
}
105+
},
106+
{
107+
"taskName": "Generate feature steps",
108+
"args": [
109+
"1bdd",
110+
"gen",
111+
"${file}",
112+
"-out",
113+
"${workspaceRoot}/exec.log"
114+
],
115+
"echoCommand": true,
116+
"showOutput": "always",
117+
"suppressTaskName": true,
118+
"isBuildCommand": false,
119+
"isTestCommand": false,
120+
"problemMatcher": {
121+
"fileLocation": "absolute",
122+
"pattern": {
123+
"regexp": "{Модуль\\s+(.+)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^{]*)",
124+
"file": 1,
125+
"location": 2,
126+
"message": 3
127+
}
128+
}
129+
},
130+
{
131+
"taskName": "OneScript: compile",
132+
"args": [
133+
"oscript",
134+
"-encoding=utf-8",
135+
"-compile",
136+
"${file}"
137+
],
138+
"echoCommand": true,
139+
"showOutput": "always",
140+
"suppressTaskName": true,
141+
"isBuildCommand": false
142+
},
143+
{
144+
"taskName": "OneScript: check",
145+
"args": [
146+
"oscript",
147+
"-encoding=utf-8",
148+
"-check",
149+
"${file}"
150+
],
151+
"echoCommand": true,
152+
"showOutput": "always",
153+
"suppressTaskName": true,
154+
"isBuildCommand": false
155+
},
156+
{
157+
"taskName": "OneScript: make",
158+
"args": [
159+
"oscript",
160+
"-encoding=utf-8",
161+
"-make",
162+
"${file}",
163+
"${fileBasename}.exe"
164+
],
165+
"echoCommand": true,
166+
"showOutput": "always",
167+
"suppressTaskName": true,
168+
"isBuildCommand": false
169+
},
170+
{
171+
"taskName": "OneScript: run",
172+
"args": [
173+
"oscript",
174+
"-encoding=utf-8",
175+
"${file}"
176+
],
177+
"echoCommand": true,
178+
"showOutput": "always",
179+
"suppressTaskName": true,
180+
"isBuildCommand": true,
181+
"problemMatcher": {
182+
"fileLocation": "absolute",
183+
"pattern": {
184+
"regexp": "^{Модуль\\s+(.*)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+(.*)}$",
185+
"file": 1,
186+
"location": 2,
187+
"message": 3
188+
}
189+
}
190+
}
191+
]
192+
}

features/step_definitions/gitsync-init.os

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
ТекстФайла = "";
127127
КодВозврата = ВыполнитьПроцесс(СтрокаКоманды, ТекстФайла);
128128

129-
БДД.СохранитьВКонтекст("ТекстЛогФайлаГитсинк", ТекстФайла);
129+
БДД.СохранитьВКонтекст("ТекстЛогФайлаПродукта", ТекстФайла);
130130

131131
Если КодВозврата <> ОжидаемыйКодВозврата Тогда
132132
ВывестиТекст(ТекстФайла);

features/step_definitions/version.os

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd
2+
#Использовать asserts
3+
#Использовать tempfiles
4+
5+
Перем БДД; //контекст фреймворка 1bdd
6+
7+
Перем Лог;
8+
9+
// Метод выдает список шагов, реализованных в данном файле-шагов
10+
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
11+
БДД = КонтекстФреймворкаBDD;
12+
13+
ВсеШаги = Новый Массив;
14+
15+
ВсеШаги.Добавить("ВЛог_ФайлеЗапускаПродуктаЕстьСтрока");
16+
ВсеШаги.Добавить("ВЛог_ФайлеЗапускаПродуктаОтсутствуетСтрока");
17+
ВсеШаги.Добавить("ВФайлеЕстьСтрока");
18+
19+
Возврат ВсеШаги;
20+
КонецФункции
21+
22+
23+
// Реализация шагов
24+
25+
// TODO дубль метода ВЛог_ФайлеЗапускаПродуктаЕстьСтрока с методом в 1bdd
26+
// TODO дубль метода ВЛог_ФайлеЗапускаПродуктаОтсутствуетСтрока с методом в 1bdd
27+
// TODO дубль метода ВФайлеЕстьСтрока с методом в 1bdd
28+
//
29+
Функция ИмяЛога() Экспорт
30+
Возврат "bdd.gitsync.feature";
31+
КонецФункции
32+
33+
//в лог-файле запуска продукта есть строка "ЯЗапускаюПадающийШагСПараметром-Первый падающий шаг"
34+
Процедура ВЛог_ФайлеЗапускаПродуктаЕстьСтрока(Знач ПроверяемаяСтрока) Экспорт
35+
ТекстЛогФайла = БДД.ПолучитьИзКонтекста("ТекстЛогФайлаПродукта");
36+
Если СтрЧислоСтрок(ПроверяемаяСтрока) = 1 Тогда
37+
Ожидаем.Что(ТекстЛогФайла).Содержит(ПроверяемаяСтрока);
38+
Иначе
39+
ПроверитьЧтоМногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(ТекстЛогФайла, ПроверяемаяСтрока);
40+
КонецЕсли;
41+
КонецПроцедуры
42+
43+
//в файле "clean.log" есть строка "ыва"
44+
Процедура ВФайлеЕстьСтрока(Знач ПутьФайла, Знач ПроверяемаяСтрока) Экспорт
45+
Файл = Новый Файл(ОбъединитьПути(ТекущийКаталог(), ПутьФайла));
46+
ЕстьПодстрока(ПрочитатьТекстФайла(Файл), ПроверяемаяСтрока);
47+
КонецПроцедуры
48+
49+
Функция ПрочитатьТекстФайла(Знач Файл)
50+
ЧтениеТекста = Новый ЧтениеТекста;
51+
ЧтениеТекста.Открыть(Файл.ПолноеИмя,"UTF-8");
52+
53+
Строка = ЧтениеТекста.Прочитать();
54+
ЧтениеТекста.Закрыть();
55+
Возврат Строка;
56+
КонецФункции // ПрочитатьТекстФайла()
57+
58+
Процедура ЕстьПодстрока(Знач Строка, Знач ПроверяемаяСтрока)
59+
Если СтрЧислоСтрок(ПроверяемаяСтрока) = 1 Тогда
60+
Ожидаем.Что(Строка, "Проверяем одиночную строку").Содержит(ПроверяемаяСтрока);
61+
Иначе
62+
ПроверитьЧтоМногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Строка, ПроверяемаяСтрока);
63+
КонецЕсли;
64+
КонецПроцедуры
65+
66+
//TODO перенести в ассерты oscript-library
67+
Процедура ПроверитьЧтоМногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Знач Строка, Знач Подстрока, ДопСообщениеОшибки = "")
68+
СообщениеОшибки = "";
69+
Нашли = МногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Строка, Подстрока, СообщениеОшибки);
70+
Если Не Нашли Тогда
71+
ВызватьИсключение СтрШаблон("Ожидали, что в строке <
72+
|%1
73+
|>
74+
|найдем подстроку<
75+
|%2
76+
|>
77+
|А это не так.
78+
|Уточнение: %3.
79+
|%4", Строка, Подстрока, СообщениеОшибки, ДопСообщениеОшибки);
80+
КонецЕсли;
81+
КонецПроцедуры
82+
83+
Функция МногострочнаяСтрокаСодержитПодстрокуБезУчетаНачальныхКонечныхПробеловВПодстроках(Знач Строка, Знач Подстрока, СообщениеОшибки = "")
84+
ПерваяСтрока = СокрЛП(СтрПолучитьСтроку(Подстрока, 1));
85+
НашлиПервуюСтроку = Ложь;
86+
Для Счетчик = 1 По СтрЧислоСтрок(Строка) Цикл
87+
ОчереднаяСтрока = СокрЛП(СтрПолучитьСтроку(Строка, Счетчик));
88+
НашлиПервуюСтроку = Найти(ОчереднаяСтрока, ПерваяСтрока) <> 0;
89+
Если НашлиПервуюСтроку Тогда
90+
Прервать;
91+
КонецЕсли;
92+
КонецЦикла;
93+
Если Не НашлиПервуюСтроку Тогда
94+
СообщениеОшибки = СтрШаблон("Не нашли первую же подстроку <%1>", ПерваяСтрока);
95+
Возврат Ложь;
96+
КонецЕсли;
97+
98+
СчетчикЧтоИщем = 2;
99+
Для Счетчик = Счетчик+1 По СтрЧислоСтрок(Строка) Цикл
100+
ОчереднаяСтрока = СокрЛП(СтрПолучитьСтроку(Строка, Счетчик));
101+
ЧтоИщем = СокрЛП(СтрПолучитьСтроку(Подстрока, СчетчикЧтоИщем));
102+
Поз = Найти(ОчереднаяСтрока, ЧтоИщем);
103+
Если Поз = 0 Тогда
104+
СообщениеОшибки = СтрШаблон("Не нашли подстроку № %1 <%2>", СчетчикЧтоИщем, ЧтоИщем);
105+
Возврат Ложь;
106+
Иначе
107+
СчетчикЧтоИщем = СчетчикЧтоИщем + 1;
108+
Если СчетчикЧтоИщем > СтрЧислоСтрок(Подстрока) Тогда
109+
Возврат Истина;
110+
КонецЕсли;
111+
КонецЕсли;
112+
КонецЦикла;
113+
Возврат СчетчикЧтоИщем > СтрЧислоСтрок(Подстрока);
114+
КонецФункции
115+
116+
//в лог-файле запуска продукта отсутствует строка "ДоЭтогоШагаВыполнениеДойтиНеДолжно"
117+
Процедура ВЛог_ФайлеЗапускаПродуктаОтсутствуетСтрока(Знач ПроверяемаяСтрока) Экспорт
118+
ТекстЛогФайла = БДД.ПолучитьИзКонтекста("ТекстЛогФайлаПродукта");
119+
Ожидаем.Что(ТекстЛогФайла).ЭтоНе().Содержит(ПроверяемаяСтрока);
120+
КонецПроцедуры
121+
122+
Лог = Логирование.ПолучитьЛог(ИмяЛога());
123+
//Лог.УстановитьУровень(Логирование.ПолучитьЛог("bdd").Уровень());
124+
// Лог.УстановитьУровень(УровниЛога.Отладка);

features/version.feature

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# language: ru
2+
3+
Функционал: Инициализация каталога исходников конфигурации
4+
Как Пользователь
5+
Я хочу получать версию продукта gitsync
6+
Чтобы понимать актуальность продукта
7+
8+
Контекст: Тестовый каталог
9+
Когда очищаю параметры гитсинк в контексте
10+
11+
Сценарий: Получение версии продукта
12+
Когда я выполняю команду gitsync "-version"
13+
Тогда в лог-файле запуска продукта есть строка "."
14+

packagedef

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-

1+
22
Описание.Имя("gitsync")
3-
.Версия("0.5")
3+
.Версия("1.1")
4+
.ВерсияСреды("1.0.15")
45
.ЗависитОт("logos")
56
.ЗависитОт("cmdline")
67
.ЗависитОт("tempfiles")
@@ -12,4 +13,4 @@
1213
.ВключитьФайл("bin")
1314
.ВключитьФайл("config-example.xml")
1415
.ВключитьФайл("readme.md")
15-
.ИсполняемыйФайл("src/gitsync.os");
16+
.ИсполняемыйФайл("src/gitsync.os");

readme.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
#Синхронизация хранилища 1С с репозиторием git
1+
# Синхронизация хранилища 1С с репозиторием git
22

33
Обсудить [![Join the chat at https://gitter.im/EvilBeaver/oscript-library](https://badges.gitter.im/EvilBeaver/oscript-library.svg)](https://gitter.im/EvilBeaver/oscript-library?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
44

5+
[![GitHub release](https://img.shields.io/github/release/oscript-library/gitsync.svg)](https://github.com/oscript-library/gitsync/releases)
6+
57
## Введение
68
Проект является глубоким рефакторингом утилиты v83unpack ([https://github.com/xDrivenDevelopment/v83unpack](https://github.com/xDrivenDevelopment/v83unpack)).
79

src/core/Классы/КомандныйФайл.os

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,12 @@
1515
мПуть = Путь;
1616
КонецЕсли;
1717
Кодировка = ?(ЭтоWindows, "cp866", КодировкаТекста.UTF8NoBOM);
18-
Разделитель = ?(ЭтоWindows, Неопределено, Символы.ПС);
19-
мЗаписьТекста = Новый ЗаписьТекста(мПуть, Кодировка, , , Разделитель);
20-
18+
Если ЭтоWindows Тогда
19+
мЗаписьТекста = Новый ЗаписьТекста(мПуть, Кодировка);
20+
Иначе
21+
мЗаписьТекста = Новый ЗаписьТекста(мПуть, Кодировка, , , Символы.ПС);
22+
КонецЕсли;
23+
2124
Возврат мПуть;
2225

2326
КонецФункции

0 commit comments

Comments
 (0)