Skip to content

Commit f505917

Browse files
committed
Merge branch 'release/v1.0.3'
2 parents a8c15ef + b3eeb96 commit f505917

14 files changed

+126
-164
lines changed

.github/workflows/main.yml

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
pull_request:
6+
schedule:
7+
# * is a special character in YAML so you have to quote this string
8+
- cron: '0 0 * * 1'
9+
10+
jobs:
11+
build:
12+
runs-on: ${{ matrix.os }}
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
os: [ubuntu-latest, windows-latest, macos-latest]
17+
oscript_version: ['1.2.0', 'dev', 'stable']
18+
19+
steps:
20+
- uses: actions/checkout@v2
21+
22+
- name: Setup Onescript Action
23+
uses: otymko/[email protected]
24+
with:
25+
version: ${{ matrix.oscript_version }}
26+
27+
- name: Install dependencies
28+
run: |
29+
opm install [email protected]
30+
opm install 1testrunner;
31+
opm install 1bdd;
32+
opm install coverage;
33+
opm install -l --dev
34+
35+
- name: Compute branch name
36+
uses: nelonoel/[email protected]
37+
38+
- name: Run tests
39+
run: |
40+
oscript ./tasks/coverage.os
41+
42+
- name: SonarCloud Scan on push
43+
if: github.repository == 'oscript-library/opm' && github.event_name == 'push' && matrix.os == 'ubuntu-latest' && matrix.oscript_version == 'dev'
44+
uses: nixel2007/[email protected]
45+
env:
46+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
48+
with:
49+
args: >
50+
-Dsonar.host.url=https://sonar.openbsl.ru
51+
-Dsonar.branch.name=${{ env.BRANCH_NAME }}
52+
53+
- name: SonarCloud Scan on PR
54+
if: github.repository == 'oscript-library/opm' && github.event_name == 'pull_request' && matrix.os == 'ubuntu-latest' && matrix.oscript_version == 'dev'
55+
uses: nixel2007/[email protected]
56+
env:
57+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
58+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
59+
with:
60+
args: >
61+
-Dsonar.host.url=https://sonar.openbsl.ru
62+
-Dsonar.pullrequest.key=${{ github.event.pull_request.number }}
63+
-Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }}
64+
-Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }}
65+
-Dsonar.scm.revision=${{ github.event.pull_request.head.sha }}

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
oscript_modules/*
22
tests-reports/*
3-
coverage/*
3+
out/*
44
bdd-*.xml
55
*.ospx
66
src/oscript.cfg

.travis.yml

-77
This file was deleted.

packagedef

+5-5
Original file line numberDiff line numberDiff line change
@@ -77,20 +77,20 @@
7777
Константы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюКонстант);
7878
ВерсияПродукта = Константы_ЛокальнаяВерсия.ВерсияПродукта;
7979
Иначе
80-
ВерсияПродукта = "1.0.2";
80+
ВерсияПродукта = "1.0.3";
8181
КонецЕсли;
8282

8383
Описание.Имя("opm")
8484
.Версия(ВерсияПродукта)
8585
.ВерсияСреды("1.0.19")
86-
.ЗависитОт("fs", "1.0.0")
86+
.ЗависитОт("fs", "1.1.0")
8787
.ЗависитОт("asserts", "1.3.0")
8888
.ЗависитОт("json", "1.1.1")
8989
.ЗависитОт("fluent", "0.4.0")
90-
.ЗависитОт("logos", "1.2.1")
90+
.ЗависитОт("logos", "1.3.0")
9191
.ЗависитОт("cli", "0.9.10")
92-
.ЗависитОт("tempfiles", "0.2.2")
93-
.ЗависитОт("gitrunner", "1.6.0")
92+
.ЗависитОт("tempfiles", "1.0.0")
93+
.ЗависитОт("gitrunner", "1.6.2")
9494
.ВключитьФайл("packagedef")
9595
.ВключитьФайл("src")
9696
.ВключитьФайл("tasks")

sonar-project.properties

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# must be unique in a given SonarQube instance
2+
sonar.projectKey=opm
3+
4+
# this is the name displayed in the SonarQube UI
5+
sonar.projectName=opm
6+
7+
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
8+
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
9+
# If not set, SonarQube starts looking for source code from the directory containing
10+
# the sonar-project.properties file.
11+
12+
sonar.sources=./src
13+
sonar.tests=./tests
14+
15+
# Encoding of the source code. Default is default system encoding
16+
sonar.sourceEncoding=UTF-8
17+
18+
sonar.coverageReportPaths=out/genericCoverage.xml
19+
sonar.testExecutionReportPaths=out/tests.xml

sonar-qube.sh

-22
This file was deleted.

src/cmd/Классы/КомандаOpm_App.os

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
//
1919
Процедура ВыполнитьКоманду(Знач КомандаПриложения) Экспорт
2020

21-
ИмяФайлаЗапуска = КомандаПриложения.ЗначениеОпции("name");
21+
ИмяФайлаЗапуска = КомандаПриложения.ЗначениеОпции("app-name");
2222
ИмяСкрипта = КомандаПриложения.ЗначениеАргумента("PATH");
2323
Каталог = КомандаПриложения.ЗначениеАргумента("DIR");
2424

src/cmd/Классы/КомандаOpm_Update.os

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
Если ОбновлениеВсехПакетов Тогда
5454
РаботаСПакетами.ОбновитьУстановленныеПакеты(РежимУстановки, , НастройкаУстановки);
5555
ИначеЕсли НЕ ПустаяСтрока(ФайлПакетаУстановки) Тогда
56-
РаботаСПакетами.УстановитьПакетИзФайла(ФайлПакетаУстановки, РежимУстановки, НастройкаУстановки);
56+
РаботаСПакетами.УстановитьПакетИзФайла(ФайлПакетаУстановки, РежимУстановки, , НастройкаУстановки);
5757
Иначе
5858

5959
Для каждого ИмяПакета Из МассивПакетовКОбновлению Цикл

src/cmd/Модули/ПараметрыПриложенияOpm.os

+3-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@
3333

3434
Если Не ПроксиПоУмолчанию = Неопределено Тогда
3535
НастройкиOpm.УстановитьСистемныеНастройкиПроксиСервера(ПроксиПоУмолчанию);
36-
Иначе
36+
КонецЕсли;
37+
38+
Если ПроксиПоУмолчанию = Неопределено Или ПроксиПоУмолчанию = Ложь Тогда
3739
НастройкиOpm.УстановитьНастройкиПроксиСервера(Сервер, Порт, Пользователь, Пароль);
3840
КонецЕсли;
3941

src/core/Модули/КонстантыOpm.os

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@
2424
ПутьВЗапасномХранилище = "/download/";
2525
ЛокальныйКаталогУстановкиПакетов = "oscript_modules";
2626
ИмяЛога = "oscript.app.opm";
27-
ВерсияПродукта = "1.0.2";
27+
ВерсияПродукта = "1.0.3";
2828
ИмяФайлаНастроек = "opm.cfg";

src/core/Модули/РаботаСПакетами.os

+4-3
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,10 @@
8686

8787
КонецПроцедуры
8888

89-
Процедура УстановитьПакетИзФайла(Знач ИмяФайлаПакета, Знач РежимУстановки,
90-
Знач ЦелевойКаталог = Неопределено,
91-
Знач НастройкаУстановки = Неопределено) Экспорт
89+
Процедура УстановитьПакетИзФайла(Знач ИмяФайлаПакета,
90+
Знач РежимУстановки,
91+
Знач ЦелевойКаталог = Неопределено,
92+
Знач НастройкаУстановки = Неопределено) Экспорт
9293

9394
Если НастройкаУстановки = Неопределено Тогда
9495
НастройкаУстановки = ПолучитьНастройкуУстановки();

tasks/coverage.os

+8-12
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,25 @@
22
#Использовать 1commands
33
#Использовать fs
44

5-
ФС.ОбеспечитьПустойКаталог("coverage");
6-
ПутьКСтат = "coverage/stat.json";
5+
ФС.ОбеспечитьПустойКаталог("out");
6+
7+
ПутьКСтат = ОбъединитьПути("out", "stat.json");
78

89
Команда = Новый Команда;
910
Команда.УстановитьКоманду("oscript");
10-
Команда.ДобавитьПараметр("-encoding=utf-8");
11-
Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат));
12-
Команда.ДобавитьПараметр("tasks/test.os");
11+
Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат));
12+
Команда.ДобавитьПараметр("tasks/test.os"); // Файла запуска тестов
1313
Команда.ПоказыватьВыводНемедленно(Истина);
1414

1515
КодВозврата = Команда.Исполнить();
1616

17-
Файл_Стат = Новый Файл(ПутьКСтат);
18-
19-
ИмяПакета = "opm";
20-
2117
ПроцессорГенерации = Новый ГенераторОтчетаПокрытия();
2218

2319
ПроцессорГенерации.ОтносительныеПути()
24-
.ФайлСтатистики(Файл_Стат.ПолноеИмя)
20+
.ИмяФайлаСтатистики()
21+
.РабочийКаталог("out")
2522
.GenericCoverage()
2623
.Cobertura()
27-
.Clover(ИмяПакета)
2824
.Сформировать();
2925

30-
ЗавершитьРаботу(КодВозврата);
26+
ЗавершитьРаботу(КодВозврата);

tasks/test.os

+18-18
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
//заменить на путь к исходникам своей библиотеки, например, #Использовать ".."
2-
#Использовать "../src/core"
31
#Использовать 1bdd
42
#Использовать 1testrunner
3+
#Использовать fs
54

65
Функция ПрогнатьТесты()
76

87
Тестер = Новый Тестер;
8+
Тестер.УстановитьФорматЛогФайла(Тестер.ФорматыЛогФайла().GenericExec);
99

1010
ПутьКТестам = "tests";
11-
ПутьКОтчетуJUnit = ".";
11+
ПутьКОтчетуJUnit = "out";
1212

13-
ПутьКОтчетуJUnit = Новый Файл(ПутьКОтчетуJUnit).ПолноеИмя;
13+
ФС.ОбеспечитьПустойКаталог(ПутьКОтчетуJUnit);
1414

1515
РезультатТестирования = Тестер.ТестироватьКаталог(
1616
Новый Файл(ПутьКТестам),
@@ -22,9 +22,11 @@
2222
Возврат Успешно;
2323
КонецФункции // ПрогнатьТесты()
2424

25-
Функция ПрогнатьФичи(Знач ПутьФич = "features", Знач ПутьОтчетаJUnit = "./bdd-log.xml")
25+
Функция ПрогнатьФичи()
2626

27-
КаталогФич = ОбъединитьПути(".", ПутьФич);
27+
ПутьОтчетаJUnit = ОбъединитьПути(ТекущийКаталог(), "out", "bdd-log.xml");
28+
29+
КаталогФич = ОбъединитьПути(".", "features");
2830

2931
Файл_КаталогФич = Новый Файл(КаталогФич);
3032

@@ -37,14 +39,13 @@
3739

3840
СтатусВыполнения = ИсполнительБДД.ПолучитьИтоговыйСтатусВыполнения(РезультатыВыполнения);
3941

40-
ИсполнительБДД.ВывестиИтоговыеРезультатыВыполнения(РезультатыВыполнения, Файл_КаталогФич.ЭтоКаталог());
4142
КонецЕсли;
4243

4344
ГенераторОтчетаJUnit = Новый ГенераторОтчетаJUnit;
4445
ГенераторОтчетаJUnit.Сформировать(РезультатыВыполнения, СтатусВыполнения, ПутьОтчетаJUnit);
4546

46-
Сообщить(СтрШаблон("Результат прогона фич <%1>. Путь %2
47-
|", ИтоговыйРезультатВыполнения, ПутьФич));
47+
Сообщить(СтрШаблон("Результат прогона фич <%1>
48+
|", ИтоговыйРезультатВыполнения));
4849

4950
Возврат ИтоговыйРезультатВыполнения <> ИсполнительБДД.ВозможныеСтатусыВыполнения().Сломался;
5051
КонецФункции // ПрогнатьФичи()
@@ -58,25 +59,24 @@
5859
Исключение
5960
ТестыПрошли = Ложь;
6061
Сообщить(СтрШаблон("Тесты через 1testrunner выполнены неудачно
61-
|%1
62-
|%2", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), ОписаниеОшибки()));
62+
|%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())));
6363
КонецПопытки;
6464

6565
УстановитьТекущийКаталог(ТекКаталог);
6666

6767
Попытка
68-
ФичиПрошли = ПрогнатьФичи("features");
68+
ФичиПрошли = ПрогнатьФичи();
6969
Исключение
7070
ФичиПрошли = Ложь;
7171
Сообщить(СтрШаблон("Тесты поведения через 1bdd выполнены неудачно
7272
|%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())));
7373
КонецПопытки;
7474

75-
Сообщить(СтрШаблон("Результат прогона тестов <%1>
76-
|", ТестыПрошли));
77-
Сообщить(СтрШаблон("Результат прогона основных фич <%1>
78-
|", ФичиПрошли));
79-
80-
Если НЕ ТестыПрошли Или НЕ ФичиПрошли Тогда
75+
Если Не ТестыПрошли Или Не ФичиПрошли Тогда
8176
ВызватьИсключение "Тестирование завершилось неудачно!";
77+
Иначе
78+
Сообщить(СтрШаблон("Результат прогона тестов <%1>
79+
|", ТестыПрошли));
80+
Сообщить(СтрШаблон("Результат прогона основных фич <%1>
81+
|", ФичиПрошли));
8282
КонецЕсли;

0 commit comments

Comments
 (0)