Skip to content

Commit 1530047

Browse files
committed
Merge remote-tracking branch 'github/develop' into feature/ref
2 parents d3a5f30 + fb08e8f commit 1530047

File tree

4 files changed

+130
-1
lines changed

4 files changed

+130
-1
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
oscript_modules/
22
test-reports/
3-
3+
coverage/
44
*.ospx
55
src/oscript.cfg

.travis.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
sudo: required
2+
3+
dist: trusty
4+
5+
addons:
6+
sonarqube: true
7+
8+
jdk:
9+
- oraclejdk8
10+
11+
before_install:
12+
- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
13+
- echo "deb http://download.mono-project.com/repo/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/mono-official.list
14+
- sudo apt-get update
15+
- sudo apt-get install mono-complete mono-devel
16+
- wget -O os.deb http://oscript.io/downloads/night-build/deb
17+
- sudo dpkg -i os.deb; sudo apt install -f
18+
- oscript
19+
20+
install:
21+
- sudo oscript /usr/share/oscript/lib/opm/src/opm.os install -l
22+
23+
cache:
24+
directories:
25+
- '$HOME/.m2/repository'
26+
- '$HOME/.sonar/cache'
27+
28+
script:
29+
- ./travis.sh

tasks/coverage.os

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
#Использовать 1commands
2+
#Использовать asserts
3+
#Использовать fs
4+
#Использовать json
5+
6+
СистемнаяИнформация = Новый СистемнаяИнформация;
7+
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
8+
9+
ФС.ОбеспечитьПустойКаталог("coverage");
10+
ПутьКСтат = "coverage/stat.json";
11+
12+
Команда = Новый Команда;
13+
Команда.УстановитьКоманду("oscript");
14+
Если НЕ ЭтоWindows Тогда
15+
Команда.ДобавитьПараметр("-encoding=utf-8");
16+
КонецЕсли;
17+
Команда.ДобавитьПараметр(СтрШаблон("-codestat=%1", ПутьКСтат));
18+
Команда.ДобавитьПараметр("tasks/test.os");
19+
Команда.ПоказыватьВыводНемедленно(Истина);
20+
21+
КодВозврата = Команда.Исполнить();
22+
Сообщить(Команда.ПолучитьВывод());
23+
Ожидаем.Что(КодВозврата).Равно(0);
24+
25+
Файл_Стат = Новый Файл(ПутьКСтат);
26+
Ожидаем.Что(Файл_Стат.Существует(), СтрШаблон("Файл <%1> с результатами покрытия не существует!", Файл_Стат.ПолноеИмя)).ЭтоИстина();
27+
28+
ЧтениеТекста = Новый ЧтениеТекста(ПутьКСтат, КодировкаТекста.UTF8);
29+
30+
СтрокаJSON = ЧтениеТекста.Прочитать();
31+
ЧтениеТекста.Закрыть();
32+
33+
Парсер = Новый ПарсерJSON();
34+
ДанныеПокрытия = Парсер.ПрочитатьJSON(СтрокаJSON);
35+
36+
ЗаписьXML = Новый ЗаписьXML;
37+
ЗаписьXML.ОткрытьФайл("coverage/genericCoverage.xml");
38+
ЗаписьXML.ЗаписатьОбъявлениеXML();
39+
ЗаписьXML.ЗаписатьНачалоЭлемента("coverage");
40+
ЗаписьXML.ЗаписатьАтрибут("version", "1");
41+
42+
Для Каждого Файл Из ДанныеПокрытия Цикл
43+
44+
ДанныеФайла = Файл.Значение;
45+
46+
ЗаписьXML.ЗаписатьНачалоЭлемента("file");
47+
ЗаписьXML.ЗаписатьАтрибут("path", ДанныеФайла.Получить("#path"));
48+
49+
Для Каждого КлючИЗначение Из ДанныеФайла Цикл
50+
51+
Если КлючИЗначение.Ключ = "#path" Тогда
52+
Продолжить;
53+
КонецЕсли;
54+
55+
ДанныеПроцедуры = КлючИЗначение.Значение;
56+
Для Каждого ДанныеСтроки Из ДанныеПроцедуры Цикл
57+
58+
ЗаписьXML.ЗаписатьНачалоЭлемента("lineToCover");
59+
60+
ЗаписьXML.ЗаписатьАтрибут("lineNumber", ДанныеСтроки.Ключ);
61+
Покрыто = Число(ДанныеСтроки.Значение.Получить("count")) > 0;
62+
ЗаписьXML.ЗаписатьАтрибут("covered", Формат(Покрыто, "БИ=true; БЛ=false"));
63+
64+
ЗаписьXML.ЗаписатьКонецЭлемента(); // lineToCover
65+
КонецЦикла
66+
КонецЦикла;
67+
68+
ЗаписьXML.ЗаписатьКонецЭлемента(); // file
69+
70+
КонецЦикла;
71+
72+
ЗаписьXML.ЗаписатьКонецЭлемента(); // coverage
73+
ЗаписьXML.Закрыть();

travis.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/bin/bash
2+
set -e
3+
4+
opm run coverage
5+
6+
temp=`cat src/Модули/КонстантыOpm.os | grep "ВерсияПродукта = " | sed 's|[^"]*"||' | sed -r 's/".+//'`
7+
version=${temp##*|}
8+
9+
if [ "$TRAVIS_SECURE_ENV_VARS" == "true" ]; then
10+
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
11+
sonar-scanner \
12+
-Dsonar.host.url=http://sonar.silverbulleters.org \
13+
-Dsonar.analysis.mode=issues \
14+
-Dsonar.github.pullRequest=$TRAVIS_PULL_REQUEST \
15+
-Dsonar.github.repository=$TRAVIS_REPO_SLUG \
16+
-Dsonar.github.oauth=$SONAR_GITHUB_TOKEN \
17+
-Dsonar.login=$SONAR_TOKEN \
18+
-Dsonar.scanner.skip=false
19+
20+
elif [ "$TRAVIS_BRANCH" == "develop" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
21+
sonar-scanner \
22+
-Dsonar.host.url=http://sonar.silverbulleters.org \
23+
-Dsonar.login=$SONAR_TOKEN \
24+
-Dsonar.projectVersion=$version\
25+
-Dsonar.scanner.skip=false
26+
fi
27+
fi

0 commit comments

Comments
 (0)