Skip to content

Commit

Permalink
Merge branch 'release/v1.0.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
nixel2007 committed Jul 2, 2021
2 parents a8c15ef + b3eeb96 commit f505917
Show file tree
Hide file tree
Showing 14 changed files with 126 additions and 164 deletions.
65 changes: 65 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: CI

on:
push:
pull_request:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '0 0 * * 1'

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
oscript_version: ['1.2.0', 'dev', 'stable']

steps:
- uses: actions/checkout@v2

- name: Setup Onescript Action
uses: otymko/setup-onescript@v1.1
with:
version: ${{ matrix.oscript_version }}

- name: Install dependencies
run: |
opm install opm@1.0.2
opm install 1testrunner;
opm install 1bdd;
opm install coverage;
opm install -l --dev
- name: Compute branch name
uses: nelonoel/branch-name@v1.0.1

- name: Run tests
run: |
oscript ./tasks/coverage.os
- name: SonarCloud Scan on push
if: github.repository == 'oscript-library/opm' && github.event_name == 'push' && matrix.os == 'ubuntu-latest' && matrix.oscript_version == 'dev'
uses: nixel2007/sonarcloud-github-action@v1.4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
args: >
-Dsonar.host.url=https://sonar.openbsl.ru
-Dsonar.branch.name=${{ env.BRANCH_NAME }}
- name: SonarCloud Scan on PR
if: github.repository == 'oscript-library/opm' && github.event_name == 'pull_request' && matrix.os == 'ubuntu-latest' && matrix.oscript_version == 'dev'
uses: nixel2007/sonarcloud-github-action@v1.4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
args: >
-Dsonar.host.url=https://sonar.openbsl.ru
-Dsonar.pullrequest.key=${{ github.event.pull_request.number }}
-Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }}
-Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }}
-Dsonar.scm.revision=${{ github.event.pull_request.head.sha }}
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
oscript_modules/*
tests-reports/*
coverage/*
out/*
bdd-*.xml
*.ospx
src/oscript.cfg
Expand Down
77 changes: 0 additions & 77 deletions .travis.yml

This file was deleted.

10 changes: 5 additions & 5 deletions packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -77,20 +77,20 @@
Константы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюКонстант);
ВерсияПродукта = Константы_ЛокальнаяВерсия.ВерсияПродукта;
Иначе
ВерсияПродукта = "1.0.2";
ВерсияПродукта = "1.0.3";
КонецЕсли;

Описание.Имя("opm")
.Версия(ВерсияПродукта)
.ВерсияСреды("1.0.19")
.ЗависитОт("fs", "1.0.0")
.ЗависитОт("fs", "1.1.0")
.ЗависитОт("asserts", "1.3.0")
.ЗависитОт("json", "1.1.1")
.ЗависитОт("fluent", "0.4.0")
.ЗависитОт("logos", "1.2.1")
.ЗависитОт("logos", "1.3.0")
.ЗависитОт("cli", "0.9.10")
.ЗависитОт("tempfiles", "0.2.2")
.ЗависитОт("gitrunner", "1.6.0")
.ЗависитОт("tempfiles", "1.0.0")
.ЗависитОт("gitrunner", "1.6.2")
.ВключитьФайл("packagedef")
.ВключитьФайл("src")
.ВключитьФайл("tasks")
Expand Down
19 changes: 19 additions & 0 deletions sonar-project.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# must be unique in a given SonarQube instance
sonar.projectKey=opm

# this is the name displayed in the SonarQube UI
sonar.projectName=opm

# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file.

sonar.sources=./src
sonar.tests=./tests

# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8

sonar.coverageReportPaths=out/genericCoverage.xml
sonar.testExecutionReportPaths=out/tests.xml
22 changes: 0 additions & 22 deletions sonar-qube.sh

This file was deleted.

2 changes: 1 addition & 1 deletion src/cmd/Классы/КомандаOpm_App.os
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
//
Процедура ВыполнитьКоманду(Знач КомандаПриложения) Экспорт

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

Expand Down
2 changes: 1 addition & 1 deletion src/cmd/Классы/КомандаOpm_Update.os
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
Если ОбновлениеВсехПакетов Тогда
РаботаСПакетами.ОбновитьУстановленныеПакеты(РежимУстановки, , НастройкаУстановки);
ИначеЕсли НЕ ПустаяСтрока(ФайлПакетаУстановки) Тогда
РаботаСПакетами.УстановитьПакетИзФайла(ФайлПакетаУстановки, РежимУстановки, НастройкаУстановки);
РаботаСПакетами.УстановитьПакетИзФайла(ФайлПакетаУстановки, РежимУстановки, , НастройкаУстановки);
Иначе

Для каждого ИмяПакета Из МассивПакетовКОбновлению Цикл
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@

Если Не ПроксиПоУмолчанию = Неопределено Тогда
НастройкиOpm.УстановитьСистемныеНастройкиПроксиСервера(ПроксиПоУмолчанию);
Иначе
КонецЕсли;

Если ПроксиПоУмолчанию = Неопределено Или ПроксиПоУмолчанию = Ложь Тогда
НастройкиOpm.УстановитьНастройкиПроксиСервера(Сервер, Порт, Пользователь, Пароль);
КонецЕсли;

Expand Down
2 changes: 1 addition & 1 deletion src/core/Модули/КонстантыOpm.os
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@
ПутьВЗапасномХранилище = "/download/";
ЛокальныйКаталогУстановкиПакетов = "oscript_modules";
ИмяЛога = "oscript.app.opm";
ВерсияПродукта = "1.0.2";
ВерсияПродукта = "1.0.3";
ИмяФайлаНастроек = "opm.cfg";
7 changes: 4 additions & 3 deletions src/core/Модули/РаботаСПакетами.os
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,10 @@

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

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

Если НастройкаУстановки = Неопределено Тогда
НастройкаУстановки = ПолучитьНастройкуУстановки();
Expand Down
20 changes: 8 additions & 12 deletions tasks/coverage.os
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,25 @@
#Использовать 1commands
#Использовать fs

ФС.ОбеспечитьПустойКаталог("coverage");
ПутьКСтат = "coverage/stat.json";
ФС.ОбеспечитьПустойКаталог("out");

ПутьКСтат = ОбъединитьПути("out", "stat.json");

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

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

Файл_Стат = Новый Файл(ПутьКСтат);

ИмяПакета = "opm";

ПроцессорГенерации = Новый ГенераторОтчетаПокрытия();

ПроцессорГенерации.ОтносительныеПути()
.ФайлСтатистики(Файл_Стат.ПолноеИмя)
.ИмяФайлаСтатистики()
.РабочийКаталог("out")
.GenericCoverage()
.Cobertura()
.Clover(ИмяПакета)
.Сформировать();

ЗавершитьРаботу(КодВозврата);
ЗавершитьРаботу(КодВозврата);
36 changes: 18 additions & 18 deletions tasks/test.os
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
//заменить на путь к исходникам своей библиотеки, например, #Использовать ".."
#Использовать "../src/core"
#Использовать 1bdd
#Использовать 1testrunner
#Использовать fs

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

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

ПутьКТестам = "tests";
ПутьКОтчетуJUnit = ".";
ПутьКОтчетуJUnit = "out";

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

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

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

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

КаталогФич = ОбъединитьПути(".", "features");

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

Expand All @@ -37,14 +39,13 @@

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

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

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

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

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

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

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

Сообщить(СтрШаблон("Результат прогона тестов <%1>
|", ТестыПрошли));
Сообщить(СтрШаблон("Результат прогона основных фич <%1>
|", ФичиПрошли));

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

0 comments on commit f505917

Please sign in to comment.