Skip to content

Commit

Permalink
Update test runner to support JUnit format
Browse files Browse the repository at this point in the history
  • Loading branch information
nixel2007 committed Jan 23, 2024
1 parent 076ceb7 commit 1714e3e
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 24 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ jobs:
fail-fast: false
matrix:
oscript_version: ['dev', 'lts-dev', 'default']
uses: autumn-library/workflows/.github/workflows/test.yml@main
uses: autumn-library/workflows/.github/workflows/test.yml@junit-decoration
with:
oscript_version: ${{ matrix.oscript_version }}
50 changes: 29 additions & 21 deletions tasks/test.os
Original file line number Diff line number Diff line change
Expand Up @@ -3,44 +3,52 @@
#Использовать 1commands

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


ИмяФорматаЛогФайла = "JUnit";
Если АргументыКоманднойСтроки.Количество() > 0 Тогда
ИмяФорматаЛогФайла = АргументыКоманднойСтроки[0];
КонецЕсли;

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

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

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

ПутьКОтчетуJUnit = ОбъединитьПути("out", ИмяФорматаЛогФайла);
ФС.ОбеспечитьПустойКаталог(ПутьКОтчетуJUnit);

РезультатТестирования = Тестер.ТестироватьКаталог(
Новый Файл(ПутьКТестам),
Новый Файл(ПутьКОтчетуJUnit)
);

ИзолированныеТесты = НайтиФайлы(ОбъединитьПути("tests", "ИзолированныеТесты"), "*.os");

Для Каждого Тест Из ИзолированныеТесты Цикл

Команда = Новый Команда;

Команда.ПоказыватьВыводНемедленно(Истина);

Команда.УстановитьИсполнениеЧерезКомандыСистемы(Ложь);

Команда.УстановитьКоманду("oscript");
Команда.ДобавитьПараметр(ОбъединитьПути("tasks", "testIsolated.os"));
Команда.ДобавитьПараметр(Тест.ПолноеИмя);

Команда.ДобавитьПараметр(ИмяФорматаЛогФайла);

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

РезультатТестирования = Макс(РезультатТестирования, КодВозврата);

КонецЦикла;

Успешно = РезультатТестирования = 0;

Возврат Успешно;

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

// основной код
Expand All @@ -52,14 +60,14 @@
Исключение
ТестыПрошли = Ложь;
Сообщить(СтрШаблон("Тесты через 1testrunner выполнены неудачно
|%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())));
|%1", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())));
КонецПопытки;

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

Если Не ТестыПрошли Тогда
Если НЕ ТестыПрошли Тогда
ВызватьИсключение "Тестирование завершилось неудачно!";
Иначе
Сообщить(СтрШаблон("Результат прогона тестов <%1>
|", ТестыПрошли));
КонецЕсли;
|", ТестыПрошли));
КонецЕсли;
11 changes: 9 additions & 2 deletions tasks/testIsolated.os
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
#Использовать 1testrunner

ИмяФорматаЛогФайла = "JUnit";
Если АргументыКоманднойСтроки.Количество() > 1 Тогда
ИмяФорматаЛогФайла = АргументыКоманднойСтроки[1];
КонецЕсли;

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

ПутьКОтчетуJUnit = "out";
ФорматЛогФайла = Тестер.ФорматыЛогФайла()[ИмяФорматаЛогФайла];
Тестер.УстановитьФорматЛогФайла(ФорматЛогФайла);

ПутьКОтчетуJUnit = ОбъединитьПути("out", ИмяФорматаЛогФайла);

РезультатТестирования = Тестер.ТестироватьФайл(
Новый Файл(АргументыКоманднойСтроки[0]),
Expand Down

0 comments on commit 1714e3e

Please sign in to comment.