Skip to content

Commit 4b81fa8

Browse files
committed
feat: Передача результатов в котекст обработчика события завершения
1 parent ad597f4 commit 4b81fa8

4 files changed

Lines changed: 42 additions & 9 deletions

File tree

src/BenchmarkOneScript/annotations/Классы/АннотацияЗавершение.os

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,15 @@
44
// или финализации данных после выполнения всех бенчмарков.
55
//
66
// Пример:
7+
// // Параметры:
8+
// // Контекст - Структура:
9+
// // * ДескрипторыБенчмарков - Массив из ДескрипторБенчмарка
10+
// // * Конфигурация - КонфигурацияБенчмарков
11+
// // * РезультатыЗапусков - см. НоваяТаблицаРезультатов
12+
// // * Отчет - ОтчетБенчмарков
13+
// // * СредаОкружения - СредаОкруженияБенчмарков
714
// &Завершение
8-
// Процедруа Завершение() Экспорт
15+
// Процедруа Завершение(Контекст) Экспорт
916
// // Очистка данных
1017
// КонецПроцедуры
1118
&Аннотация("Завершение")

src/BenchmarkOneScript/core/Классы/ЗапускательБенчмарков.os

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
// * Конфигурация - КонфигурацияБенчмарков
2222
// * РезультатыЗапусков - см. НоваяТаблицаРезультатов
2323
// * Отчет - ОтчетБенчмарков
24-
// * СредаОкруженияБенчмарков - СредаОкруженияБенчмарков
24+
// * СредаОкружения - СредаОкруженияБенчмарков
2525
Функция Запустить(Источник, Конфигурация = Неопределено) Экспорт
2626

2727
Если ТипЗнч(Источник) = Тип("ОберткаОбъектаБенчмарка") Тогда
@@ -47,8 +47,7 @@
4747
ДескрипторыБенчмарков = _ОберткаОбъектаБенчмарка.ДескрипторыБенчмарков();
4848
ПроверитьБенчмарки(ДескрипторыБенчмарков);
4949

50-
РезультатыЗапусков = ЗапуститьВсеБенчмарки(ДескрипторыБенчмарков);
51-
Результат = ПодготовитьРезультат(ДескрипторыБенчмарков, РезультатыЗапусков);
50+
Результат = ЗапуститьВсеБенчмарки(ДескрипторыБенчмарков);
5251

5352
ВывестиРезультатыБенчмарков(Результат);
5453

@@ -88,10 +87,12 @@
8887
КонецЦикла;
8988

9089
ЗаполнитьЭталоны(РезультатыЗапусков);
90+
91+
Результат = ПодготовитьРезультат(ДескрипторыБенчмарков, РезультатыЗапусков);
9192

92-
ВызватьОбработчикСобытия("Завершение");
93+
ВызватьОбработчикСобытия("Завершение", Результат);
9394

94-
Возврат РезультатыЗапусков;
95+
Возврат Результат;
9596

9697
КонецФункции
9798

src/BenchmarkOneScript/core/Классы/КонфигурацияБенчмарков.os

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,13 @@
400400
// или финализации данных после выполнения всех бенчмарков.
401401
//
402402
// Параметры:
403-
// Делегат, Неопределено - Делегат
403+
// Делегат, Неопределено - Делегат:
404+
// * Контекст - Структура:
405+
// ** ДескрипторыБенчмарков - Массив из ДескрипторБенчмарка
406+
// ** Конфигурация - КонфигурацияБенчмарков
407+
// ** РезультатыЗапусков - см. НоваяТаблицаРезультатов
408+
// ** Отчет - ОтчетБенчмарков
409+
// ** СредаОкружения - СредаОкруженияБенчмарков
404410
//
405411
// Возвращаемое значение:
406412
// ЭтотОбъект

tests/fixtures/Классы/БенчмаркСОбработчикамиСобытий.os

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,47 @@
1111
КонецПроцедуры
1212

1313
&Завершение
14-
Процедура Завершение() Экспорт
14+
Процедура Завершение(Контекст) Экспорт
15+
16+
ДескрипторыБенчмарков = Контекст.ДескрипторыБенчмарков;
17+
Конфигурация = Контекст.Конфигурация;
18+
РезультатыЗапусков = Контекст.РезультатыЗапусков;
19+
Отчет = Контекст.Отчет;
20+
СредаОкружения = Контекст.СредаОкружения;
21+
1522
События.Добавить("Завершение");
23+
1624
КонецПроцедуры
1725

1826
&Перед
1927
Процедура ПередЗапуском(Контекст) Экспорт
28+
2029
ДескрипторБенчмарка = Контекст.ДескрипторБенчмарка;
2130
ПараметрыМетода = Контекст.ПараметрыМетода;
31+
2232
События.Добавить("ПередЗапуском");
33+
2334
КонецПроцедуры
2435

2536
&После
2637
Процедура ПослеЗапуска(Контекст) Экспорт
38+
2739
ДескрипторБенчмарка = Контекст.ДескрипторБенчмарка;
2840
Параметры = Контекст.Параметры;
2941
Замеры = Контекст.Замеры;
3042
Статистика = Контекст.Статистика;
43+
3144
События.Добавить("ПослеЗапуска");
45+
3246
КонецПроцедуры
3347

34-
Процедура ПередЗапускомБезПараметров() Экспорт
48+
Процедура ПередЗапускомБезПараметров(Контекст) Экспорт
49+
50+
ДескрипторБенчмарка = Контекст.ДескрипторБенчмарка;
51+
ПараметрыМетода = Контекст.ПараметрыМетода;
52+
3553
События.Добавить("ПередЗапускомБезПараметров");
54+
3655
КонецПроцедуры
3756

3857
Процедура ПриСозданииОбъекта()

0 commit comments

Comments
 (0)