From 99382feef91e7ea6a10f1bc604a9b70009a10da7 Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov Date: Wed, 29 Apr 2026 20:32:44 +0300 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D0=BA=D0=B8?= =?UTF-8?q?=D1=85=20=D0=BA=D0=BE=D0=BB=D0=BE=D0=BD=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/README.md | 2 +- ...21\202\320\260\321\206\320\270\320\270.md" | 2 + ...21\202\321\200\320\270\320\272\320\270.md" | 49 +++- ...21\200\320\270\320\274\320\265\321\200.os" | 11 + ...20\273\320\276\320\275\320\272\320\270.os" | 10 + ...21\203\320\275\320\264\320\260\321\205.os" | 19 ++ ...21\203\320\275\320\264\320\260\321\205.os" | 17 ++ ...20\273\320\276\320\275\320\272\320\260.os" | 21 ++ ...20\260\321\200\320\272\320\276\320\262.os" | 17 ++ ...20\260\321\200\320\272\320\276\320\262.os" | 22 +- ...00\320\272\320\276\320\262\320\222Html.os" | 17 +- ...20\260\321\200\320\272\320\276\320\262.os" | 103 +++++++ ...20\260\321\200\320\272\320\276\320\262.os" | 127 +++++--- ...20\272\320\276\320\262\320\222Markdown.os" | 38 ++- ...20\260\321\200\320\272\320\276\320\262.os" | 237 ++++++++++++++- ...20\260\321\200\320\272\320\276\320\262.os" | 47 +++ ...20\260\321\200\320\272\320\276\320\262.os" | 169 ++++++----- ...20\260\321\200\320\272\320\276\320\262.os" | 32 ++ ...321\200\320\272\320\276\320\262RatioSD.os" | 5 +- ...20\241\321\200\320\265\320\264\321\213.os" | 1 - ...21\200\321\202\320\270\320\273\321\214.os" | 3 +- ...20\260\320\274\321\217\321\202\321\214.os" | 3 +- ...20\263\320\276\321\200\320\270\321\217.os" | 1 - ...20\275\320\276\321\201\321\202\320\270.os" | 5 +- ...20\262\320\234\320\260\320\272\321\201.os" | 3 +- ...20\264\320\270\320\260\320\275\320\260.os" | 5 +- ...20\234\320\265\321\202\320\276\320\264.os" | 1 - ...20\276\320\262\320\234\320\270\320\275.os" | 3 +- ...21\200\321\202\320\270\320\273\321\214.os" | 3 +- ...20\272\321\203\320\275\320\264\321\203.os" | 3 +- ...20\260\320\274\320\265\321\202\321\200.os" | 24 +- ...20\275\321\202\320\270\320\273\321\214.os" | 5 +- ...20\265\320\264\320\275\320\265\320\265.os" | 3 +- ...21\210\320\270\320\261\320\272\320\260.os" | 3 +- ...20\275\320\265\320\275\320\270\320\265.os" | 3 +- ...21\202\320\260\320\273\320\276\320\275.os" | 3 +- ...20\260\321\200\320\272\320\276\320\262.os" | 155 ++++++++-- ...20\274\320\260\321\200\320\272\320\260.os" | 1 - ...20\260\321\200\320\272\320\276\320\262.os" | 16 + ...20\276\320\275\320\272\320\276\320\271.os" | 10 + ...21\214\321\201\320\272\320\260\321\217.os" | 49 ++++ ...20\260\321\200\320\272\320\276\320\262.os" | 18 +- ...20\260\321\200\320\272\320\276\320\262.os" | 6 +- ...20\260\321\200\320\272\320\276\320\262.os" | 58 ++-- ...20\260\321\200\320\272\320\276\320\262.os" | 7 +- ...20\260\321\200\320\272\320\276\320\262.os" | 5 +- ...20\260\321\200\320\272\320\276\320\262.os" | 93 +++--- ...20\260\321\200\320\272\320\276\320\262.os" | 168 ++++++++++- ...20\260\321\200\320\272\320\276\320\262.os" | 25 +- ...20\260\321\200\320\272\320\276\320\262.os" | 105 +++---- ...20\260\321\200\320\272\320\276\320\262.os" | 5 +- ...20\260\321\200\320\272\320\276\320\262.os" | 275 ++++++++++++++++++ ...20\260\321\200\320\272\320\276\320\262.os" | 31 +- ...20\260\321\200\320\272\320\276\320\262.os" | 55 ++-- 54 files changed, 1678 insertions(+), 421 deletions(-) create mode 100644 "samples/api/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\237\321\200\320\270\320\274\320\265\321\200.os" create mode 100644 "samples/benchmarks/features/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\232\320\276\320\273\320\276\320\275\320\272\320\270.os" create mode 100644 "samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\240\320\260\320\267\320\274\320\260\321\205\320\222\321\200\320\265\320\274\320\265\320\275\320\270\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" create mode 100644 "samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" create mode 100644 "src/BenchmarkOneScript/core/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\260.os" create mode 100644 "src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\264\320\260\320\277\321\202\320\265\321\200\320\234\320\276\320\264\321\203\320\273\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" create mode 100644 "src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" create mode 100644 "src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" create mode 100644 "tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271.os" create mode 100644 "tests/fixtures/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\260\321\217.os" create mode 100644 "tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" diff --git a/docs/README.md b/docs/README.md index 24fbe51..ae589f1 100644 --- a/docs/README.md +++ b/docs/README.md @@ -24,7 +24,7 @@ ## Отчеты и результаты -- [Метрики](Метрики.md) - доступные метрики и дополнительные колонки отчета. +- [Метрики](Метрики.md) - доступные метрики, стандартные и пользовательские колонки отчета. - [Сортировка отчета](СортировкаОтчета.md) - способы сортировки итоговой таблицы. - [Экспорт результатов](ЭкспортРезультатов.md) - форматы экспорта и каталог артефактов. diff --git "a/docs/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\320\270.md" "b/docs/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\320\270.md" index 1bc6da3..e30d2c1 100644 --- "a/docs/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\320\270.md" +++ "b/docs/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\320\270.md" @@ -216,6 +216,7 @@ | `&КолонкаВерхнийКвартиль` | Добавляет колонку верхнего квартиля. | | `&КолонкаПроцентиль(<Процентиль1>, <Процентиль2>, ...)` | Добавляет одну или несколько процентильных колонок. | | `&КолонкаRatioSD` | Добавляет колонку `RatioSD`. | +| `&Колонка("<ИмяКолонки>")` | Добавляет пользовательскую колонку. | | `&ЭкспортMarkdown` | Включает экспорт в Markdown. | | `&ЭкспортJson` | Включает экспорт в JSON. | | `&ЭкспортHtml` | Включает экспорт в HTML. | @@ -227,6 +228,7 @@ &КолонкаМин &КолонкаМакс &КолонкаПроцентиль(10, 80) +&Колонка("МояКолонка") &ЭкспортJson &КаталогАртефактов("./BenchmarkArtifacts") Процедура ПриСозданииОбъекта() diff --git "a/docs/\320\234\320\265\321\202\321\200\320\270\320\272\320\270.md" "b/docs/\320\234\320\265\321\202\321\200\320\270\320\272\320\270.md" index f9e92b2..f3e1047 100644 --- "a/docs/\320\234\320\265\321\202\321\200\320\270\320\272\320\270.md" +++ "b/docs/\320\234\320\265\321\202\321\200\320\270\320\272\320\270.md" @@ -97,4 +97,51 @@ | Method | Mean | StdErr | StdDev | P0 | P25 | P50 | P67 | P80 | P85 | P90 | P95 | P100 | Op/s | |----------|---------:|---------:|---------:|---------:|---------:|---------:|---------:|---------:|---------:|---------:|---------:|---------:|------:| -| Бенчмарк | 10.61 ms | 31.84 us | 123.3 us | 10.43 ms | 10.49 ms | 10.57 ms | 10.70 ms | 10.72 ms | 10.72 ms | 10.73 ms | 10.76 ms | 10.82 ms | 94.29 | \ No newline at end of file +| Бенчмарк | 10.61 ms | 31.84 us | 123.3 us | 10.43 ms | 10.49 ms | 10.57 ms | 10.70 ms | 10.72 ms | 10.72 ms | 10.73 ms | 10.76 ms | 10.82 ms | 94.29 | + +## Пользовательские колонки + +Пользовательские колонки позволяют добавить в отчет собственные вычисляемые показатели. Возможность доступна только в **OneScript 2.0.0 и новее**. + +Модуль пользовательской колонки должен быть заранее доступен в процессе выполнения бенчмарка, например через `#Использовать "./customColumns"` и называться `КолонкаОтчетаБенчмарков<ИмяКолонки>`. Сам модуль должен реализовывать интерфейс `ИнтерфейсКолонкиОтчетаБенчмарков`. + +#### Реализация модуля колонки + +```bsl +Функция Создать() Экспорт + + Колонка = Новый КолонкаОтчетаБенчмарков("СреднееВМиллисекундах"); + Колонка.Заголовок = "Mean, ms"; + Колонка.Описание = "Среднее время выполнения в миллисекундах"; + Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Миллисекунда; + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; + Колонка.ПараметрыПредставления.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(2); + + Возврат Колонка; + +КонецФункции + +Функция Значение(РезультатЗапускаКейса, Колонка) Экспорт + + Возврат РезультатЗапускаКейса.Статистика.ВМиллисекунды().Среднее; + +КонецФункции +``` + +#### Аннотации + +```bsl +#Использовать "./customColumns" + +&Колонка("СреднееВМиллисекундах") +Процедура ПриСозданииОбъекта() +КонецПроцедуры +``` + +#### API + +```bsl +#Использовать "./customColumns" + +Конфигурация.ДобавитьКолонку("СреднееВМиллисекундах"); +``` diff --git "a/samples/api/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\237\321\200\320\270\320\274\320\265\321\200.os" "b/samples/api/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\237\321\200\320\270\320\274\320\265\321\200.os" new file mode 100644 index 0000000..b84a6e2 --- /dev/null +++ "b/samples/api/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\237\321\200\320\270\320\274\320\265\321\200.os" @@ -0,0 +1,11 @@ +#Использовать benchmark +#Использовать "../benchmarks" + +Тип = Тип("БенчмаркПользовательскиеКолонки"); + +Конфигурация = Новый КонфигурацияБенчмарков(Тип); +Конфигурация.ДобавитьКолонку(КолонкиОтчетаБенчмарков.Мин); +Конфигурация.ДобавитьКолонку(КолонкиОтчетаБенчмарков.Макс); +Конфигурация.ДобавитьКолонку("РазмахВремениВМиллисекундах"); + +Бенчмаркинг.Запустить(Тип, Конфигурация); diff --git "a/samples/benchmarks/features/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\232\320\276\320\273\320\276\320\275\320\272\320\270.os" "b/samples/benchmarks/features/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\232\320\276\320\273\320\276\320\275\320\272\320\270.os" new file mode 100644 index 0000000..d84c2c7 --- /dev/null +++ "b/samples/benchmarks/features/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\320\265\320\232\320\276\320\273\320\276\320\275\320\272\320\270.os" @@ -0,0 +1,10 @@ +#Использовать "../../customColumns" + +&Колонка("СреднееВМиллисекундах") +Процедура ПриСозданииОбъекта() +КонецПроцедуры + +&Бенчмарк +Процедура Бенчмарк() Экспорт + Приостановить(10); +КонецПроцедуры diff --git "a/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\240\320\260\320\267\320\274\320\260\321\205\320\222\321\200\320\265\320\274\320\265\320\275\320\270\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" "b/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\240\320\260\320\267\320\274\320\260\321\205\320\222\321\200\320\265\320\274\320\265\320\275\320\270\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" new file mode 100644 index 0000000..0294f1d --- /dev/null +++ "b/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\240\320\260\320\267\320\274\320\260\321\205\320\222\321\200\320\265\320\274\320\265\320\275\320\270\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" @@ -0,0 +1,19 @@ +Функция Создать() Экспорт + + Колонка = Новый КолонкаОтчетаБенчмарков("РазмахВремениВМиллисекундах"); + Колонка.Заголовок = "Range, ms"; + Колонка.Описание = "Разница между максимальным и минимальным временем выполнения в миллисекундах"; + Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; + Колонка.ПараметрыПредставления.ЕдиницаИзмеренияПредставления = ЕдиницыИзмеренийБенчмарков.Миллисекунда; + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; + + Возврат Колонка; + +КонецФункции + +Функция Значение(РезультатЗапускаКейса, Колонка) Экспорт // BSLLS:UnusedParameters-off + + СтатистикаВМиллисекундах = РезультатЗапускаКейса.Статистика.ВНаносекунды(); + Возврат СтатистикаВМиллисекундах.Макс - СтатистикаВМиллисекундах.Мин; + +КонецФункции diff --git "a/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" "b/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" new file mode 100644 index 0000000..20f5ec3 --- /dev/null +++ "b/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" @@ -0,0 +1,17 @@ +Функция Создать() Экспорт + + Колонка = Новый КолонкаОтчетаБенчмарков("СреднееВМиллисекундах"); + Колонка.Заголовок = "Mean, ms"; + Колонка.Описание = "Среднее время выполнения в миллисекундах"; + Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Миллисекунда; + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; + + Возврат Колонка; + +КонецФункции + +Функция Значение(РезультатЗапускаКейса, Колонка) Экспорт // BSLLS:UnusedParameters-off + + Возврат РезультатЗапускаКейса.Статистика.ВМиллисекунды().Среднее; + +КонецФункции diff --git "a/src/BenchmarkOneScript/core/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\260.os" "b/src/BenchmarkOneScript/core/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\260.os" new file mode 100644 index 0000000..9165ef1 --- /dev/null +++ "b/src/BenchmarkOneScript/core/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\260.os" @@ -0,0 +1,21 @@ +// Добавляет в отчет пользовательскую колонку, создаваемую по модулю +// КолонкаОтчетаБенчмарков<ИмяКолонки>. +// +// Применяется только к методу ПриСозданииОбъекта. +// +// Параметры: +// ИмяКолонки - Строка - Имя колонки или полное имя модуля колонки. +// +// Примеры: +// &Колонка("Пользовательская") +// Процедура ПриСозданииОбъекта() +// // ... +// КонецПроцедуры +// +// &Колонка("КолонкаОтчетаБенчмарковПользовательская") +// Процедура ПриСозданииОбъекта() +// // ... +// КонецПроцедуры +&Аннотация("Колонка") +Процедура ПриСозданииОбъекта(ИмяКолонки) +КонецПроцедуры diff --git "a/src/BenchmarkOneScript/core/config/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\267\320\262\320\273\320\265\320\272\320\260\321\202\320\265\320\273\321\214\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/config/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\267\320\262\320\273\320\265\320\272\320\260\321\202\320\265\320\273\321\214\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index e4a5f13..23b35e8 100644 --- "a/src/BenchmarkOneScript/core/config/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\267\320\262\320\273\320\265\320\272\320\260\321\202\320\265\320\273\321\214\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/config/\320\232\320\273\320\260\321\201\321\201\321\213/\320\230\320\267\320\262\320\273\320\265\320\272\320\260\321\202\320\265\320\273\321\214\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -319,6 +319,7 @@ ПрочитатьАннотацииКолонкиБезПараметров(СвойстваКонструктора, Конфигурация); ПрочитатьАннотацииКолонкиПроцентиля(СвойстваКонструктора, Конфигурация); + ПрочитатьАннотацииПользовательскихКолонок(СвойстваКонструктора, Конфигурация); КонецПроцедуры @@ -366,6 +367,22 @@ КонецПроцедуры +// Читает аннотации &Колонка и добавляет пользовательские колонки в конфигурацию +// +// Параметры: +// СвойстваКонструктора - СтрокаТаблицыЗначений - Свойства метода ПриСозданииОбъекта +// Конфигурация - КонфигурацияБенчмарков - Конфигурация для заполнения +Процедура ПрочитатьАннотацииПользовательскихКолонок(СвойстваКонструктора, Конфигурация) + + Аннотации = РаботаСАннотациями.ПолучитьАннотации(СвойстваКонструктора, "Колонка"); + + Для Каждого Аннотация Из Аннотации Цикл + ИмяКолонки = РаботаСАннотациями.ПолучитьЗначениеПараметраАннотации(Аннотация); + Конфигурация.ДобавитьКолонку(ИмяКолонки); + КонецЦикла; + +КонецПроцедуры + // Читает аннотацию &КаталогАртефактов и устанавливает путь к каталогу в конфигурации // // Параметры: diff --git "a/src/BenchmarkOneScript/core/config/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/config/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index fbb7842..0983a66 100644 --- "a/src/BenchmarkOneScript/core/config/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/config/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,6 +1,5 @@ #Использовать asserts #Использовать validate -#Использовать reflector #Использовать fluent &Сериализуемое("Strategy") @@ -687,12 +686,21 @@ // Добавляет колонку отчета // +// В качестве имени колонки можно указать: +// - Имя стандартной колонки из перечисления КолонкиОтчетаБенчмарков; +// - Короткое имя пользовательской колонки, например "Пользовательская"; +// - Полное имя модуля пользовательской колонки, например "КолонкаОтчетаБенчмарковПользовательская". +// +// Модуль пользовательской колонки должен реализовывать интерфейс ИнтерфейсКолонкиОтчетаБенчмарков. +// // Параметры: -// Колонка - Строка - см. КолонкиОтчетаБенчмарков +// Колонка - Строка - Имя стандартной (см. КолонкиОтчетаБенчмарков) или пользовательской колонки // // Возвращаемое значение: // ЭтотОбъект -Функция ДобавитьКолонку(Колонка) Экспорт +Функция ДобавитьКолонку(Знач Колонка) Экспорт + + Колонка = КолонкиОтчетаБенчмарков.НормализоватьИмяКолонки(Колонка); Если _Колонки.Найти(Колонка) = Неопределено Тогда _Колонки.Добавить(Колонка); @@ -707,11 +715,13 @@ // Удаляет добавленную колонку отчета // // Параметры: -// Колонка - Строка - см. КолонкиОтчетаБенчмарков +// Колонка - Строка - Имя стандартной (см. КолонкиОтчетаБенчмарков) или пользовательской колонки // // Возвращаемое значение: // ЭтотОбъект -Функция УдалитьКолонку(Колонка) Экспорт +Функция УдалитьКолонку(Знач Колонка) Экспорт + + Колонка = КолонкиОтчетаБенчмарков.НормализоватьИмяКолонки(Колонка); Инд = _Колонки.Найти(Колонка); Если Не Инд = Неопределено Тогда @@ -739,7 +749,7 @@ // Добавленные колонки отчета // // Возвращаемое значение: -// Массив из Строка - см. КолонкиОтчетаБенчмарков +// Массив из Строка - см. КолонкиОтчетаБенчмарков или имена пользовательских колонок Функция Колонки() Экспорт Возврат Новый Массив(Новый ФиксированныйМассив(_Колонки)); КонецФункции diff --git "a/src/BenchmarkOneScript/core/exporters/\320\232\320\273\320\260\321\201\321\201\321\213/\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\265\321\200\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222Html.os" "b/src/BenchmarkOneScript/core/exporters/\320\232\320\273\320\260\321\201\321\201\321\213/\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\265\321\200\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222Html.os" index d1a721a..b25d3c8 100644 --- "a/src/BenchmarkOneScript/core/exporters/\320\232\320\273\320\260\321\201\321\201\321\213/\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\265\321\200\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222Html.os" +++ "b/src/BenchmarkOneScript/core/exporters/\320\232\320\273\320\260\321\201\321\201\321\213/\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\265\321\200\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222Html.os" @@ -31,8 +31,9 @@ Части.Добавить(""); Части.Добавить(""); Части.Добавить(""); + ВидимыеКолонки = РезультатЗапускаБенчмарков.Отчет.ВидимыеКолонки(); - Для Каждого Колонка Из РезультатЗапускаБенчмарков.Отчет.Колонки Цикл + Для Каждого Колонка Из ВидимыеКолонки Цикл Части.Добавить(""); @@ -43,13 +44,21 @@ Части.Добавить(""); - Для Каждого СтрокаОтчета Из РезультатЗапускаБенчмарков.Отчет.Таблица Цикл + Для Каждого СтрокаОтчета Из РезультатЗапускаБенчмарков.Отчет.Таблица() Цикл Части.Добавить(""); - Для Каждого Колонка Из РезультатЗапускаБенчмарков.Отчет.Колонки Цикл + Для Каждого Колонка Из ВидимыеКолонки Цикл + ПараметрыПредставления = РезультатЗапускаБенчмарков.Отчет.ПараметрыПредставленияКолонки(Колонка); + РезультатЗапускаКейса = РезультатЗапускаБенчмарков.Отчет.РезультатЗапускаКейсаСтроки(СтрокаОтчета); + ПредставлениеЗначения = Колонка.ПредставлениеЗначения( + СтрокаОтчета[Колонка.Имя], + РезультатЗапускаКейса, + ПараметрыПредставления + ); + Части.Добавить(""); КонецЦикла; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\264\320\260\320\277\321\202\320\265\321\200\320\234\320\276\320\264\321\203\320\273\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\264\320\260\320\277\321\202\320\265\321\200\320\234\320\276\320\264\321\203\320\273\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" new file mode 100644 index 0000000..690e736 --- /dev/null +++ "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\264\320\260\320\277\321\202\320\265\321\200\320\234\320\276\320\264\321\203\320\273\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -0,0 +1,103 @@ + +Перем _ИмяМодуля; // Строка +Перем _МодульКолонки; // Сценарий +Перем _Рефлектор; // Рефлектор + +#Область ОбработчикиСобытий + +// Адаптер модуля колонки отчета бенчмарков. +// +// Параметры: +// ИмяМодуля - Строка - Имя модуля колонки +// МодульКолонки - Сценарий - Загруженный модуль колонки +Процедура ПриСозданииОбъекта(ИмяМодуля, МодульКолонки) + + _ИмяМодуля = ИмяМодуля; + _МодульКолонки = МодульКолонки; + _Рефлектор = Новый Рефлектор(); + +КонецПроцедуры + +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +// Создает экземпляр колонки из модуля и настраивает ее вычисление. +// +// Параметры: +// Параметр - Произвольный - Необязательный параметр функции Создать() модуля +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков +Функция СоздатьКолонку(Параметр = Неопределено) Экспорт + + ПроверитьМодульКолонки(); + + Колонка = СоздатьЭкземплярКолонки(Параметр); + Если ТипЗнч(Колонка) <> Тип("КолонкаОтчетаБенчмарков") Тогда + ВызватьИсключение СтрШаблон( + "Функция Создать() модуля <%1> должна возвращать объект типа КолонкаОтчетаБенчмарков.", + _ИмяМодуля + ); + КонецЕсли; + + НастроитьДелегатыКолонки(Колонка); + + Возврат Колонка; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Процедура ПроверитьМодульКолонки() + + Если ТипЗнч(_МодульКолонки) <> Тип("Сценарий") Тогда + ВызватьИсключение СтрШаблон("Модуль колонки отчета бенчмарков <%1> должен быть сценарием.", _ИмяМодуля); + КонецЕсли; + + Если Не _Рефлектор.МетодСуществует(_МодульКолонки, "Создать") Тогда + ВызватьИсключение СтрШаблон( + "Модуль колонки отчета бенчмарков <%1> должен экспортировать функцию Создать().", + _ИмяМодуля + ); + КонецЕсли; + +КонецПроцедуры + +Функция СоздатьЭкземплярКолонки(Параметр) + + Если Параметр = Неопределено Тогда + Возврат _Рефлектор.ВызватьМетод(_МодульКолонки, "Создать"); + КонецЕсли; + + Параметры = Новый Массив(); + Параметры.Добавить(Параметр); + + Возврат _Рефлектор.ВызватьМетод(_МодульКолонки, "Создать", Параметры); + +КонецФункции + +Процедура НастроитьДелегатыКолонки(Колонка) + + Если Колонка.ДелегатЗначение = Неопределено Тогда + Если Не _Рефлектор.МетодСуществует(_МодульКолонки, "Значение") Тогда + ВызватьИсключение СтрШаблон( + "Модуль колонки отчета бенчмарков <%1> должен иметь функцию Значение() " + + "или вернуть колонку с заполненным ДелегатЗначение.", + _ИмяМодуля + ); + КонецЕсли; + + Колонка.ДелегатЗначение = Новый Действие(_МодульКолонки, "Значение"); + КонецЕсли; + + Если Колонка.ДелегатПредставлениеЗначения = Неопределено + И _Рефлектор.МетодСуществует(_МодульКолонки, "ПредставлениеЗначения") Тогда + Колонка.ДелегатПредставлениеЗначения = Новый Действие(_МодульКолонки, "ПредставлениеЗначения"); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти diff --git "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 71d8df0..8229c75 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,41 +1,69 @@ // BSLLS:ExportVariables-off -Перем Имя Экспорт; // Строка -Перем Заголовок Экспорт; // Строка -Перем Описание Экспорт; // Строка -Перем ЕдиницаИзмерения Экспорт; // см. ЕдиницыИзмеренийБенчмарков -Перем ЕдиницаИзмеренияПредставления Экспорт; // см. ЕдиницыИзмеренийБенчмарков -Перем СтильКоэффициента Экспорт; // см. СтилиКоэффициентаБенчмарка -Перем ФорматнаяСтрока Экспорт; // Строка -Перем Размер Экспорт; // Число -Перем ЭтоЧисло Экспорт; // Булево -Перем ДелегатЗначение Экспорт; // Действие -Перем ДелегатПредставлениеЗначения Экспорт; // Действие - -// Лямбда-выражение для скрытия колонки при выполнении условия. -// Пример: -// Элемент -> Элемент >= 0 И Элемент < 0.02 -// Логика: -// Колонка скрывается, если ВСЕ её элементы находятся в интервале [0, 0.02). -Перем ФункцияСкрытия Экспорт; // Строка +// Внутреннее имя колонки. +// Используется как идентификатор колонки в таблице отчета, при сериализации и при поиске колонки в построителе отчета. +Перем Имя Экспорт; // Строка + +// Заголовок колонки в отчете. +// Используется в шапке Markdown/HTML-отчета и в легенде. +Перем Заголовок Экспорт; // Строка + +// Человекочитаемое описание колонки. +// Если заполнено, выводится в легенде отчета. +Перем Описание Экспорт; // Строка + +// Базовая единица измерения значения колонки. +// Используется для автоматического подбора единицы представления и форматирования числовых значений. +Перем ЕдиницаИзмерения Экспорт; // см. ЕдиницыИзмеренийБенчмарков, Неопределено + +// Стиль представления коэффициентов. +Перем СтильКоэффициента Экспорт; // см. СтилиКоэффициентаБенчмарка + +// Параметры представления колонки по умолчанию. +// При построении отчета копируются в runtime-настройки колонки и далее не мутируют исходное описание. +Перем ПараметрыПредставления Экспорт; // ПараметрыПредставленияКолонкиОтчетаБенчмарков + +// Делегат вычисления значения колонки по результату запуска кейса. +Перем ДелегатЗначение Экспорт; // Действие, Неопределено + +// Делегат пользовательского представления значения колонки. +// Если задан, используется вместо стандартного форматирования. +Перем ДелегатПредставлениеЗначения Экспорт; // Действие, Неопределено + +// Лямбда-выражение для автоматического скрытия колонки. +// Колонка скрывается, только если условие истинно для всех строк и колонка не была запрошена явно в конфигурации. +// +// Параметры для лямбда-выражения: +// Структура: +// * Значение - Произвольный - Значение колонки для строки отчета +// * РезультатЗапускаКейса - РезультатЗапускаКейса - Результат запуска кейса для строки отчета +// +// Пример: +// Элемент -> Элемент.Значение >= 0 И Элемент.Значение < 0.02 +Перем ФункцияСкрытия Экспорт; // Строка + +#Область ОбработчикиСобытий // Колонка отчета бенчмарков // // Параметры: -// пИмя - Строка - Имя колонки -Процедура ПриСозданииОбъекта(пИмя) +// ИмяКолонки - Строка - Имя колонки +Процедура ПриСозданииОбъекта(ИмяКолонки) - Имя = пИмя; - Заголовок = ""; - Описание = ""; - ФорматнаяСтрока = ""; - Размер = 0; - ЭтоЧисло = Ложь; - ФункцияСкрытия = ""; + Имя = ИмяКолонки; + Заголовок = ""; + Описание = ""; + СтильКоэффициента = СтилиКоэффициентаБенчмарка.Значение; + ПараметрыПредставления = Новый ПараметрыПредставленияКолонкиОтчетаБенчмарков(); + ФункцияСкрытия = ""; КонецПроцедуры +#КонецОбласти + +#Область ПрограммныйИнтерфейс + // Значение по результатам замеров // // Параметры: @@ -45,28 +73,41 @@ // Возвращаемое значение: // Произвольный Функция Значение(РезультатЗапускаКейса, Колонка) Экспорт - Возврат ДелегатЗначение.Выполнить(РезультатЗапускаКейса, Колонка); + Если ДелегатЗначение <> Неопределено Тогда + Возврат ДелегатЗначение.Выполнить(РезультатЗапускаКейса, Колонка); + Иначе + ВызватьИсключение СтрШаблон("Для колонки <%1> не задан делегат вычисления значения.", Имя); + КонецЕсли; КонецФункции // Представление значения // // Параметры: // Значение - Произвольный -// СтрокаОтчета - СтрокаТаблицыЗначений +// РезультатЗапускаКейса - РезультатЗапускаКейса, Неопределено +// ПараметрыПредставленияКолонки - ПараметрыПредставленияКолонкиОтчетаБенчмарков, Неопределено // // Возвращаемое значение: // Строка -Функция ПредставлениеЗначения(Знач Значение, СтрокаОтчета) Экспорт +Функция ПредставлениеЗначения(Знач Значение, РезультатЗапускаКейса, ПараметрыПредставленияКолонки) Экспорт + + Если ПараметрыПредставленияКолонки = Неопределено Тогда + ПараметрыПредставленияКолонки = ПараметрыПредставления; + КонецЕсли; Если Не ДелегатПредставлениеЗначения = Неопределено Тогда - Возврат ДелегатПредставлениеЗначения.Выполнить(Значение, СтрокаОтчета); + Возврат ДелегатПредставлениеЗначения.Выполнить( + Значение, + РезультатЗапускаКейса, + ПараметрыПредставленияКолонки + ); КонецЕсли; Если СтильКоэффициента = СтилиКоэффициентаБенчмарка.Процент Тогда ФорматнаяСтрокаПроцента = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(2); - Если СтрокаОтчета.Эталон Тогда + Если РезультатЗапускаКейса <> Неопределено И РезультатЗапускаКейса.ЭтоЭталон Тогда Представление = "-"; Иначе Представление = ?(Значение >= 1, @@ -77,12 +118,16 @@ Возврат Представление; - Иначе - + ИначеЕсли СтильКоэффициента = СтилиКоэффициентаБенчмарка.Значение Тогда + ЕдиницаИзмеренияЗначения = ЕдиницаИзмерения; - Если Не ЕдиницаИзмеренияПредставления = Неопределено Тогда - Значение = ЕдиницыИзмеренийБенчмарков.Конвертировать(Значение, ЕдиницаИзмерения, ЕдиницаИзмеренияПредставления); - ЕдиницаИзмеренияЗначения = ЕдиницаИзмеренияПредставления; + Если Не ПараметрыПредставленияКолонки.ЕдиницаИзмеренияПредставления = Неопределено Тогда + Значение = ЕдиницыИзмеренийБенчмарков.Конвертировать( + Значение, + ЕдиницаИзмерения, + ПараметрыПредставленияКолонки.ЕдиницаИзмеренияПредставления + ); + ЕдиницаИзмеренияЗначения = ПараметрыПредставленияКолонки.ЕдиницаИзмеренияПредставления; КонецЕсли; ДополнитьЕдиницейИзмерения = Не ЕдиницаИзмеренияЗначения = Неопределено @@ -91,10 +136,16 @@ Возврат ПредставленияПоказателейБенчмарков.Представление( Значение, ЕдиницаИзмеренияЗначения, - ФорматнаяСтрока, + ПараметрыПредставленияКолонки.ФорматнаяСтрока, ДополнитьЕдиницейИзмерения ); + Иначе + + ВызватьИсключение "Неизвестный стиль коэффициента: " + СтильКоэффициента; + КонецЕсли; КонецФункции + +#КонецОбласти diff --git "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\265\321\200\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222Markdown.os" "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\265\321\200\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222Markdown.os" index c8463e0..ddc8b26 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\265\321\200\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222Markdown.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\265\321\200\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222Markdown.os" @@ -35,17 +35,22 @@ ПодстрокиЗаголовки = Новый Массив(); ПодстрокиРазделитель = Новый Массив(); + ВидимыеКолонки = _ОтчетБенчмарков.ВидимыеКолонки(); - Для Каждого Колонка Из _ОтчетБенчмарков.Колонки Цикл + Для Каждого Колонка Из ВидимыеКолонки Цикл + + ПараметрыПредставления = _ОтчетБенчмарков.ПараметрыПредставленияКолонки(Колонка); - ПоложениеПраво = Колонка.ЭтоЧисло; - Размер = Колонка.Размер + ДобавочныхСимволов(); + ПоложениеПраво = ПараметрыПредставления.ЭтоЧисло; + Размер = ПараметрыПредставления.Размер + ДобавочныхСимволов(); ПодстрокиЗаголовки.Добавить(РазделительКолонок()); - ПодстрокиЗаголовки.Добавить(ПредставленияПоказателейБенчмарков.ФиксированнаяСтрока(Колонка.Заголовок, Размер, ПоложениеПраво, , Истина)); + ПодстрокиЗаголовки.Добавить( + ПредставленияПоказателейБенчмарков.ФиксированнаяСтрока(Колонка.Заголовок, Размер, ПоложениеПраво, , Истина)); ПодстрокиРазделитель.Добавить(РазделительКолонок()); - ПодстрокиРазделитель.Добавить(ПредставленияПоказателейБенчмарков.ФиксированнаяСтрока(?(ПоложениеПраво, ":", ""), Размер, Истина, "-", Ложь)); + ПодстрокиРазделитель.Добавить( + ПредставленияПоказателейБенчмарков.ФиксированнаяСтрока(?(ПоложениеПраво, ":", ""), Размер, Истина, "-", Ложь)); КонецЦикла; @@ -59,19 +64,26 @@ Процедура ДобавитьСтроки(Результат) - Для Каждого СтрокаСтатистики Из _ОтчетБенчмарков.Таблица Цикл + ВидимыеКолонки = _ОтчетБенчмарков.ВидимыеКолонки(); + + Для Каждого СтрокаОтчета Из _ОтчетБенчмарков.Таблица() Цикл Подстроки = Новый Массив(); - Для Каждого Колонка Из _ОтчетБенчмарков.Колонки Цикл + Для Каждого Колонка Из ВидимыеКолонки Цикл + + ПараметрыПредставления = _ОтчетБенчмарков.ПараметрыПредставленияКолонки(Колонка); - ПоложениеПраво = Колонка.ЭтоЧисло; - Размер = Колонка.Размер + ДобавочныхСимволов(); - Значение = СтрокаСтатистики[Колонка.Имя]; - Представление = Колонка.ПредставлениеЗначения(Значение, СтрокаСтатистики); + ПоложениеПраво = ПараметрыПредставления.ЭтоЧисло; + Размер = ПараметрыПредставления.Размер + ДобавочныхСимволов(); + Значение = СтрокаОтчета[Колонка.Имя]; + РезультатЗапускаКейса = _ОтчетБенчмарков.РезультатЗапускаКейсаСтроки(СтрокаОтчета); + + Представление = Колонка.ПредставлениеЗначения(Значение, РезультатЗапускаКейса, ПараметрыПредставления); Подстроки.Добавить(РазделительКолонок()); - Подстроки.Добавить(ПредставленияПоказателейБенчмарков.ФиксированнаяСтрока(Представление, Размер, ПоложениеПраво, , Истина)); + Подстроки.Добавить( + ПредставленияПоказателейБенчмарков.ФиксированнаяСтрока(Представление, Размер, ПоложениеПраво, , Истина)); КонецЦикла; @@ -90,4 +102,4 @@ Возврат 2; КонецФункции -#КонецОбласти \ No newline at end of file +#КонецОбласти diff --git "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\321\202\321\207\320\265\321\202\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\321\202\321\207\320\265\321\202\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 58d77b3..b33e0db 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\321\202\321\207\320\265\321\202\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\321\202\321\207\320\265\321\202\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,15 +1,25 @@ // BSLLS:ExportVariables-off -Перем Таблица Экспорт; // ТаблицаЗначений -Перем Колонки Экспорт; // Массив из КолонкаОтчетаБенчмарков +Перем _Таблица; // ТаблицаЗначений +Перем _Колонки; // Массив из КолонкаОтчетаБенчмарков +Перем _ПараметрыПредставленияКолонок; // Соответствие +Перем _РезультатыЗапускаКейсовСтрокОтчета; // Соответствие + +#Область ОбработчикиСобытий Процедура ПриСозданииОбъекта() - Таблица = Новый ТаблицаЗначений(); - Колонки = Новый Массив(); + _Таблица = Новый ТаблицаЗначений(); + _Колонки = Новый Массив(); + _ПараметрыПредставленияКолонок = Новый Соответствие(); + _РезультатыЗапускаКейсовСтрокОтчета = Новый Соответствие(); КонецПроцедуры +#КонецОбласти + +#Область ПрограммныйИнтерфейс + // Конвертирует отчет в формат Markdown // // Возвращаемое значение: @@ -30,19 +40,21 @@ Состав = Новый СписокЗначений(); // Колонки - Для Каждого Колонка Из Колонки Цикл - Если ЗначениеЗаполнено(Колонка.Описание) Тогда - Состав.Добавить(Колонка.Заголовок, Колонка.Описание); + Для Каждого ТекущаяКолонка Из ВидимыеКолонки() Цикл + Если ЗначениеЗаполнено(ТекущаяКолонка.Описание) Тогда + Состав.Добавить(ТекущаяКолонка.Заголовок, ТекущаяКолонка.Описание); КонецЕсли; КонецЦикла; // Единицы измерения - Для Каждого Колонка Из Колонки Цикл + Для Каждого ТекущаяКолонка Из ВидимыеКолонки() Цикл + + ПараметрыПредставления = ПараметрыПредставленияКолонки(ТекущаяКолонка); - Если ЗначениеЗаполнено(Колонка.ЕдиницаИзмеренияПредставления) Тогда - Единица = Колонка.ЕдиницаИзмеренияПредставления; - ИначеЕсли ЗначениеЗаполнено(Колонка.ЕдиницаИзмерения) Тогда - Единица = Колонка.ЕдиницаИзмерения; + Если ЗначениеЗаполнено(ПараметрыПредставления.ЕдиницаИзмеренияПредставления) Тогда + Единица = ПараметрыПредставления.ЕдиницаИзмеренияПредставления; + ИначеЕсли ЗначениеЗаполнено(ТекущаяКолонка.ЕдиницаИзмерения) Тогда + Единица = ТекущаяКолонка.ЕдиницаИзмерения; Иначе Продолжить; КонецЕсли; @@ -73,4 +85,203 @@ Возврат СтрСоединить(Результат, Символы.ПС); -КонецФункции \ No newline at end of file +КонецФункции + +// Возвращает колонки, видимые в конкретном отчете. +// +// Возвращаемое значение: +// Массив из КолонкаОтчетаБенчмарков +Функция ВидимыеКолонки() Экспорт + + Результат = Новый Массив(); + + Для Каждого ТекущаяКолонка Из _Колонки Цикл + Если Не ПараметрыПредставленияКолонки(ТекущаяКолонка).Скрыта Тогда + Результат.Добавить(ТекущаяКолонка); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Добавляет колонку в отчет и создает runtime-копию ее параметров представления. +// +// Параметры: +// Колонка - КолонкаОтчетаБенчмарков, Строка - Экземпляр колонки или ее имя +Процедура ДобавитьКолонку(Колонка) Экспорт + + КолонкаОбъект = ПолучитьОбъектКолонки(Колонка); + ПроверитьИмяСозданнойКолонки(Колонка, КолонкаОбъект); + + ИмяКолонки = КолонкаОбъект.Имя; + Если НайтиКолонкуПоИмени(ИмяКолонки) <> Неопределено Тогда + Возврат; + КонецЕсли; + + Если _Таблица.Колонки.Найти(ИмяКолонки) = Неопределено Тогда + _Таблица.Колонки.Добавить(ИмяКолонки); + КонецЕсли; + + _Колонки.Добавить(КолонкаОбъект); + _ПараметрыПредставленияКолонок.Вставить(ИмяКолонки, КолонкаОбъект.ПараметрыПредставления.Скопировать()); + +КонецПроцедуры + +// Удаляет колонку из отчета. +// +// Параметры: +// Колонка - КолонкаОтчетаБенчмарков, Строка +Процедура УдалитьКолонку(Колонка) Экспорт + + ИмяКолонки = ПолучитьИмяКолонки(Колонка); + + Если _Таблица.Колонки.Найти(ИмяКолонки) <> Неопределено Тогда + _Таблица.Колонки.Удалить(ИмяКолонки); + КонецЕсли; + + Для Каждого ТекущаяКолонка Из _Колонки Цикл + Если ТекущаяКолонка.Имя = ИмяКолонки Тогда + _Колонки.Удалить(_Колонки.Найти(ТекущаяКолонка)); // BSLLS:DeletingCollectionItem-off + Прервать; + КонецЕсли; + КонецЦикла; + + _ПараметрыПредставленияКолонок.Удалить(ИмяКолонки); + +КонецПроцедуры + +// Возвращает подготовленные параметры представления колонки. +// +// Параметры: +// Колонка - КолонкаОтчетаБенчмарков, Строка +// +// Возвращаемое значение: +// ПараметрыПредставленияКолонкиОтчетаБенчмарков +Функция ПараметрыПредставленияКолонки(Колонка) Экспорт + + ИмяКолонки = ПолучитьИмяКолонки(Колонка); + ПараметрыПредставления = _ПараметрыПредставленияКолонок[ИмяКолонки]; + + Если ПараметрыПредставления = Неопределено Тогда + ВызватьИсключение СтрШаблон("Для колонки <%1> не найдены параметры представления в отчете.", ИмяКолонки); + КонецЕсли; + + Возврат ПараметрыПредставления; + +КонецФункции + +// Добавляет строку в табличные данные отчета. +// +// Параметры: +// РезультатЗапускаКейса - РезультатЗапускаКейса, Неопределено - Результат запуска кейса, +// связанный с добавляемой строкой отчета. +// +// Возвращаемое значение: +// СтрокаТаблицыЗначений +Функция Добавить(РезультатЗапускаКейса = Неопределено) Экспорт + + СтрокаОтчета = _Таблица.Добавить(); + _РезультатыЗапускаКейсовСтрокОтчета.Вставить(СтрокаОтчета, РезультатЗапускаКейса); + + Возврат СтрокаОтчета; + +КонецФункции + +// Возвращает табличные данные отчета. +// +// Возвращаемое значение: +// ТаблицаЗначений +Функция Таблица() Экспорт + + Возврат _Таблица; + +КонецФункции + +// Возвращает колонки отчета. +// +// Возвращаемое значение: +// Массив из КолонкаОтчетаБенчмарков +Функция Колонки() Экспорт + + Результат = Новый Массив(); + + Для Каждого Колонка Из _Колонки Цикл + Результат.Добавить(Колонка); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Возвращает результат запуска кейса, связанный со строкой отчета. +// +// Параметры: +// СтрокаОтчета - СтрокаТаблицыЗначений +// +// Возвращаемое значение: +// РезультатЗапускаКейса, Неопределено +Функция РезультатЗапускаКейсаСтроки(СтрокаОтчета) Экспорт + + Попытка + Возврат _РезультатыЗапускаКейсовСтрокОтчета[СтрокаОтчета]; + Исключение + Возврат Неопределено; + КонецПопытки; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ПолучитьИмяКолонки(Колонка) + + Если ТипЗнч(Колонка) = Тип("Строка") Тогда + Возврат КолонкиОтчетаБенчмарков.НормализоватьИмяКолонки(Колонка); + КонецЕсли; + + Возврат Колонка.Имя; + +КонецФункции + +Функция ПолучитьОбъектКолонки(Колонка) + + Если ТипЗнч(Колонка) = Тип("Строка") Тогда + Возврат КолонкиОтчетаБенчмарков.СоздатьПоИмени(Колонка); + КонецЕсли; + + Возврат Колонка; + +КонецФункции + +Процедура ПроверитьИмяСозданнойКолонки(Колонка, КолонкаОбъект) + + Если ТипЗнч(Колонка) <> Тип("Строка") Тогда + Возврат; + КонецЕсли; + + ОжидаемоеИмяКолонки = ПолучитьИмяКолонки(Колонка); + Если КолонкаОбъект.Имя = ОжидаемоеИмяКолонки Тогда + Возврат; + КонецЕсли; + + ВызватьИсключение СтрШаблон( + "Имя созданной колонки <%1> не совпадает с запрошенным именем <%2>.", + КолонкаОбъект.Имя, + ОжидаемоеИмяКолонки + ); + +КонецПроцедуры + +Функция НайтиКолонкуПоИмени(ИмяКолонки) + + Для Каждого Колонка Из _Колонки Цикл + Если Колонка.Имя = ИмяКолонки Тогда + Возврат Колонка; + КонецЕсли; + КонецЦикла; + +КонецФункции + +#КонецОбласти diff --git "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" new file mode 100644 index 0000000..6056cdf --- /dev/null +++ "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -0,0 +1,47 @@ +// BSLLS:ExportVariables-off + +// Единица измерения, в которой значение показывается в отчете. +Перем ЕдиницаИзмеренияПредставления Экспорт; // см. ЕдиницыИзмеренийБенчмарков, Неопределено + +// Форматная строка вывода значения. +Перем ФорматнаяСтрока Экспорт; // Строка + +// Признак числовой колонки. +Перем ЭтоЧисло Экспорт; // Булево + +// Признак скрытой колонки в конкретном отчете. +Перем Скрыта Экспорт; // Булево + +// Ширина колонки в символах для текстового представления. +Перем Размер Экспорт; // Число + +#Область ОбработчикиСобытий + +Процедура ПриСозданииОбъекта() + + ЕдиницаИзмеренияПредставления = Неопределено; + ФорматнаяСтрока = ""; + ЭтоЧисло = Ложь; + Скрыта = Ложь; + Размер = 0; + +КонецПроцедуры + +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +// Создает копию параметров представления. +// +// Возвращаемое значение: +// ПараметрыПредставленияКолонкиОтчетаБенчмарков +Функция Скопировать() Экспорт + + Копия = Новый ПараметрыПредставленияКолонкиОтчетаБенчмарков(); + ЗаполнитьЗначенияСвойств(Копия, ЭтотОбъект); + + Возврат Копия; + +КонецФункции + +#КонецОбласти diff --git "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 4ebc6f5..8e74c47 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -49,39 +49,35 @@ Процедура ДобавитьКолонки() ДобавитьКолонкуПорядкаПоУмолчанию(); - ДобавитьКолонкуРезультатаЗапускаКейса(); ДобавитьКолонкуГруппаЭталона(); - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьМетод()); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.Метод); ДобавитьКолонкуКатегория(); ДобавитьКолонкиПараметров(); ДобавитьКолонкуВерсияИсполняющейСреды(); ДобавитьКолонкуЭталон(); - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьСреднее()); - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьСтандартнаяОшибка()); - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьСтандартноеОтклонение()); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.Среднее); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.СтандартнаяОшибка); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.СтандартноеОтклонение); ДобавитьКолонкуКоэффициентПроизводительности(); - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьRatioSD()); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.RatioSD); ДобавитьКолонкуМин(); ДобавитьКолонкуНижнийКвартиль(); - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьМедиана()); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.Медиана); ДобавитьКолонкуВерхнийКвартиль(); ДобавитьКолонкуМакс(); ДобавитьКолонкиПроцентилей(); - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьОперацийВСекунду()); + ДобавитьПользовательскиеКолонки(); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.ОперацийВСекунду); ДобавитьКолонкуВыделяемаяПамять(); КонецПроцедуры Процедура ДобавитьКолонкуПорядкаПоУмолчанию() - _Отчет.Таблица.Колонки.Добавить(ИмяКолонкиПорядокПоУмолчанию()); -КонецПроцедуры - -Процедура ДобавитьКолонкуРезультатаЗапускаКейса() - _Отчет.Таблица.Колонки.Добавить(ИмяКолонкиРезультатаЗапускаКейса()); + _Отчет.Таблица().Колонки.Добавить(ИмяКолонкиПорядокПоУмолчанию()); КонецПроцедуры Процедура ДобавитьКолонкуГруппаЭталона() - _Отчет.Таблица.Колонки.Добавить(ИмяКолонкиГруппаЭталона()); + _Отчет.Таблица().Колонки.Добавить(ИмяКолонкиГруппаЭталона()); КонецПроцедуры Процедура ДобавитьКолонкиПараметров() @@ -91,7 +87,7 @@ Для Каждого РезультатЗапускаКейса Из _ЗапускиКейсов Цикл Для Каждого Параметр Из РезультатЗапускаКейса.Кейс.Параметры() Цикл Если ДобавленныеИмена[Параметр.Имя()] = Неопределено Тогда - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьПараметр(Параметр.Имя())); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.Параметр(Параметр.Имя())); ДобавленныеИмена.Вставить(Параметр.Имя(), Истина); КонецЕсли; КонецЦикла; @@ -102,7 +98,7 @@ Процедура ДобавитьКолонкуЭталон() Если ИспользуетсяЭталон() Тогда - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьЭталон()); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.Эталон); КонецЕсли; КонецПроцедуры @@ -119,7 +115,7 @@ КонецЦикла; Если ЕстьВерсия Тогда - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьВерсияИсполняющейСреды()); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.ВерсияИсполняющейСреды); КонецЕсли; КонецПроцедуры @@ -136,7 +132,7 @@ КонецЦикла; Если ЕстьКатегория Тогда - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьКатегория()); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.Категория); КонецЕсли; КонецПроцедуры @@ -144,7 +140,7 @@ Процедура ДобавитьКолонкуКоэффициентПроизводительности() Если ИспользуетсяЭталон() Тогда - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьКоэффициентПроизводительности()); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.КоэффициентПроизводительности); КонецЕсли; КонецПроцедуры @@ -152,7 +148,7 @@ Процедура ДобавитьКолонкуВыделяемаяПамять() Если _Конфигурация.ТребуетсяМониторингПамяти() Тогда - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьВыделяемаяПамять()); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.ВыделяемаяПамять); КонецЕсли; КонецПроцедуры @@ -160,7 +156,7 @@ Процедура ДобавитьКолонкуМин() Если ЕстьКолонкаКонфигурации(КолонкиОтчетаБенчмарков.Мин) Тогда - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьМин()); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.Мин); КонецЕсли; КонецПроцедуры @@ -168,7 +164,7 @@ Процедура ДобавитьКолонкуМакс() Если ЕстьКолонкаКонфигурации(КолонкиОтчетаБенчмарков.Макс) Тогда - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьМакс()); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.Макс); КонецЕсли; КонецПроцедуры @@ -176,7 +172,7 @@ Процедура ДобавитьКолонкуНижнийКвартиль() Если ЕстьКолонкаКонфигурации(КолонкиОтчетаБенчмарков.НижнийКвартиль) Тогда - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьНижнийКвартиль()); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.НижнийКвартиль); КонецЕсли; КонецПроцедуры @@ -184,7 +180,7 @@ Процедура ДобавитьКолонкуВерхнийКвартиль() Если ЕстьКолонкаКонфигурации(КолонкиОтчетаБенчмарков.ВерхнийКвартиль) Тогда - ДобавитьКолонку(КолонкиОтчетаБенчмарков.СоздатьВерхнийКвартиль()); + ДобавитьКолонку(КолонкиОтчетаБенчмарков.ВерхнийКвартиль); КонецЕсли; КонецПроцедуры @@ -197,39 +193,41 @@ КонецПроцедуры +Процедура ДобавитьПользовательскиеКолонки() + + Для Каждого ИмяКолонки Из _КолонкиКонфигурации Цикл + + Если КолонкаОтчетаБенчмарковПроцентиль.ЭтоИмяКолонки(ИмяКолонки) Тогда + Продолжить; + КонецЕсли; + + ДобавитьКолонку(ИмяКолонки); + + КонецЦикла; + +КонецПроцедуры + Процедура ДобавитьКолонку(Колонка) - Если Не _Отчет.Таблица.Колонки.Найти(Колонка.Имя) = Неопределено Тогда - Возврат; - КонецЕсли; - - _Отчет.Таблица.Колонки.Добавить(Колонка.Имя); - _Отчет.Колонки.Добавить(Колонка); + _Отчет.ДобавитьКолонку(Колонка); КонецПроцедуры Процедура СкрытьКолонки() - СкрываемыеКолонки = Новый Массив(); - СкрываемыеКолонки.Добавить(ИмяКолонкиПорядокПоУмолчанию()); - СкрываемыеКолонки.Добавить(ИмяКолонкиРезультатаЗапускаКейса()); - СкрываемыеКолонки.Добавить(ИмяКолонкиГруппаЭталона()); - - Для Каждого Колонка Из _Отчет.Колонки Цикл - Если СкрыватьКолонку(Колонка) Тогда - СкрываемыеКолонки.Добавить(Колонка); + СкрываемыеКолонкиТаблицы = Новый Массив(); + СкрываемыеКолонкиТаблицы.Добавить(ИмяКолонкиПорядокПоУмолчанию()); + СкрываемыеКолонкиТаблицы.Добавить(ИмяКолонкиГруппаЭталона()); + + Для Каждого ИмяКолонки Из СкрываемыеКолонкиТаблицы Цикл + Если _Отчет.Таблица().Колонки.Найти(ИмяКолонки) <> Неопределено Тогда + _Отчет.Таблица().Колонки.Удалить(ИмяКолонки); КонецЕсли; КонецЦикла; - Для Каждого Колонка Из СкрываемыеКолонки Цикл - Если ТипЗнч(Колонка) = Тип("Строка") Тогда - ИмяКолонки = Колонка; - Иначе - ИмяКолонки = Колонка.Имя; - _Отчет.Колонки.Удалить(_Отчет.Колонки.Найти(Колонка)); - КонецЕсли; - - _Отчет.Таблица.Колонки.Удалить(ИмяКолонки); + Для Каждого Колонка Из _Отчет.Колонки() Цикл + ПараметрыПредставления = _Отчет.ПараметрыПредставленияКолонки(Колонка); + ПараметрыПредставления.Скрыта = СкрыватьКолонку(Колонка); КонецЦикла; КонецПроцедуры @@ -245,11 +243,11 @@ .ВДействие(); Скрывать = Истина; - Для Каждого СтрокаОтчета Из _Отчет.Таблица Цикл + Для Каждого СтрокаОтчета Из _Отчет.Таблица() Цикл Контекст = Новый Структура(); Контекст.Вставить("Значение", СтрокаОтчета[Колонка.Имя]); - Контекст.Вставить("Статистика", СтрокаОтчета[ИмяКолонкиРезультатаЗапускаКейса()].Статистика); + Контекст.Вставить("РезультатЗапускаКейса", _Отчет.РезультатЗапускаКейсаСтроки(СтрокаОтчета)); Попытка Скрывать = Действие.Выполнить(Контекст) = Истина; @@ -283,9 +281,8 @@ ПредыдущийБенчмарк = ИмяБенчмарка; КонецЕсли; - СтрокаОтчета = _Отчет.Таблица.Добавить(); + СтрокаОтчета = _Отчет.Добавить(РезультатЗапускаКейса); СтрокаОтчета[ИмяКолонкиПорядокПоУмолчанию()] = НомерБенчмарка; - СтрокаОтчета[ИмяКолонкиРезультатаЗапускаКейса()] = РезультатЗапускаКейса; Если РезультатЗапускаКейса.ЭтоЭталон Тогда СтрокаОтчета[ИмяКолонкиГруппаЭталона()] = РезультатЗапускаКейса.Кейс.Идентификатор(); @@ -293,7 +290,7 @@ СтрокаОтчета[ИмяКолонкиГруппаЭталона()] = РезультатЗапускаКейса.Эталон.Кейс.Идентификатор(); КонецЕсли; - Для Каждого Колонка Из _Отчет.Колонки Цикл + Для Каждого Колонка Из _Отчет.Колонки() Цикл СтрокаОтчета[Колонка.Имя] = Колонка.Значение(РезультатЗапускаКейса, Колонка); КонецЦикла; @@ -303,15 +300,17 @@ Процедура ОпределитьЧисловыеКолонки() - Для Каждого Колонка Из _Отчет.Колонки Цикл + Для Каждого Колонка Из _Отчет.Колонки() Цикл + + ПараметрыПредставления = _Отчет.ПараметрыПредставленияКолонки(Колонка); - Если Колонка.ЭтоЧисло Тогда + Если ПараметрыПредставления.ЭтоЧисло Тогда Продолжить; КонецЕсли; - ЗначенияКолонки = _Отчет.Таблица.ВыгрузитьКолонку(Колонка.Имя); + ЗначенияКолонки = _Отчет.Таблица().ВыгрузитьКолонку(Колонка.Имя); Если МатематическиеФункцииБенчмарков.ТолькоЧисла(ЗначенияКолонки) Тогда - Колонка.ЭтоЧисло = Истина; + ПараметрыПредставления.ЭтоЧисло = Истина; КонецЕсли; КонецЦикла; @@ -320,14 +319,17 @@ Процедура ОпределитьЕдиницыИзмеренияПредставления() - Для Каждого Колонка Из _Отчет.Колонки Цикл + Для Каждого Колонка Из _Отчет.Колонки() Цикл + + ПараметрыПредставления = _Отчет.ПараметрыПредставленияКолонки(Колонка); - Если Колонка.ЕдиницаИзмерения = Неопределено Тогда + Если Колонка.ЕдиницаИзмерения = Неопределено + Или ПараметрыПредставления.ЕдиницаИзмеренияПредставления <> Неопределено Тогда Продолжить; КонецЕсли; Минимальная = Неопределено; - Для Каждого Строка Из _Отчет.Таблица Цикл + Для Каждого Строка Из _Отчет.Таблица() Цикл Значение = Строка[Колонка.Имя]; @@ -338,9 +340,14 @@ ЕдиницаИзмерения, ЕдиницыИзмеренийБенчмарков.Минимальная(Минимальная, ЕдиницаИзмерения) ); + КонецЦикла; - Колонка.ЕдиницаИзмеренияПредставления = ?(Минимальная = Неопределено, Колонка.ЕдиницаИзмерения, Минимальная); + ПараметрыПредставления.ЕдиницаИзмеренияПредставления = ?( + Минимальная = Неопределено, + Колонка.ЕдиницаИзмерения, + Минимальная + ); КонецЦикла; @@ -348,9 +355,11 @@ Процедура ОпределитьФорматныеСтроки() - Для Каждого Колонка Из _Отчет.Колонки Цикл + Для Каждого Колонка Из _Отчет.Колонки() Цикл + + ПараметрыПредставления = _Отчет.ПараметрыПредставленияКолонки(Колонка); - Если Не Колонка.ЭтоЧисло Или ЗначениеЗаполнено(Колонка.ФорматнаяСтрока) Тогда + Если Не ПараметрыПредставления.ЭтоЧисло Или ЗначениеЗаполнено(ПараметрыПредставления.ФорматнаяСтрока) Тогда Продолжить; КонецЕсли; @@ -359,11 +368,12 @@ Возврат; КонецЕсли; - Если Не Колонка.ЕдиницаИзмерения = Неопределено И Не Колонка.ЕдиницаИзмеренияПредставления = Неопределено Тогда + Если Не Колонка.ЕдиницаИзмерения = Неопределено + И Не ПараметрыПредставления.ЕдиницаИзмеренияПредставления = Неопределено Тогда МинЗначение = ЕдиницыИзмеренийБенчмарков.Конвертировать( МинЗначение, Колонка.ЕдиницаИзмерения, - Колонка.ЕдиницаИзмеренияПредставления + ПараметрыПредставления.ЕдиницаИзмеренияПредставления ); КонецЕсли; @@ -371,7 +381,7 @@ МинЗначение, Колонка.ЕдиницаИзмерения); - Колонка.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(Разрядность); + ПараметрыПредставления.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(Разрядность); КонецЦикла; @@ -379,15 +389,18 @@ Процедура ОпределитьРазмерыКолонок() - Для Каждого Колонка Из _Отчет.Колонки Цикл - Колонка.Размер = СтрДлина(Колонка.Заголовок); + Для Каждого Колонка Из _Отчет.Колонки() Цикл + ПараметрыПредставления = _Отчет.ПараметрыПредставленияКолонки(Колонка); + ПараметрыПредставления.Размер = СтрДлина(Колонка.Заголовок); КонецЦикла; - Для Каждого Строка Из _Отчет.Таблица Цикл - Для Каждого Колонка Из _Отчет.Колонки Цикл - Значение = Строка[Колонка.Имя]; - Представление = СтрДлина(Колонка.ПредставлениеЗначения(Значение, Строка)); - Колонка.Размер = Макс(Колонка.Размер, Представление); + Для Каждого СтрокаОтчета Из _Отчет.Таблица() Цикл + Для Каждого Колонка Из _Отчет.Колонки() Цикл + ПараметрыПредставления = _Отчет.ПараметрыПредставленияКолонки(Колонка); + Значение = СтрокаОтчета[Колонка.Имя]; + РезультатЗапускаКейса = _Отчет.РезультатЗапускаКейсаСтроки(СтрокаОтчета); + Представление = СтрДлина(Колонка.ПредставлениеЗначения(Значение, РезультатЗапускаКейса, ПараметрыПредставления)); + ПараметрыПредставления.Размер = Макс(ПараметрыПредставления.Размер, Представление); КонецЦикла; КонецЦикла; @@ -418,13 +431,13 @@ ДобавитьСортировкуПоПараметрам(КолонкиСортировки); ДобавитьСортировку(КолонкиСортировки, ИмяКолонкиПорядокПоУмолчанию()); - _Отчет.Таблица.Сортировать(СтрСоединить(КолонкиСортировки, ", ")); + _Отчет.Таблица().Сортировать(СтрСоединить(КолонкиСортировки, ", ")); КонецПроцедуры Процедура ДобавитьСортировкуПоПараметрам(Сортировка) - Для Каждого Колонка Из _Отчет.Колонки Цикл + Для Каждого Колонка Из _Отчет.Колонки() Цикл ИмяПараметра = КолонкаОтчетаБенчмарковПараметр.ИмяПараметра(Колонка); Если ЗначениеЗаполнено(ИмяПараметра) Тогда ДобавитьСортировку(Сортировка, Колонка.Имя); @@ -435,7 +448,7 @@ Процедура ДобавитьСортировку(Сортировка, ИмяКолонки, Направление = "") - Если Не _Отчет.Таблица.Колонки.Найти(ИмяКолонки) = Неопределено Тогда + Если Не _Отчет.Таблица().Колонки.Найти(ИмяКолонки) = Неопределено Тогда Сортировка.Добавить(СокрЛП(ИмяКолонки + " " + Направление)); КонецЕсли; @@ -453,7 +466,7 @@ Функция МинимальноеЗначение(ИмяКолонки) МинЗначение = Неопределено; - Для Каждого Строка Из _Отчет.Таблица Цикл + Для Каждого Строка Из _Отчет.Таблица() Цикл Значение = Строка[ИмяКолонки]; Если ТипЗнч(Значение) = Тип("Число") Тогда МинЗначение = ?(МинЗначение = Неопределено, Значение, Мин(МинЗначение, Значение)); @@ -468,10 +481,6 @@ Возврат "ПорядокПоУмолчанию"; КонецФункции -Функция ИмяКолонкиРезультатаЗапускаКейса() - Возврат "РезультатЗапускаКейса"; -КонецФункции - Функция ИмяКолонкиГруппаЭталона() Возврат "ГруппаЭталона"; КонецФункции diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" new file mode 100644 index 0000000..6c9c659 --- /dev/null +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -0,0 +1,32 @@ +// BSLLS:FunctionShouldHaveReturn-off +// BSLLS:UnusedParameters-off + +// Создает экземпляр колонки +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков +Функция Создать() Экспорт +КонецФункции + +// Возвращает значение колонки +// +// Параметры: +// РезультатЗапускаКейса - РезультатЗапускаКейса +// Колонка - КолонкаОтчетаБенчмарков +// +// Возвращаемое значение: +// Произвольный +Функция Значение(РезультатЗапускаКейса, Колонка) Экспорт +КонецФункции + +// Возвращает представление значения колонки +// +// Параметры: +// Значение - Произвольный +// РезультатЗапускаКейса - РезультатЗапускаКейса +// ПараметрыПредставленияКолонки - ПараметрыПредставленияКолонкиОтчетаБенчмарков, Неопределено +// +// Возвращаемое значение: +// Строка +Функция ПредставлениеЗначения(Значение, РезультатЗапускаКейса, ПараметрыПредставленияКолонки) Экспорт +КонецФункции diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262RatioSD.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262RatioSD.os" index 3ac2b53..891ad15 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262RatioSD.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262RatioSD.os" @@ -13,9 +13,8 @@ Колонка.Описание = "Стандартное отклонение соотношений времени выполнения относительно эталона ([StdDev] / [Baseline StdDev])"; Колонка.СтильКоэффициента = СтилиКоэффициентаБенчмарка.Значение; - Колонка.ЭтоЧисло = Истина; - Колонка.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(Разрядность); - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; + Колонка.ПараметрыПредставления.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(Разрядность); Колонка.ФункцияСкрытия = "Элемент -> Элемент.Значение >= 0 И Элемент.Значение < 0.02"; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\320\265\321\200\321\201\320\270\321\217\320\230\321\201\320\277\320\276\320\273\320\275\321\217\321\216\321\211\320\265\320\271\320\241\321\200\320\265\320\264\321\213.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\320\265\321\200\321\201\320\270\321\217\320\230\321\201\320\277\320\276\320\273\320\275\321\217\321\216\321\211\320\265\320\271\320\241\321\200\320\265\320\264\321\213.os" index 43c0516..4d6bba1 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\320\265\321\200\321\201\320\270\321\217\320\230\321\201\320\277\320\276\320\273\320\275\321\217\321\216\321\211\320\265\320\271\320\241\321\200\320\265\320\264\321\213.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\320\265\321\200\321\201\320\270\321\217\320\230\321\201\320\277\320\276\320\273\320\275\321\217\321\216\321\211\320\265\320\271\320\241\321\200\320\265\320\264\321\213.os" @@ -7,7 +7,6 @@ Колонка = Новый КолонкаОтчетаБенчмарков(КолонкиОтчетаБенчмарков.ВерсияИсполняющейСреды); Колонка.Заголовок = "Runtime"; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\320\265\321\200\321\205\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\320\265\321\200\321\205\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" index 35e948b..5bb438a 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\320\265\321\200\321\205\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\320\265\321\200\321\205\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" @@ -9,8 +9,7 @@ Колонка.Заголовок = "Q3"; Колонка.Описание = "Третий (верхний) квартиль (75-й процентиль)"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ЭтоЧисло = Истина; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\321\213\320\264\320\265\320\273\321\217\320\265\320\274\320\260\321\217\320\237\320\260\320\274\321\217\321\202\321\214.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\321\213\320\264\320\265\320\273\321\217\320\265\320\274\320\260\321\217\320\237\320\260\320\274\321\217\321\202\321\214.os" index 4a72857..039bc43 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\321\213\320\264\320\265\320\273\321\217\320\265\320\274\320\260\321\217\320\237\320\260\320\274\321\217\321\202\321\214.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\321\213\320\264\320\265\320\273\321\217\320\265\320\274\320\260\321\217\320\237\320\260\320\274\321\217\321\202\321\214.os" @@ -9,8 +9,7 @@ Колонка.Заголовок = "Allocated"; Колонка.Описание = "Выделяемая память на одну операцию"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Байт; - Колонка.ЭтоЧисло = Истина; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\232\320\260\321\202\320\265\320\263\320\276\321\200\320\270\321\217.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\232\320\260\321\202\320\265\320\263\320\276\321\200\320\270\321\217.os" index e16edd0..f339950 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\232\320\260\321\202\320\265\320\263\320\276\321\200\320\270\321\217.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\232\320\260\321\202\320\265\320\263\320\276\321\200\320\270\321\217.os" @@ -7,7 +7,6 @@ Колонка = Новый КолонкаОтчетаБенчмарков(КолонкиОтчетаБенчмарков.Категория); Колонка.Заголовок = "Categories"; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\232\320\276\321\215\321\204\321\204\320\270\321\206\320\270\320\265\320\275\321\202\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214\320\275\320\276\321\201\321\202\320\270.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\232\320\276\321\215\321\204\321\204\320\270\321\206\320\270\320\265\320\275\321\202\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214\320\275\320\276\321\201\321\202\320\270.os" index 49cd9d4..b52ce4a 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\232\320\276\321\215\321\204\321\204\320\270\321\206\320\270\320\265\320\275\321\202\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214\320\275\320\276\321\201\321\202\320\270.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\232\320\276\321\215\321\204\321\204\320\270\321\206\320\270\320\265\320\275\321\202\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214\320\275\320\276\321\201\321\202\320\270.os" @@ -12,9 +12,8 @@ Колонка.Заголовок = "Ratio"; Колонка.Описание = "Среднее значение соотношений времени выполнения относительно эталона ([Mean] / [Baseline Mean])"; Колонка.СтильКоэффициента = СтилиКоэффициентаБенчмарка.Значение; - Колонка.ЭтоЧисло = Истина; - Колонка.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(Разрядность); - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; + Колонка.ПараметрыПредставления.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(Разрядность); Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\260\320\272\321\201.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\260\320\272\321\201.os" index 817a5f8..401de79 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\260\320\272\321\201.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\260\320\272\321\201.os" @@ -9,8 +9,7 @@ Колонка.Заголовок = "Max"; Колонка.Описание = "Максимум"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ЭтоЧисло = Истина; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\265\320\264\320\270\320\260\320\275\320\260.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\265\320\264\320\270\320\260\320\275\320\260.os" index cfb2eb0..a7953e1 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\265\320\264\320\270\320\260\320\275\320\260.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\265\320\264\320\270\320\260\320\275\320\260.os" @@ -9,10 +9,9 @@ Колонка.Заголовок = "Median"; Колонка.Описание = "Значение, разделяющее упорядоченные измерения на две равные части"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ЭтоЧисло = Истина; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Колонка.ФункцияСкрытия = "Элемент -> - |МатематическиеФункцииБенчмарков.Abs(Элемент.Значение - Элемент.Статистика.Среднее) < Элемент.Статистика.Среднее * 0.2"; + |МатематическиеФункцииБенчмарков.Abs(Элемент.Значение - Элемент.РезультатЗапускаКейса.Статистика.ВНаносекунды().Среднее) < Элемент.РезультатЗапускаКейса.Статистика.ВНаносекунды().Среднее * 0.2"; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\265\321\202\320\276\320\264.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\265\321\202\320\276\320\264.os" index ba20741..8d62440 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\265\321\202\320\276\320\264.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\265\321\202\320\276\320\264.os" @@ -7,7 +7,6 @@ Колонка = Новый КолонкаОтчетаБенчмарков(КолонкиОтчетаБенчмарков.Метод); Колонка.Заголовок = "Method"; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\270\320\275.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\270\320\275.os" index 1c2dcba..5d9bd80 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\270\320\275.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\270\320\275.os" @@ -9,8 +9,7 @@ Колонка.Заголовок = "Min"; Колонка.Описание = "Минимум"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ЭтоЧисло = Истина; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\235\320\270\320\266\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\235\320\270\320\266\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" index 5e2f1be..1d67ad6 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\235\320\270\320\266\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\235\320\270\320\266\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" @@ -9,8 +9,7 @@ Колонка.Заголовок = "Q1"; Колонка.Описание = "Первый (нижний) квартиль (25-й процентиль)"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ЭтоЧисло = Истина; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\271\320\222\320\241\320\265\320\272\321\203\320\275\320\264\321\203.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\271\320\222\320\241\320\265\320\272\321\203\320\275\320\264\321\203.os" index a663bba..af30507 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\271\320\222\320\241\320\265\320\272\321\203\320\275\320\264\321\203.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\271\320\222\320\241\320\265\320\272\321\203\320\275\320\264\321\203.os" @@ -9,8 +9,7 @@ Колонка.Заголовок = "Op/s"; Колонка.Описание = "Операций в секунду"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.ОперацийВСекунду; - Колонка.ЭтоЧисло = Истина; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200.os" index 42e17b3..fab88e6 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200.os" @@ -11,7 +11,6 @@ Колонка = Новый КолонкаОтчетаБенчмарков(ИмяКолонки(ИмяПараметра)); Колонка.Заголовок = ИмяПараметра; Колонка.Описание = СтрШаблон("Значение параметра '%1'", ИмяПараметра); - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); Возврат Колонка; @@ -45,12 +44,31 @@ Возврат Префикс() + ИмяПараметра; КонецФункции +// Возвращает имя параметра по колонке или имени колонки. +// +// Параметры: +// Колонка - КолонкаОтчетаБенчмарков, Строка +// +// Возвращаемое значение: +// Строка, Неопределено Функция ИмяПараметра(Колонка) Экспорт - Если СтрНайти(Колонка.Имя, Префикс()) = 1 Тогда - Возврат СтрЗаменить(Колонка.Имя, Префикс(), ""); + ИмяКолонки = ?(ТипЗнч(Колонка) = Тип("Строка"), Колонка, Колонка.Имя); + Если ЭтоИмяКолонки(ИмяКолонки) Тогда + Возврат СтрЗаменить(ИмяКолонки, Префикс(), ""); КонецЕсли; КонецФункции +// Имя колонки является колонкой параметра. +// +// Параметры: +// ИмяКолонки - Строка +// +// Возвращаемое значение: +// Булево +Функция ЭтоИмяКолонки(ИмяКолонки) Экспорт + Возврат СтрНайти(ИмяКолонки, Префикс()) = 1; +КонецФункции + Функция Префикс() Возврат "Параметр_"; КонецФункции diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\321\200\320\276\321\206\320\265\320\275\321\202\320\270\320\273\321\214.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\321\200\320\276\321\206\320\265\320\275\321\202\320\270\320\273\321\214.os" index 76e8783..80a026f 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\321\200\320\276\321\206\320\265\320\275\321\202\320\270\320\273\321\214.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\321\200\320\276\321\206\320\265\320\275\321\202\320\270\320\273\321\214.os" @@ -13,8 +13,7 @@ Колонка.Заголовок = "P" + Процентиль; Колонка.Описание = СтрШаблон("%1-й процентиль", Процентиль); Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ЭтоЧисло = Истина; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; @@ -77,7 +76,7 @@ Колонки = Новый Массив(); Для Каждого Процентиль Из Процентили Цикл - Колонки.Добавить(Создать(Процентиль)); + Колонки.Добавить(КолонкиОтчетаБенчмарков.СоздатьПроцентиль(Процентиль)); КонецЦикла; Возврат Колонки; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265.os" index 2fa67fd..4f3e404 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265.os" @@ -9,8 +9,7 @@ Колонка.Заголовок = "Mean"; Колонка.Описание = "Арифметическое среднее всех измерений"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ЭтоЧисло = Истина; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\260\321\217\320\236\321\210\320\270\320\261\320\272\320\260.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\260\321\217\320\236\321\210\320\270\320\261\320\272\320\260.os" index 444463b..1b52726 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\260\321\217\320\236\321\210\320\270\320\261\320\272\320\260.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\260\321\217\320\236\321\210\320\270\320\261\320\272\320\260.os" @@ -9,8 +9,7 @@ Колонка.Заголовок = "StdErr"; Колонка.Описание = "Стандартная ошибка всех измерений"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ЭтоЧисло = Истина; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\276\320\265\320\236\321\202\320\272\320\273\320\276\320\275\320\265\320\275\320\270\320\265.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\276\320\265\320\236\321\202\320\272\320\273\320\276\320\275\320\265\320\275\320\270\320\265.os" index 0963acc..08d9756 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\276\320\265\320\236\321\202\320\272\320\273\320\276\320\275\320\265\320\275\320\270\320\265.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\276\320\265\320\236\321\202\320\272\320\273\320\276\320\275\320\265\320\275\320\270\320\265.os" @@ -9,8 +9,7 @@ Колонка.Заголовок = "StdDev"; Колонка.Описание = "Стандартное отклонение всех измерений"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ЭтоЧисло = Истина; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\255\321\202\320\260\320\273\320\276\320\275.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\255\321\202\320\260\320\273\320\276\320\275.os" index b21169a..e97e30e 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\255\321\202\320\260\320\273\320\276\320\275.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\255\321\202\320\260\320\273\320\276\320\275.os" @@ -7,8 +7,7 @@ Колонка = Новый КолонкаОтчетаБенчмарков(КолонкиОтчетаБенчмарков.Эталон); Колонка.Заголовок = "Baseline"; - Колонка.ФорматнаяСтрока = "БЛ=No; БИ=Yes"; - Колонка.ДелегатЗначение = Новый Действие(ЭтотОбъект, "Значение"); + Колонка.ПараметрыПредставления.ФорматнаяСтрока = "БЛ=No; БИ=Yes"; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 45e5838..9d4c843 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,3 +1,4 @@ +// BSLLS:MagicNumber-off // BSLLS:ExportVariables-off Перем Метод Экспорт; // Строка @@ -18,68 +19,70 @@ Перем Процентиль Экспорт; // Строка Перем ВерсияИсполняющейСреды Экспорт; // Строка +#Область ПрограммныйИнтерфейс + Функция СоздатьМетод() Экспорт - Возврат КолонкаОтчетаБенчмарковМетод.Создать(); + Возврат СоздатьСтандартнуюКолонку(Метод, КолонкаОтчетаБенчмарковМетод); КонецФункции Функция СоздатьСреднее() Экспорт - Возврат КолонкаОтчетаБенчмарковСреднее.Создать(); + Возврат СоздатьСтандартнуюКолонку(Среднее, КолонкаОтчетаБенчмарковСреднее); КонецФункции Функция СоздатьСтандартноеОтклонение() Экспорт - Возврат КолонкаОтчетаБенчмарковСтандартноеОтклонение.Создать(); + Возврат СоздатьСтандартнуюКолонку(СтандартноеОтклонение, КолонкаОтчетаБенчмарковСтандартноеОтклонение); КонецФункции Функция СоздатьСтандартнаяОшибка() Экспорт - Возврат КолонкаОтчетаБенчмарковСтандартнаяОшибка.Создать(); + Возврат СоздатьСтандартнуюКолонку(СтандартнаяОшибка, КолонкаОтчетаБенчмарковСтандартнаяОшибка); КонецФункции Функция СоздатьМедиана() Экспорт - Возврат КолонкаОтчетаБенчмарковМедиана.Создать(); + Возврат СоздатьСтандартнуюКолонку(Медиана, КолонкаОтчетаБенчмарковМедиана); КонецФункции Функция СоздатьНижнийКвартиль() Экспорт - Возврат КолонкаОтчетаБенчмарковНижнийКвартиль.Создать(); + Возврат СоздатьСтандартнуюКолонку(НижнийКвартиль, КолонкаОтчетаБенчмарковНижнийКвартиль); КонецФункции Функция СоздатьВерхнийКвартиль() Экспорт - Возврат КолонкаОтчетаБенчмарковВерхнийКвартиль.Создать(); + Возврат СоздатьСтандартнуюКолонку(ВерхнийКвартиль, КолонкаОтчетаБенчмарковВерхнийКвартиль); КонецФункции Функция СоздатьОперацийВСекунду() Экспорт - Возврат КолонкаОтчетаБенчмарковОперацийВСекунду.Создать(); + Возврат СоздатьСтандартнуюКолонку(ОперацийВСекунду, КолонкаОтчетаБенчмарковОперацийВСекунду); КонецФункции Функция СоздатьЭталон() Экспорт - Возврат КолонкаОтчетаБенчмарковЭталон.Создать(); + Возврат СоздатьСтандартнуюКолонку(Эталон, КолонкаОтчетаБенчмарковЭталон); КонецФункции Функция СоздатьКоэффициентПроизводительности() Экспорт - Возврат КолонкаОтчетаБенчмарковКоэффициентПроизводительности.Создать(); + Возврат СоздатьСтандартнуюКолонку(КоэффициентПроизводительности, КолонкаОтчетаБенчмарковКоэффициентПроизводительности); КонецФункции Функция СоздатьRatioSD() Экспорт - Возврат КолонкаОтчетаБенчмарковRatioSD.Создать(); + Возврат СоздатьСтандартнуюКолонку(RatioSD, КолонкаОтчетаБенчмарковRatioSD); КонецФункции Функция СоздатьКатегория() Экспорт - Возврат КолонкаОтчетаБенчмарковКатегория.Создать(); + Возврат СоздатьСтандартнуюКолонку(Категория, КолонкаОтчетаБенчмарковКатегория); КонецФункции Функция СоздатьВыделяемаяПамять() Экспорт - Возврат КолонкаОтчетаБенчмарковВыделяемаяПамять.Создать(); + Возврат СоздатьСтандартнуюКолонку(ВыделяемаяПамять, КолонкаОтчетаБенчмарковВыделяемаяПамять); КонецФункции Функция СоздатьМин() Экспорт - Возврат КолонкаОтчетаБенчмарковМин.Создать(); + Возврат СоздатьСтандартнуюКолонку(Мин, КолонкаОтчетаБенчмарковМин); КонецФункции Функция СоздатьМакс() Экспорт - Возврат КолонкаОтчетаБенчмарковМакс.Создать(); + Возврат СоздатьСтандартнуюКолонку(Макс, КолонкаОтчетаБенчмарковМакс); КонецФункции Функция СоздатьПроцентиль(Процентиль) Экспорт - Возврат КолонкаОтчетаБенчмарковПроцентиль.Создать(Процентиль); + Возврат СоздатьСтандартнуюКолонку(Процентиль, КолонкаОтчетаБенчмарковПроцентиль, Процентиль); КонецФункции Функция Процентиль(Процентиль) Экспорт @@ -87,7 +90,7 @@ КонецФункции Функция СоздатьПараметр(ИмяПараметра) Экспорт - Возврат КолонкаОтчетаБенчмарковПараметр.Создать(ИмяПараметра); + Возврат СоздатьСтандартнуюКолонку("Параметр", КолонкаОтчетаБенчмарковПараметр, ИмяПараметра); КонецФункции Функция Параметр(ИмяПараметра) Экспорт @@ -95,9 +98,123 @@ КонецФункции Функция СоздатьВерсияИсполняющейСреды() Экспорт - Возврат КолонкаОтчетаБенчмарковВерсияИсполняющейСреды.Создать(); + Возврат СоздатьСтандартнуюКолонку(ВерсияИсполняющейСреды, КолонкаОтчетаБенчмарковВерсияИсполняющейСреды); +КонецФункции + +Функция СоздатьПользовательскую(ИмяКолонки) Экспорт + + ИмяМодуля = ПрефиксМодуляПользовательскойКолонки() + НормализоватьИмяКолонки(ИмяКолонки); + МодульКолонки = ПолучитьМодульПользовательскойКолонки(ИмяМодуля); + + Возврат СоздатьКолонкуИзМодуля(ИмяМодуля, МодульКолонки); + +КонецФункции + +// Создает колонку отчета по ее имени. +// +// Параметры: +// ИмяКолонки - Строка +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков +Функция СоздатьПоИмени(ИмяКолонки) Экспорт + + Если ИмяКолонки = Метод Тогда + Возврат СоздатьМетод(); + ИначеЕсли ИмяКолонки = Среднее Тогда + Возврат СоздатьСреднее(); + ИначеЕсли ИмяКолонки = СтандартноеОтклонение Тогда + Возврат СоздатьСтандартноеОтклонение(); + ИначеЕсли ИмяКолонки = СтандартнаяОшибка Тогда + Возврат СоздатьСтандартнаяОшибка(); + ИначеЕсли ИмяКолонки = Медиана Тогда + Возврат СоздатьМедиана(); + ИначеЕсли ИмяКолонки = НижнийКвартиль Тогда + Возврат СоздатьНижнийКвартиль(); + ИначеЕсли ИмяКолонки = ВерхнийКвартиль Тогда + Возврат СоздатьВерхнийКвартиль(); + ИначеЕсли ИмяКолонки = ОперацийВСекунду Тогда + Возврат СоздатьОперацийВСекунду(); + ИначеЕсли ИмяКолонки = Эталон Тогда + Возврат СоздатьЭталон(); + ИначеЕсли ИмяКолонки = КоэффициентПроизводительности Тогда + Возврат СоздатьКоэффициентПроизводительности(); + ИначеЕсли ИмяКолонки = RatioSD Тогда + Возврат СоздатьRatioSD(); + ИначеЕсли ИмяКолонки = Категория Тогда + Возврат СоздатьКатегория(); + ИначеЕсли ИмяКолонки = ВыделяемаяПамять Тогда + Возврат СоздатьВыделяемаяПамять(); + ИначеЕсли ИмяКолонки = Мин Тогда + Возврат СоздатьМин(); + ИначеЕсли ИмяКолонки = Макс Тогда + Возврат СоздатьМакс(); + ИначеЕсли ИмяКолонки = ВерсияИсполняющейСреды Тогда + Возврат СоздатьВерсияИсполняющейСреды(); + ИначеЕсли КолонкаОтчетаБенчмарковПараметр.ЭтоИмяКолонки(ИмяКолонки) Тогда + Возврат СоздатьПараметр(КолонкаОтчетаБенчмарковПараметр.ИмяПараметра(ИмяКолонки)); + ИначеЕсли КолонкаОтчетаБенчмарковПроцентиль.ЭтоИмяКолонки(ИмяКолонки) Тогда + Колонки = КолонкаОтчетаБенчмарковПроцентиль.СоздатьПоИмени(ИмяКолонки); + Если Колонки.Количество() <> 1 Тогда + ВызватьИсключение СтрШаблон( + "Имя колонки <%1> задает набор колонок и не может быть добавлено как одна колонка отчета.", + ИмяКолонки + ); + КонецЕсли; + Возврат Колонки[0]; + Иначе + Возврат СоздатьПользовательскую(ИмяКолонки); + КонецЕсли; + +КонецФункции + +Функция НормализоватьИмяКолонки(ИмяКолонки) Экспорт + + ПрефиксМодуля = ПрефиксМодуляПользовательскойКолонки(); + Если СтрНачинаетсяС(ИмяКолонки, ПрефиксМодуля) Тогда + Возврат Сред(ИмяКолонки, СтрДлина(ПрефиксМодуля) + 1); + КонецЕсли; + + Возврат ИмяКолонки; + КонецФункции +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ПолучитьМодульПользовательскойКолонки(ИмяМодуля) + + Попытка + Возврат Вычислить(ИмяМодуля); + Исключение + ВызватьИсключение СтрШаблон("Не найден модуль колонки отчета бенчмарков <%1>.", ИмяМодуля); + КонецПопытки; + +КонецФункции + +Функция ПрефиксМодуляПользовательскойКолонки() + Возврат "КолонкаОтчетаБенчмарков"; +КонецФункции + +Функция СоздатьСтандартнуюКолонку(ИмяКолонки, МодульКолонки, ПараметрСоздания = Неопределено) + + ИмяМодуля = ПрефиксМодуляПользовательскойКолонки() + ИмяКолонки; + Возврат СоздатьКолонкуИзМодуля(ИмяМодуля, МодульКолонки, ПараметрСоздания); + +КонецФункции + +Функция СоздатьКолонкуИзМодуля(ИмяМодуля, МодульКолонки, ПараметрСоздания = Неопределено) + + АдаптерМодуляКолонки = Новый АдаптерМодуляКолонкиОтчетаБенчмарков(ИмяМодуля, МодульКолонки); + Возврат АдаптерМодуляКолонки.СоздатьКолонку(ПараметрСоздания); + +КонецФункции + +#КонецОбласти + +#Область Инициализация + Метод = "Метод"; Среднее = "Среднее"; СтандартноеОтклонение = "СтандартноеОтклонение"; @@ -115,3 +232,5 @@ RatioSD = "RatioSD"; Макс = "Макс"; Процентиль = "Процентиль"; ВерсияИсполняющейСреды = "ВерсияИсполняющейСреды"; + +#КонецОбласти diff --git "a/src/BenchmarkOneScript/core/running/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\241\320\276\320\261\321\213\321\202\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\260.os" "b/src/BenchmarkOneScript/core/running/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\241\320\276\320\261\321\213\321\202\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\260.os" index 236693c..e290795 100644 --- "a/src/BenchmarkOneScript/core/running/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\241\320\276\320\261\321\213\321\202\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\260.os" +++ "b/src/BenchmarkOneScript/core/running/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\241\320\276\320\261\321\213\321\202\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\260.os" @@ -1,5 +1,4 @@ - &Сериализуемое("Event") Перем _Событие; // Строка - см. СобытияБенчмарков diff --git "a/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\221\320\265\320\267\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\221\320\265\320\267\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index e69de29..cb8ebe0 100644 --- "a/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\221\320\265\320\267\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\221\320\265\320\267\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -0,0 +1,16 @@ +Перем _СообщенияЛога; + +Функция ПолучитьСообщения() Экспорт + Возврат _СообщенияЛога; +КонецФункции + +Процедура Вывести(Знач Сообщение, Знач УровеньВывода) Экспорт + _СообщенияЛога.Добавить(Сообщение); +КонецПроцедуры + +Процедура Закрыть() Экспорт + _СообщенияЛога = Неопределено; +КонецПроцедуры + +_СообщенияЛога = Новый Массив; + diff --git "a/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271.os" "b/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271.os" new file mode 100644 index 0000000..19fb79c --- /dev/null +++ "b/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271.os" @@ -0,0 +1,10 @@ +#Использовать "../../customColumns" + +&Колонка("Пользовательская") +Процедура ПриСозданииОбъекта() +КонецПроцедуры + +&Бенчмарк +Процедура Бенчмарк() Экспорт + Приостановить(10); +КонецПроцедуры \ No newline at end of file diff --git "a/tests/fixtures/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\260\321\217.os" "b/tests/fixtures/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\260\321\217.os" new file mode 100644 index 0000000..8906ad1 --- /dev/null +++ "b/tests/fixtures/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\260\321\217.os" @@ -0,0 +1,49 @@ +// BSLLS:UnusedParameters-off + +// Создает экземпляр пользовательской колонки для тестов. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков +Функция Создать() Экспорт + + Колонка = Новый КолонкаОтчетаБенчмарков("Пользовательская"); + Колонка.Заголовок = "Custom"; + Колонка.Описание = "Пользовательская колонка"; + + Возврат Колонка; + +КонецФункции + +// Возвращает значение пользовательской колонки. +// +// Параметры: +// РезультатЗапускаКейса - РезультатЗапускаКейса +// Колонка - КолонкаОтчетаБенчмарков +// +// Возвращаемое значение: +// Строка +Функция Значение(РезультатЗапускаКейса, Колонка) Экспорт + + Возврат "custom"; + +КонецФункции + +// Возвращает представление значения пользовательской колонки. +// +// Параметры: +// Значение - Произвольный +// РезультатЗапускаКейса - РезультатЗапускаКейса +// ПараметрыПредставленияКолонки - ПараметрыПредставленияКолонкиОтчетаБенчмарков +// +// Возвращаемое значение: +// Строка +Функция ПредставлениеЗначения(Значение, РезультатЗапускаКейса, ПараметрыПредставленияКолонки) Экспорт + + Возврат СтрШаблон( + "%1|%2|%3", + Значение, + РезультатЗапускаКейса.Статистика.Среднее, + ПараметрыПредставленияКолонки.ФорматнаяСтрока + ); + +КонецФункции diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\224\320\265\321\201\320\272\321\200\320\270\320\277\321\202\320\276\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\224\320\265\321\201\320\272\321\200\320\270\320\277\321\202\320\276\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 38e84bd..8f182a2 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\224\320\265\321\201\320\272\321\200\320\270\320\277\321\202\320\276\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\224\320\265\321\201\320\272\321\200\320\270\320\277\321\202\320\276\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,4 +1,4 @@ -// BSLLS:LineLength-off +// BSLLS:LineLength-off // BSLLS:DuplicateStringLiteral-off // BSLLS:MagicNumber-off @@ -88,11 +88,11 @@ // Проверка ИмяКолонки = КолонкиОтчетаБенчмарков.Категория; - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(4); - Ожидаем.Что(Результат.Отчет.Таблица[0][ИмяКолонки]).Равно("А"); - Ожидаем.Что(Результат.Отчет.Таблица[1][ИмяКолонки]).Равно("А"); - Ожидаем.Что(Результат.Отчет.Таблица[2][ИмяКолонки]).Равно("Б"); - Ожидаем.Что(Результат.Отчет.Таблица[3][ИмяКолонки]).Равно("Б"); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(4); + Ожидаем.Что(Результат.Отчет.Таблица()[0][ИмяКолонки]).Равно("А"); + Ожидаем.Что(Результат.Отчет.Таблица()[1][ИмяКолонки]).Равно("А"); + Ожидаем.Что(Результат.Отчет.Таблица()[2][ИмяКолонки]).Равно("Б"); + Ожидаем.Что(Результат.Отчет.Таблица()[3][ИмяКолонки]).Равно("Б"); КонецПроцедуры @@ -112,8 +112,8 @@ Результат = Бенчмаркинг.Запустить(ДескрипторыБенчмарков, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(1); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Категория]).Равно("В"); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(1); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Категория]).Равно("В"); КонецПроцедуры @@ -169,4 +169,4 @@ КонецПроцедуры -#КонецОбласти +#КонецОбласти \ No newline at end of file diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\274\320\265\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\274\320\265\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 8a93c96..c3180bc 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\274\320\265\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\274\320\265\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,4 +1,4 @@ -// BSLLS:DuplicateStringLiteral-off +// BSLLS:DuplicateStringLiteral-off // BSLLS:MagicNumber-off #Использовать asserts @@ -169,8 +169,8 @@ Ожидаем.Что(Статистика2.СтандартнаяОшибкаСреднего).БольшеИлиРавно(0); Ожидаем.Что(Статистика1.Медиана).Больше(0); Ожидаем.Что(Статистика2.Медиана).Больше(Статистика1.Медиана); - Ожидаем.Что(Отчет.Таблица[0][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Равно(1); - Ожидаем.Что(Отчет.Таблица[1][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Больше(1); + Ожидаем.Что(Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Равно(1); + Ожидаем.Что(Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Больше(1); КонецПроцедуры diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index aeb9315..bcb31df 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,4 +1,4 @@ -// BSLLS:LineLength-off +// BSLLS:LineLength-off // BSLLS:DuplicateStringLiteral-off // BSLLS:MagicNumber-off @@ -140,7 +140,7 @@ Результат = Бенчмаркинг.Запустить(Дескриптор, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).Заполнено(); + Ожидаем.Что(Результат.Отчет.Таблица()).Заполнено(); Ожидаем.Что(Результат.Запуски).Заполнено(); КонецПроцедуры @@ -159,11 +159,11 @@ // Проверка НаборыПараметров = Результат.ДескрипторыБенчмарков.ПолучитьПервый().НаборыПараметров(); - Ожидаем.Что(Результат.Отчет.Таблица).Заполнено(); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(10); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(100); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(20); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(200); + Ожидаем.Что(Результат.Отчет.Таблица()).Заполнено(); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(10); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(100); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(20); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(200); Ожидаем.Что(НаборыПараметров[0].Получить(0).ЭтоПараметрМетода()).ЭтоИстина(); КонецПроцедуры @@ -181,19 +181,19 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(4); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(3); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(4); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(5); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(6); - Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")]).Равно(2); - Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(3); - Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(4); - Ожидаем.Что(Результат.Отчет.Таблица[3][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")]).Равно(2); - Ожидаем.Что(Результат.Отчет.Таблица[3][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(5); - Ожидаем.Что(Результат.Отчет.Таблица[3][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(6); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(4); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(3); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(4); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(5); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(6); + Ожидаем.Что(Результат.Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(3); + Ожидаем.Что(Результат.Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(4); + Ожидаем.Что(Результат.Отчет.Таблица()[3][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[3][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(5); + Ожидаем.Что(Результат.Отчет.Таблица()[3][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(6); КонецПроцедуры @@ -221,11 +221,11 @@ Результат = Бенчмаркинг.Запустить(Дескриптор, ТестированиеБенчмарков.КонфигурацияПоУмолчанию()); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).Заполнено(); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(50); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(150); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(200); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(250); + Ожидаем.Что(Результат.Отчет.Таблица()).Заполнено(); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(50); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(150); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(200); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(250); КонецПроцедуры @@ -392,9 +392,9 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(2); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.ВерсияИсполняющейСреды]).Содержит("dev"); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.ВерсияИсполняющейСреды]).Содержит("stable"); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(2); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.ВерсияИсполняющейСреды]).Содержит("dev"); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.ВерсияИсполняющейСреды]).Содержит("stable"); КонецПроцедуры @@ -464,3 +464,5 @@ КонецПроцедуры #КонецОбласти + +ТестДолжен_ЗапуститьБенчмаркВРазныхИсполняющихСредах() \ No newline at end of file diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\217\320\244\320\260\320\271\320\273\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\217\320\244\320\260\320\271\320\273\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index fcd0319..cac915d 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\217\320\244\320\260\320\271\320\273\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\217\320\244\320\260\320\271\320\273\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,4 +1,4 @@ -// BSLLS:LineLength-off +// BSLLS:LineLength-off // BSLLS:NestedFunctionInParameters-off #Использовать asserts @@ -229,11 +229,11 @@ Ожидаем .Что( - РезультатЗапуска.Отчет.Таблица, + РезультатЗапуска.Отчет.Таблица(), "Неверное количество строк в отчете") .ИмеетДлину(2); - ИменаБенчмарков = РезультатЗапуска.Отчет.Таблица.ВыгрузитьКолонку(КолонкиОтчетаБенчмарков.Метод); + ИменаБенчмарков = РезультатЗапуска.Отчет.Таблица().ВыгрузитьКолонку(КолонкиОтчетаБенчмарков.Метод); Ожидаем .Что( @@ -381,3 +381,4 @@ КонецФункции #КонецОбласти + diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index d8b7cd5..b4b0cdf 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,4 +1,4 @@ -// BSLLS:LineLength-off +// BSLLS:LineLength-off // BSLLS:MagicNumber-off #Использовать asserts @@ -26,7 +26,7 @@ // Проверка Ожидаем.Что(Результат.Запуски, "Запуски").ИмеетДлину(1); - Ожидаем.Что(Результат.Отчет.Таблица, "Отчет").ИмеетДлину(1); + Ожидаем.Что(Результат.Отчет.Таблица(), "Отчет").ИмеетДлину(1); Кейс = Результат.Запуски[0].Кейс; @@ -145,3 +145,4 @@ КонецПроцедуры #КонецОбласти + diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\321\202\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\321\202\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index d672f5f..5458e8a 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\321\202\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\321\202\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,4 +1,4 @@ -// BSLLS:LineLength-off +// BSLLS:LineLength-off // BSLLS:DuplicateStringLiteral-off // BSLLS:MagicNumber-off @@ -135,9 +135,9 @@ Результат = Бенчмаркинг.Запустить(Дескриптор, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(2); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Поле")]).Равно(100); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Поле")]).Равно(200); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(2); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Поле")]).Равно(100); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Поле")]).Равно(200); КонецПроцедуры @@ -156,7 +156,7 @@ // Проверка ИмяКолонки = КолонкиОтчетаБенчмарков.Параметр("Поле"); - Значения = Результат.Отчет.Таблица.ВыгрузитьКолонку(ИмяКолонки); + Значения = Результат.Отчет.Таблица().ВыгрузитьКолонку(ИмяКолонки); Ожидаем.Что(Значения).ИмеетДлину(4); Ожидаем.Что(Значения).Содержит(Ложь); @@ -201,9 +201,9 @@ Результат = Бенчмаркинг.Запустить(Дескриптор, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(2); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам")]).Равно(Ложь); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам")]).Равно(Истина); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(2); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам")]).Равно(Ложь); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам")]).Равно(Истина); КонецПроцедуры @@ -219,11 +219,11 @@ Результат = Бенчмаркинг.Запустить(Дескриптор, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(2); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(13); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(14); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(15); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(16); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(2); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(13); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(14); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(15); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(16); КонецПроцедуры @@ -242,11 +242,11 @@ Результат = Бенчмаркинг.Запустить(Дескриптор, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(2); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(2); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(3); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(4); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(2); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(3); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(4); КонецПроцедуры @@ -264,11 +264,11 @@ Результат = Бенчмаркинг.Запустить(Дескриптор, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(2); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(5); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(6); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(7); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(8); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(2); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(5); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(6); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(7); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(8); КонецПроцедуры @@ -286,11 +286,11 @@ Результат = Бенчмаркинг.Запустить(Дескриптор, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(2); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(9); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(10); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(11); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(12); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(2); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(9); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(10); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(11); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(12); КонецПроцедуры @@ -309,15 +309,15 @@ Результат = Бенчмаркинг.Запустить(Дескриптор, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(4); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(2); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(3); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(4); - Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(5); - Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(6); - Ожидаем.Что(Результат.Отчет.Таблица[3][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(7); - Ожидаем.Что(Результат.Отчет.Таблица[3][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(8); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(4); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(3); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(4); + Ожидаем.Что(Результат.Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(5); + Ожидаем.Что(Результат.Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(6); + Ожидаем.Что(Результат.Отчет.Таблица()[3][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(7); + Ожидаем.Что(Результат.Отчет.Таблица()[3][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(8); КонецПроцедуры @@ -335,9 +335,9 @@ Результат = Бенчмаркинг.Запустить(Дескриптор, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(1); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(13); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(14); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(1); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")]).Равно(13); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")]).Равно(14); КонецПроцедуры @@ -357,9 +357,9 @@ Результат = Бенчмаркинг.Запустить(Дескриптор, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(2); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам")]).Равно(300); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам")]).Равно(400); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(2); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам")]).Равно(300); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам")]).Равно(400); КонецПроцедуры @@ -375,9 +375,9 @@ Результат = Бенчмаркинг.Запустить(Дескриптор, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(2); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам")]).Равно(500); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам")]).Равно(600); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(2); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам")]).Равно(500); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам")]).Равно(600); КонецПроцедуры @@ -501,3 +501,4 @@ КонецФункции #КонецОбласти + diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\230\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\230\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index b230d01..42bb6e1 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\230\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\230\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,10 +1,11 @@ -// BSLLS:LineLength-off +// BSLLS:LineLength-off // BSLLS:DuplicateStringLiteral-off // BSLLS:MagicNumber-off #Использовать asserts #Использовать "helpers" #Использовать "fixtures/benchmarks" +#Использовать "fixtures/customColumns" #Область Тесты @@ -24,7 +25,7 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - ТаблицаОтчета = Результат.Отчет.Таблица; + ТаблицаОтчета = Результат.Отчет.Таблица(); Для Каждого ИмяКолонки Из Колонки Цикл Ожидаем.Что(ТаблицаОтчета.Колонки.Найти(ИмяКолонки), ИмяКолонки).Не_().ЭтоНеопределено(); @@ -52,7 +53,7 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - ТаблицаОтчета = Результат.Отчет.Таблица; + ТаблицаОтчета = Результат.Отчет.Таблица(); Для Каждого ИмяКолонки Из Колонки Цикл Ожидаем.Что(ТаблицаОтчета.Колонки.Найти(ИмяКолонки)).Не_().ЭтоНеопределено(); @@ -79,7 +80,7 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - ТаблицаОтчета = Результат.Отчет.Таблица; + ТаблицаОтчета = Результат.Отчет.Таблица(); Ожидаем.Что(ТаблицаОтчета.Колонки.Найти(ИмяКолонки)).Не_().ЭтоНеопределено(); Ожидаем.Что(ТаблицаОтчета[0][ИмяКолонки]).Заполнено(); @@ -102,7 +103,7 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - ТаблицаОтчета = Результат.Отчет.Таблица; + ТаблицаОтчета = Результат.Отчет.Таблица(); Ожидаем.Что(ТаблицаОтчета.Колонки.Найти(Колонка)).ЭтоНеопределено(); @@ -121,7 +122,7 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - ТаблицаОтчета = Результат.Отчет.Таблица; + ТаблицаОтчета = Результат.Отчет.Таблица(); КолонкаПроцентиль10 = КолонкиОтчетаБенчмарков.Процентиль(10); КолонкаПроцентиль80 = КолонкиОтчетаБенчмарков.Процентиль(80); @@ -150,7 +151,7 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - ТаблицаОтчета = Результат.Отчет.Таблица; + ТаблицаОтчета = Результат.Отчет.Таблица(); КолонкаПроцентиль10 = КолонкиОтчетаБенчмарков.Процентиль(10); КолонкаПроцентиль80 = КолонкиОтчетаБенчмарков.Процентиль(80); @@ -178,7 +179,7 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - ТаблицаОтчета = Результат.Отчет.Таблица; + ТаблицаОтчета = Результат.Отчет.Таблица(); Для Каждого Процентиль Из КолонкаОтчетаБенчмарковПроцентиль.ПроцентилиПоУмолчанию() Цикл ИмяКолонки = КолонкиОтчетаБенчмарков.Процентиль(Процентиль); @@ -204,7 +205,7 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - ТаблицаОтчета = Результат.Отчет.Таблица; + ТаблицаОтчета = Результат.Отчет.Таблица(); Процентили = КолонкаОтчетаБенчмарковПроцентиль.ПроцентилиПоУмолчанию(); Процентили.Добавить(33); @@ -217,6 +218,124 @@ КонецПроцедуры +&Тест +Процедура ТестДолжен_ДобавитьПользовательскуюКолонкуВКонфигурациюИОтчет() Экспорт + + // Подготовка + Тип = Тип("БенчмаркСПользовательскойКолонкой"); + + Конфигурация = Новый КонфигурацияБенчмарков(Тип); + ТестированиеБенчмарков.НастроитьКонфигурациюПодТесты(Конфигурация); + + // Действие + Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); + + // Проверка + ТаблицаОтчета = Результат.Отчет.Таблица(); + + Ожидаем.Что(ТаблицаОтчета.Колонки.Найти("Пользовательская")).Не_().ЭтоНеопределено(); + Ожидаем.Что(ТаблицаОтчета[0]["Пользовательская"]).Равно("custom"); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_НастроитьВычислениеВстроеннойКолонкиЧерезАдаптер() Экспорт + + // Подготовка + Колонка = КолонкиОтчетаБенчмарков.СоздатьСреднее(); + РезультатЗапускаКейса = ТестовыйРезультатЗапускаКейса("10, 20, 30", "100, 200"); + + // Действие + ЗначениеКолонки = Колонка.Значение(РезультатЗапускаКейса, Колонка); + + // Проверка + Ожидаем.Что(Колонка.ДелегатЗначение).Не_().ЭтоНеопределено(); + Ожидаем.Что(ЗначениеКолонки).Равно(20); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_НастроитьВычислениеПользовательскойКолонкиЧерезАдаптер() Экспорт + + // Подготовка + Колонка = КолонкиОтчетаБенчмарков.СоздатьПользовательскую("Пользовательская"); + + // Действие + ЗначениеКолонки = Колонка.Значение(Неопределено, Колонка); + + // Проверка + Ожидаем.Что(Колонка.ДелегатЗначение).Не_().ЭтоНеопределено(); + Ожидаем.Что(ЗначениеКолонки).Равно("custom"); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_НастроитьПредставлениеПользовательскойКолонкиЧерезАдаптер() Экспорт + + // Подготовка + РезультатЗапускаКейса = ТестовыйРезультатЗапускаКейса("10, 20, 30"); + + Колонка = КолонкиОтчетаБенчмарков.СоздатьПользовательскую("Пользовательская"); + + ПараметрыПредставления = Новый ПараметрыПредставленияКолонкиОтчетаБенчмарков(); + ПараметрыПредставления.ФорматнаяСтрока = "fmt"; + + // Действие + Представление = Колонка.ПредставлениеЗначения("custom", РезультатЗапускаКейса, ПараметрыПредставления); + + // Проверка + Ожидаем.Что(Колонка.ДелегатПредставлениеЗначения).Не_().ЭтоНеопределено(); + Ожидаем.Что(Представление).Равно("custom|20|fmt"); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_НастроитьВычислениеПроцентильнойКолонкиЧерезАдаптер() Экспорт + + // Подготовка + Колонка = КолонкиОтчетаБенчмарков.СоздатьПроцентиль(80); + РезультатЗапускаКейса = ТестовыйРезультатЗапускаКейса("12, 15, 22, 25, 17, 28, 14", "100, 101"); + + // Действие + ЗначениеКолонки = Колонка.Значение(РезультатЗапускаКейса, Колонка); + + // Проверка + Ожидаем.Что(Колонка.ДелегатЗначение).Не_().ЭтоНеопределено(); + Ожидаем.Что(ЗначениеКолонки).Равно(24.4); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ИзвлечьПользовательскуюКолонкуИзАннотации() Экспорт + + // Подготовка + Тип = Тип("БенчмаркСПользовательскойКолонкой"); + + // Действие + Конфигурация = Новый КонфигурацияБенчмарков(Тип); + + // Проверка + Ожидаем.Что(Конфигурация.Колонки()).ИмеетДлину(1); + Ожидаем.Что(Конфигурация.Колонки()).Содержит("Пользовательская"); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ДобавитьПользовательскуюКолонкуВКонфигурацию() Экспорт + + // Подготовка + Тип = Тип("ПустойБенчмарк"); + + // Действие + Конфигурация = Новый КонфигурацияБенчмарков(Тип); + Конфигурация.ДобавитьКолонку("Пользовательская"); + + // Проверка + Ожидаем.Что(Конфигурация.Колонки()).ИмеетДлину(1); + Ожидаем.Что(Конфигурация.Колонки()).Содержит("Пользовательская"); + +КонецПроцедуры + &Тест Процедура ТестДолжен_УстановитьКаталогАртефактов() Экспорт @@ -266,4 +385,35 @@ КонецПроцедуры +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ТестовыйРезультатЗапускаКейса(СтрокаЗамеровВремени, СтрокаЗамеровПамяти = "") + + Замеры = Новый Структура( + "ЗамерыВремени, ЗамерыПамяти", + МассивЧисел(СтрокаЗамеровВремени), + МассивЧисел(СтрокаЗамеровПамяти) + ); + + РезультатЗапускаКейса = Новый РезультатЗапускаКейса(); + РезультатЗапускаКейса.Статистика = Новый СтатистикаБенчмарка(Замеры); + + Возврат РезультатЗапускаКейса; + +КонецФункции + +Функция МассивЧисел(СтрокаЗначений) + + Результат = Новый Массив(); + + Для Каждого Значение Из СтрРазделить(СтрокаЗначений, ", ", Ложь) Цикл + Результат.Добавить(Число(Значение)); + КонецЦикла; + + Возврат Результат; + +КонецФункции + #КонецОбласти \ No newline at end of file diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 55ae292..b3ae0a2 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,4 +1,4 @@ -// BSLLS:LineLength-off +// BSLLS:LineLength-off // BSLLS:DuplicateStringLiteral-off // BSLLS:MagicNumber-off @@ -36,9 +36,9 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).Заполнено(); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Значение")]).Равно(10); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Значение")]).Равно(100); + Ожидаем.Что(Результат.Отчет.Таблица()).Заполнено(); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Значение")]).Равно(10); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Значение")]).Равно(100); КонецПроцедуры @@ -59,9 +59,9 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).Заполнено(); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Значение")]).Равно(50); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Значение")]).Равно(150); + Ожидаем.Что(Результат.Отчет.Таблица()).Заполнено(); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Значение")]).Равно(50); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Значение")]).Равно(150); КонецПроцедуры @@ -114,7 +114,7 @@ Результат = Бенчмаркинг.Запустить(Тип("ПустойБенчмарк"), Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).Заполнено(); + Ожидаем.Что(Результат.Отчет.Таблица()).Заполнено(); Ожидаем.Что(Результат.Конфигурация.КоличествоПрогревочныхИтераций()).Равно(КоличествоПрогревочныхИтераций); КонецПроцедуры @@ -135,7 +135,7 @@ Результат = Бенчмаркинг.Запустить(Тип("ПустойБенчмарк"), Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).Заполнено(); + Ожидаем.Что(Результат.Отчет.Таблица()).Заполнено(); Ожидаем.Что(Результат.Конфигурация.МинимальноеВремяИтерации()).Равно(МинимальноеВремяИтерации); КонецПроцедуры @@ -156,7 +156,7 @@ Результат = Бенчмаркинг.Запустить(Тип("ПустойБенчмарк"), Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).Заполнено(); + Ожидаем.Что(Результат.Отчет.Таблица()).Заполнено(); Ожидаем .Что(Результат.Конфигурация.МинимальноеКоличествоВызововЗаИтерацию()) @@ -178,7 +178,7 @@ Результат = Бенчмаркинг.Запустить(Тип("ПустойБенчмарк"), Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).Заполнено(); + Ожидаем.Что(Результат.Отчет.Таблица()).Заполнено(); Ожидаем.Что(Результат.Запуски[0].Замеры[0].КоличествоОпераций).Равно(КоличествоВызововЗаИтерацию); КонецПроцедуры @@ -197,7 +197,7 @@ Результат = Бенчмаркинг.Запустить(Тип("ПустойБенчмарк"), Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).Заполнено(); + Ожидаем.Что(Результат.Отчет.Таблица()).Заполнено(); Ожидаем.Что(Результат.Запуски[0].Замеры[0].КоличествоОпераций).Равно(1); КонецПроцедуры @@ -271,3 +271,4 @@ КонецПроцедуры #КонецОбласти + diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index c24b65a..7af3c9b 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,4 +1,4 @@ -// BSLLS:LineLength-off +// BSLLS:LineLength-off // BSLLS:DuplicateStringLiteral-off // BSLLS:MagicNumber-off @@ -55,23 +55,23 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); - Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); - Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); + Ожидаем.Что(Результат.Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[3][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); - Ожидаем.Что(Результат.Отчет.Таблица[3][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[3][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); + Ожидаем.Что(Результат.Отчет.Таблица()[3][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); - Ожидаем.Что(Результат.Отчет.Таблица[4][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); - Ожидаем.Что(Результат.Отчет.Таблица[4][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[4][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); + Ожидаем.Что(Результат.Отчет.Таблица()[4][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[5][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); - Ожидаем.Что(Результат.Отчет.Таблица[5][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[5][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); + Ожидаем.Что(Результат.Отчет.Таблица()[5][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); КонецПроцедуры @@ -95,23 +95,23 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); - Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); - Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); + Ожидаем.Что(Результат.Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[3][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); - Ожидаем.Что(Результат.Отчет.Таблица[3][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[3][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); + Ожидаем.Что(Результат.Отчет.Таблица()[3][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); - Ожидаем.Что(Результат.Отчет.Таблица[4][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); - Ожидаем.Что(Результат.Отчет.Таблица[4][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[4][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); + Ожидаем.Что(Результат.Отчет.Таблица()[4][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[5][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); - Ожидаем.Что(Результат.Отчет.Таблица[5][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[5][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); + Ожидаем.Что(Результат.Отчет.Таблица()[5][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); КонецПроцедуры @@ -135,23 +135,23 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); - Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); - Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); + Ожидаем.Что(Результат.Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[3][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); - Ожидаем.Что(Результат.Отчет.Таблица[3][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[3][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); + Ожидаем.Что(Результат.Отчет.Таблица()[3][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); - Ожидаем.Что(Результат.Отчет.Таблица[4][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); - Ожидаем.Что(Результат.Отчет.Таблица[4][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[4][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); + Ожидаем.Что(Результат.Отчет.Таблица()[4][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[5][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); - Ожидаем.Что(Результат.Отчет.Таблица[5][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[5][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); + Ожидаем.Что(Результат.Отчет.Таблица()[5][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); КонецПроцедуры @@ -170,23 +170,23 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); - Ожидаем.Что(Результат.Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); + Ожидаем.Что(Результат.Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[3][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); - Ожидаем.Что(Результат.Отчет.Таблица[3][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[3][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); + Ожидаем.Что(Результат.Отчет.Таблица()[3][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); - Ожидаем.Что(Результат.Отчет.Таблица[4][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); - Ожидаем.Что(Результат.Отчет.Таблица[4][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[4][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); + Ожидаем.Что(Результат.Отчет.Таблица()[4][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); - Ожидаем.Что(Результат.Отчет.Таблица[5][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); - Ожидаем.Что(Результат.Отчет.Таблица[5][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); + Ожидаем.Что(Результат.Отчет.Таблица()[5][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); + Ожидаем.Что(Результат.Отчет.Таблица()[5][КолонкиОтчетаБенчмарков.Параметр("Параметр")]).Равно(2); КонецПроцедуры @@ -200,10 +200,10 @@ Результат = Бенчмаркинг.Запустить(Тип("БенчмаркСНаименованием"), Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(2); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(2); - ДескрипторСНаименованием = Результат.Отчет.Таблица[0]; - ДескрипторБезНаименования = Результат.Отчет.Таблица[1]; + ДескрипторСНаименованием = Результат.Отчет.Таблица()[0]; + ДескрипторБезНаименования = Результат.Отчет.Таблица()[1]; Ожидаем.Что(ДескрипторСНаименованием[КолонкиОтчетаБенчмарков.Метод]).Равно("Тестовое наименование бенчмарка"); Ожидаем.Что(ДескрипторБезНаименования[КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБезНаименования"); @@ -211,3 +211,4 @@ КонецПроцедуры #КонецОбласти + diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index ba9ec7f..0039992 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,4 +1,4 @@ -// BSLLS:LineLength-off +// BSLLS:LineLength-off // BSLLS:DuplicateStringLiteral-off // BSLLS:MagicNumber-off @@ -150,7 +150,7 @@ Ожидаем.Что(Результат.ДескрипторыБенчмарков.Количество()).Равно(1); Ожидаем.Что(Результат.Запуски.Количество()).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица.Количество()).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица().Количество()).Равно(1); Ожидаем.Что(Дескриптор.ТипКласса()).Равно(ПодключенныйТип); Ожидаем.Что(Запуск.Кейс.ДескрипторБенчмарка()).Равно(Дескриптор); Ожидаем.Что(Запуск.Кейс.ДескрипторБенчмарка().ТипКласса()).Равно(ПодключенныйТип); @@ -160,3 +160,4 @@ КонецПроцедуры #КонецОбласти + diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" new file mode 100644 index 0000000..64645ec --- /dev/null +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -0,0 +1,275 @@ +// BSLLS:LineLength-off + +#Использовать asserts +#Использовать fs +#Использовать "helpers" +#Использовать "fixtures/customColumns" + +#Область Тесты + +&Тест +Процедура ТестДолжен_СоздатьОтдельнуюКопиюПараметровПредставленияКолонкиДляОтчета() Экспорт + + // Подготовка + Колонка = КолонкиОтчетаБенчмарков.СоздатьСреднее(); + Колонка.ПараметрыПредставления.ФорматнаяСтрока = "ЧДЦ=2"; + + Отчет = Новый ОтчетБенчмарков(); + Отчет.ДобавитьКолонку(Колонка); + + ПараметрыПредставления = Отчет.ПараметрыПредставленияКолонки(Колонка); + + // Действие + ПараметрыПредставления.ФорматнаяСтрока = "ЧДЦ=4"; + ПараметрыПредставления.Скрыта = Истина; + ПараметрыПредставления.Размер = 10; + + // Проверка + Ожидаем.Что(Колонка.ПараметрыПредставления.ФорматнаяСтрока).Равно("ЧДЦ=2"); + Ожидаем.Что(Колонка.ПараметрыПредставления.Скрыта).Равно(Ложь); + Ожидаем.Что(Колонка.ПараметрыПредставления.Размер).Равно(0); + Ожидаем.Что(ПараметрыПредставления.ФорматнаяСтрока).Равно("ЧДЦ=4"); + Ожидаем.Что(ПараметрыПредставления.Скрыта).Равно(Истина); + Ожидаем.Что(ПараметрыПредставления.Размер).Равно(10); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ДобавитьКолонкуВОтчетПоИмени() Экспорт + + // Подготовка + Отчет = Новый ОтчетБенчмарков(); + ИмяКолонки = "Среднее"; + + // Действие + Отчет.ДобавитьКолонку(ИмяКолонки); + + // Проверка + Ожидаем.Что(Отчет.Колонки()).ИмеетДлину(1); + Ожидаем.Что(Отчет.Колонки()[0].Имя).Равно("Среднее"); + Ожидаем.Что(Отчет.Таблица().Колонки.Найти("Среднее")).Не_().ЭтоНеопределено(); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ДобавитьПользовательскуюКолонкуВОтчетПоИмениМодуля() Экспорт + + // Подготовка + Отчет = Новый ОтчетБенчмарков(); + ИмяМодуляКолонки = "КолонкаОтчетаБенчмарковПользовательская"; + + // Действие + Отчет.ДобавитьКолонку(ИмяМодуляКолонки); + Отчет.ДобавитьКолонку(ИмяМодуляКолонки); + + // Проверка + Ожидаем.Что(Отчет.Колонки()).ИмеетДлину(1); + Ожидаем.Что(Отчет.Колонки()[0].Имя).Равно("Пользовательская"); + Ожидаем.Что(Отчет.Таблица().Колонки.Найти("Пользовательская")).Не_().ЭтоНеопределено(); + Ожидаем.Что(Отчет.Таблица().Колонки.Найти(ИмяМодуляКолонки)).ЭтоНеопределено(); + Ожидаем.Что(Отчет.ПараметрыПредставленияКолонки(ИмяМодуляКолонки)).Не_().ЭтоНеопределено(); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_НеДублироватьКолонкуВОтчетеПриПовторномДобавленииПоИмени() Экспорт + + // Подготовка + Отчет = Новый ОтчетБенчмарков(); + ИмяКолонки = "Среднее"; + + // Действие + Отчет.ДобавитьКолонку(ИмяКолонки); + Отчет.ДобавитьКолонку(ИмяКолонки); + + // Проверка + Ожидаем.Что(Отчет.Колонки()).ИмеетДлину(1); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_УдалитьКолонкуИзОтчетаПоИмени() Экспорт + + // Подготовка + Отчет = Новый ОтчетБенчмарков(); + Отчет.ДобавитьКолонку("Среднее"); + + // Действие + Отчет.УдалитьКолонку("Среднее"); + + // Проверка + Ожидаем.Что(Отчет.Колонки()).ИмеетДлину(0); + Ожидаем.Что(Отчет.Таблица().Колонки.Найти("Среднее")).ЭтоНеопределено(); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_СвязатьРезультатЗапускаКейсаПриДобавленииСтрокиВОтчет() Экспорт + + // Подготовка + Отчет = Новый ОтчетБенчмарков(); + РезультатЗапускаКейса = Новый Структура("Идентификатор", "case-1"); + + // Действие + СтрокаОтчета = Отчет.Добавить(РезультатЗапускаКейса); + + // Проверка + Ожидаем.Что(Отчет.РезультатЗапускаКейсаСтроки(СтрокаОтчета)).Равно(РезультатЗапускаКейса); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ИспользоватьRuntimeПараметрыПредставленияКолонкиВОтчете() Экспорт + + // Подготовка + Колонка = КолонкиОтчетаБенчмарков.СоздатьСреднее(); + + Отчет = Новый ОтчетБенчмарков(); + Отчет.ДобавитьКолонку(Колонка); + + ПараметрыПредставления = Отчет.ПараметрыПредставленияКолонки(Колонка); + ПараметрыПредставления.ЭтоЧисло = Истина; + ПараметрыПредставления.Размер = 6; + ПараметрыПредставления.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(1); + ПараметрыПредставления.ЕдиницаИзмеренияПредставления = ЕдиницыИзмеренийБенчмарков.Миллисекунда; + + СтрокаОтчета = Отчет.Добавить(); + СтрокаОтчета[Колонка.Имя] = 1500000; + + // Действие + Markdown = Отчет.КакMarkdown(); + Легенда = Отчет.Легенда(); + + // Проверка + Ожидаем.Что(Markdown).Содержит("1.5 ms"); + Ожидаем.Что(Легенда).Содержит("1 ms"); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ИсключатьСкрытыеКолонкиИзВидимогоПредставленияОтчета() Экспорт + + // Подготовка + Среднее = КолонкиОтчетаБенчмарков.СоздатьСреднее(); + Среднее.Описание = "Видимая колонка"; + + Медиана = КолонкиОтчетаБенчмарков.СоздатьМедиана(); + Медиана.Описание = "Скрытая колонка"; + + Отчет = Новый ОтчетБенчмарков(); + Отчет.ДобавитьКолонку(Среднее); + Отчет.ДобавитьКолонку(Медиана); + + ПараметрыСреднего = Отчет.ПараметрыПредставленияКолонки(Среднее); + ПараметрыСреднего.ЭтоЧисло = Истина; + ПараметрыСреднего.Размер = СтрДлина(Среднее.Заголовок); + ПараметрыСреднего.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(1); + + ПараметрыМедианы = Отчет.ПараметрыПредставленияКолонки(Медиана); + ПараметрыМедианы.ЭтоЧисло = Истина; + ПараметрыМедианы.Размер = СтрДлина(Медиана.Заголовок); + ПараметрыМедианы.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(1); + ПараметрыМедианы.Скрыта = Истина; + + СтрокаОтчета = Отчет.Добавить(); + СтрокаОтчета[Среднее.Имя] = 15; + СтрокаОтчета[Медиана.Имя] = 10; + + // Действие + ВидимыеКолонки = Отчет.ВидимыеКолонки(); + Markdown = Отчет.КакMarkdown(); + Легенда = Отчет.Легенда(); + + // Проверка + Ожидаем.Что(ВидимыеКолонки.Количество()).Равно(1); + Ожидаем.Что(ВидимыеКолонки[0].Имя).Равно(Среднее.Имя); + Ожидаем.Что(Markdown).Содержит(Среднее.Заголовок); + Ожидаем.Что(Markdown).Не_().Содержит(Медиана.Заголовок); + Ожидаем.Что(Легенда).Содержит(Среднее.Описание); + Ожидаем.Что(Легенда).Не_().Содержит(Медиана.Описание); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ИсключатьСкрытыеКолонкиИзHtmlЭкспорта() Экспорт + + // Подготовка + Среднее = КолонкиОтчетаБенчмарков.СоздатьСреднее(); + Медиана = КолонкиОтчетаБенчмарков.СоздатьМедиана(); + + Отчет = Новый ОтчетБенчмарков(); + Отчет.ДобавитьКолонку(Среднее); + Отчет.ДобавитьКолонку(Медиана); + + ПараметрыСреднего = Отчет.ПараметрыПредставленияКолонки(Среднее); + ПараметрыСреднего.ЭтоЧисло = Истина; + ПараметрыСреднего.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(1); + + ПараметрыМедианы = Отчет.ПараметрыПредставленияКолонки(Медиана); + ПараметрыМедианы.ЭтоЧисло = Истина; + ПараметрыМедианы.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(1); + ПараметрыМедианы.Скрыта = Истина; + + СтрокаОтчета = Отчет.Добавить(); + СтрокаОтчета[Среднее.Имя] = 15; + СтрокаОтчета[Медиана.Имя] = 10; + + ПутьКФайлу = ".\\tests\\tmp-hidden-columns-report.html"; + ФС.УдалитьФайлы(ПутьКФайлу); + + РезультатЗапускаБенчмарков = Новый Структура("Отчет, СредаОкружения", Отчет, "test environment"); + + // Действие + ЭкспортерыРезультатовБенчмарков.Html.Записать(РезультатЗапускаБенчмарков, ПутьКФайлу); + Html = ПрочитатьФайл(ПутьКФайлу); + + // Проверка + Ожидаем.Что(Html).Содержит(Среднее.Заголовок); + Ожидаем.Что(Html).Не_().Содержит(Медиана.Заголовок); + + ФС.УдалитьФайлы(ПутьКФайлу); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ИспользоватьРезультатЗапускаКейсаСтрокиВMarkdownПредставлении() Экспорт + + // Подготовка + Колонка = КолонкиОтчетаБенчмарков.СоздатьПользовательскую("Пользовательская"); + + Отчет = Новый ОтчетБенчмарков(); + Отчет.ДобавитьКолонку(Колонка); + + ПараметрыПредставления = Отчет.ПараметрыПредставленияКолонки(Колонка); + ПараметрыПредставления.ФорматнаяСтрока = "fmt"; + ПараметрыПредставления.Размер = 20; + + Статистика = Новый Структура("Среднее", 20); + РезультатЗапускаКейса = Новый Структура("Статистика", Статистика); + СтрокаОтчета = Отчет.Добавить(РезультатЗапускаКейса); + СтрокаОтчета[Колонка.Имя] = "custom"; + + // Действие + Markdown = Отчет.КакMarkdown(); + + // Проверка + Ожидаем.Что(Markdown).Содержит("custom|20|fmt"); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ПрочитатьФайл(ПутьКФайлу) + + ЧтениеТекста = Новый ЧтениеТекста(ПутьКФайлу, КодировкаТекста.UTF8); + Содержимое = ЧтениеТекста.Прочитать(); + ЧтениеТекста.Закрыть(); + + Возврат Содержимое; + +КонецФункции + +#КонецОбласти + diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200\320\260\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200\320\260\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 9007eb2..9b3622b 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200\320\260\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200\320\260\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,4 +1,4 @@ -// BSLLS:LineLength-off +// BSLLS:LineLength-off // BSLLS:DuplicateStringLiteral-off // BSLLS:MagicNumber-off // BSLLS:MagicDate-off @@ -137,20 +137,20 @@ Отчет = РезультатПрочитанный.Отчет; Ожидаем.Что(Отчет, "Отчет").ИмеетТип("ОтчетБенчмарков"); - Ожидаем.Что(Отчет.Таблица, "Таблица").ИмеетТип("ТаблицаЗначений"); - Ожидаем.Что(Отчет.Таблица, "Таблица").ИмеетДлину(10); - Ожидаем.Что(Отчет.Таблица[0].Метод, "Метод").Равно("Бенчмарк"); - Ожидаем.Что(Отчет.Таблица[0].Категория, "Категория").Равно("Категория 1"); - Ожидаем.Что(Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")], "ПолеОбщее (1)").Равно(""); // Неопределено - Ожидаем.Что(Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")], "Парам1 (1)").Равно(3); - Ожидаем.Что(Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")], "Парам2 (1)").Равно(4); - Ожидаем.Что(Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")], "ПолеОбщее (2)").Равно(""); // Неопределено - Ожидаем.Что(Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")], "Парам1 (2)").Равно(5); - Ожидаем.Что(Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")], "Парам2 (2)").Равно(6); - Ожидаем.Что(Отчет.Таблица[2][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")], "ПолеОбщее (3)").Равно("БенчмаркСПараметрамиМетодаИПоля"); - Ожидаем.Что(Отчет.Таблица[4][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")], "ПолеОбщее (5)").Равно("ТаблицаЗначений"); - Ожидаем.Что(Отчет.Таблица[6][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")], "ПолеОбщее (7)").Равно("ЧтениеXML"); - Ожидаем.Что(Отчет.Таблица[8][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")], "ПолеОбщее (9)").Равно('19700101'); + Ожидаем.Что(Отчет.Таблица(), "Таблица").ИмеетТип("ТаблицаЗначений"); + Ожидаем.Что(Отчет.Таблица(), "Таблица").ИмеетДлину(10); + Ожидаем.Что(Отчет.Таблица()[0].Метод, "Метод").Равно("Бенчмарк"); + Ожидаем.Что(Отчет.Таблица()[0].Категория, "Категория").Равно("Категория 1"); + Ожидаем.Что(Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")], "ПолеОбщее (1)").Равно(""); // Неопределено + Ожидаем.Что(Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам1")], "Парам1 (1)").Равно(3); + Ожидаем.Что(Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Параметр("Парам2")], "Парам2 (1)").Равно(4); + Ожидаем.Что(Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")], "ПолеОбщее (2)").Равно(""); // Неопределено + Ожидаем.Что(Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам1")], "Парам1 (2)").Равно(5); + Ожидаем.Что(Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Параметр("Парам2")], "Парам2 (2)").Равно(6); + Ожидаем.Что(Отчет.Таблица()[2][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")], "ПолеОбщее (3)").Равно("БенчмаркСПараметрамиМетодаИПоля"); + Ожидаем.Что(Отчет.Таблица()[4][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")], "ПолеОбщее (5)").Равно("ТаблицаЗначений"); + Ожидаем.Что(Отчет.Таблица()[6][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")], "ПолеОбщее (7)").Равно("ЧтениеXML"); + Ожидаем.Что(Отчет.Таблица()[8][КолонкиОтчетаБенчмарков.Параметр("ПолеОбщее")], "ПолеОбщее (9)").Равно('19700101'); // Действие // Конфигурация @@ -180,3 +180,4 @@ КонецПроцедуры #КонецОбласти + diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\255\321\202\320\260\320\273\320\276\320\275\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\255\321\202\320\260\320\273\320\276\320\275\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index b6d579d..0412a3f 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\255\321\202\320\260\320\273\320\276\320\275\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\255\321\202\320\260\320\273\320\276\320\275\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,4 +1,4 @@ -// BSLLS:LineLength-off +// BSLLS:LineLength-off // BSLLS:DuplicateStringLiteral-off // BSLLS:MagicNumber-off @@ -22,11 +22,11 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(2); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Эталон]).ЭтоЛожь(); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Заполнено(); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Эталон]).ЭтоИстина(); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(2); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Эталон]).ЭтоЛожь(); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Заполнено(); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Эталон]).ЭтоИстина(); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Равно(1); КонецПроцедуры @@ -46,9 +46,9 @@ Результат = Бенчмаркинг.Запустить(ДескрипторыБенчмарков, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(1); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Эталон]).ЭтоИстина(); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(1); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Эталон]).ЭтоИстина(); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Равно(1); КонецПроцедуры @@ -69,7 +69,7 @@ Результат = Бенчмаркинг.Запустить(ДескрипторыБенчмарков, Конфигурация); // Проверка - Таблица = Результат.Отчет.Таблица; + Таблица = Результат.Отчет.Таблица(); СтрокаА1 = Таблица.Найти("БенчмаркА1", КолонкиОтчетаБенчмарков.Метод); СтрокаБ1 = Таблица.Найти("БенчмаркБ1", КолонкиОтчетаБенчмарков.Метод); @@ -95,15 +95,15 @@ Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(2); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(2); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.ВерсияИсполняющейСреды]).Содержит("dev"); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Эталон]).ЭтоЛожь(); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Больше(0); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.ВерсияИсполняющейСреды]).Содержит("dev"); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Эталон]).ЭтоЛожь(); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Больше(0); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.ВерсияИсполняющейСреды]).Содержит("stable"); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.Эталон]).ЭтоИстина(); - Ожидаем.Что(Результат.Отчет.Таблица[1][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.ВерсияИсполняющейСреды]).Содержит("stable"); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.Эталон]).ЭтоИстина(); + Ожидаем.Что(Результат.Отчет.Таблица()[1][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Равно(1); КонецПроцедуры @@ -313,22 +313,22 @@ Результат = Бенчмаркинг.Запустить(ДескрипторыБенчмарков, Конфигурация); // Проверка - Ожидаем.Что(Результат.Отчет.Таблица).ИмеетДлину(7); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.Эталон]).ЭтоЛожь(); - Ожидаем.Что(Результат.Отчет.Таблица[0][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Равно("?"); + Ожидаем.Что(Результат.Отчет.Таблица()).ИмеетДлину(7); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркВ"); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.Эталон]).ЭтоЛожь(); + Ожидаем.Что(Результат.Отчет.Таблица()[0][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Равно("?"); Для к = 1 По 3 Цикл Инд1 = к * 2 - 1; Инд2 = к * 2; - Ожидаем.Что(Результат.Отчет.Таблица[Инд1][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); - Ожидаем.Что(Результат.Отчет.Таблица[Инд1][КолонкиОтчетаБенчмарков.Эталон]).ЭтоИстина(); - Ожидаем.Что(Результат.Отчет.Таблица[Инд1][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Равно(1); - Ожидаем.Что(Результат.Отчет.Таблица[Инд2][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); - Ожидаем.Что(Результат.Отчет.Таблица[Инд2][КолонкиОтчетаБенчмарков.Эталон]).ЭтоЛожь(); - Ожидаем.Что(Результат.Отчет.Таблица[Инд2][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Заполнено(); + Ожидаем.Что(Результат.Отчет.Таблица()[Инд1][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркА"); + Ожидаем.Что(Результат.Отчет.Таблица()[Инд1][КолонкиОтчетаБенчмарков.Эталон]).ЭтоИстина(); + Ожидаем.Что(Результат.Отчет.Таблица()[Инд1][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Равно(1); + Ожидаем.Что(Результат.Отчет.Таблица()[Инд2][КолонкиОтчетаБенчмарков.Метод]).Равно("БенчмаркБ"); + Ожидаем.Что(Результат.Отчет.Таблица()[Инд2][КолонкиОтчетаБенчмарков.Эталон]).ЭтоЛожь(); + Ожидаем.Что(Результат.Отчет.Таблица()[Инд2][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Заполнено(); КонецЦикла; @@ -339,3 +339,4 @@ КонецПроцедуры #КонецОбласти + From 8cdc0b194ff58208e7517e588a38b1c4745f15ce Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov Date: Wed, 29 Apr 2026 21:39:12 +0300 Subject: [PATCH 2/5] =?UTF-8?q?feat!:=20=D0=90=D0=B2=D1=82=D0=BE=D0=BE?= =?UTF-8?q?=D0=BF=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D1=87=D0=B8=D1=81=D0=BB=D0=BE=D0=B2=D1=8B=D1=85=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BB=D0=BE=D0=BD=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Заменен публичный флаг ЭтоЧисло на метод Отчет.ЭтоЧисловаяКолонка() --- ...21\202\321\200\320\270\320\272\320\270.md" | 1 - ...21\203\320\275\320\264\320\260\321\205.os" | 1 - ...21\203\320\275\320\264\320\260\321\205.os" | 1 - ...20\272\320\276\320\262\320\222Markdown.os" | 4 +- ...20\260\321\200\320\272\320\276\320\262.os" | 46 ++++++++++++++++++ ...20\260\321\200\320\272\320\276\320\262.os" | 4 -- ...20\260\321\200\320\272\320\276\320\262.os" | 22 +-------- ...321\200\320\272\320\276\320\262RatioSD.os" | 1 - ...21\200\321\202\320\270\320\273\321\214.os" | 1 - ...20\260\320\274\321\217\321\202\321\214.os" | 1 - ...20\275\320\276\321\201\321\202\320\270.os" | 1 - ...20\262\320\234\320\260\320\272\321\201.os" | 1 - ...20\264\320\270\320\260\320\275\320\260.os" | 1 - ...20\276\320\262\320\234\320\270\320\275.os" | 1 - ...21\200\321\202\320\270\320\273\321\214.os" | 1 - ...20\272\321\203\320\275\320\264\321\203.os" | 1 - ...20\275\321\202\320\270\320\273\321\214.os" | 1 - ...20\265\320\264\320\275\320\265\320\265.os" | 1 - ...21\210\320\270\320\261\320\272\320\260.os" | 1 - ...20\275\320\265\320\275\320\270\320\265.os" | 1 - ...20\276\320\275\320\272\320\276\320\271.os" | 10 ++++ ...20\273\320\276\320\262\320\260\321\217.os" | 29 ++++++++++++ tests/fixtures/verified-report.md | 4 +- ...20\260\321\200\320\272\320\276\320\262.os" | 23 ++++++++- ...20\260\321\200\320\272\320\276\320\262.os" | 47 +++++++++++++++++-- 25 files changed, 154 insertions(+), 51 deletions(-) create mode 100644 "tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\276\320\271\320\247\320\270\321\201\320\273\320\276\320\262\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271.os" create mode 100644 "tests/fixtures/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\260\321\217\320\247\320\270\321\201\320\273\320\276\320\262\320\260\321\217.os" diff --git "a/docs/\320\234\320\265\321\202\321\200\320\270\320\272\320\270.md" "b/docs/\320\234\320\265\321\202\321\200\320\270\320\272\320\270.md" index f3e1047..d3d10eb 100644 --- "a/docs/\320\234\320\265\321\202\321\200\320\270\320\272\320\270.md" +++ "b/docs/\320\234\320\265\321\202\321\200\320\270\320\272\320\270.md" @@ -114,7 +114,6 @@ Колонка.Заголовок = "Mean, ms"; Колонка.Описание = "Среднее время выполнения в миллисекундах"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Миллисекунда; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Колонка.ПараметрыПредставления.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(2); Возврат Колонка; diff --git "a/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\240\320\260\320\267\320\274\320\260\321\205\320\222\321\200\320\265\320\274\320\265\320\275\320\270\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" "b/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\240\320\260\320\267\320\274\320\260\321\205\320\222\321\200\320\265\320\274\320\265\320\275\320\270\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" index 0294f1d..23ede43 100644 --- "a/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\240\320\260\320\267\320\274\320\260\321\205\320\222\321\200\320\265\320\274\320\265\320\275\320\270\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" +++ "b/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\240\320\260\320\267\320\274\320\260\321\205\320\222\321\200\320\265\320\274\320\265\320\275\320\270\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" @@ -5,7 +5,6 @@ Колонка.Описание = "Разница между максимальным и минимальным временем выполнения в миллисекундах"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; Колонка.ПараметрыПредставления.ЕдиницаИзмеренияПредставления = ЕдиницыИзмеренийБенчмарков.Миллисекунда; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" "b/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" index 20f5ec3..3ec449d 100644 --- "a/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" +++ "b/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" @@ -4,7 +4,6 @@ Колонка.Заголовок = "Mean, ms"; Колонка.Описание = "Среднее время выполнения в миллисекундах"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Миллисекунда; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\265\321\200\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222Markdown.os" "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\265\321\200\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222Markdown.os" index ddc8b26..2b9eef8 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\265\321\200\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222Markdown.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\320\262\320\265\321\200\321\202\320\265\321\200\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222Markdown.os" @@ -41,7 +41,7 @@ ПараметрыПредставления = _ОтчетБенчмарков.ПараметрыПредставленияКолонки(Колонка); - ПоложениеПраво = ПараметрыПредставления.ЭтоЧисло; + ПоложениеПраво = _ОтчетБенчмарков.ЭтоЧисловаяКолонка(Колонка); Размер = ПараметрыПредставления.Размер + ДобавочныхСимволов(); ПодстрокиЗаголовки.Добавить(РазделительКолонок()); @@ -74,7 +74,7 @@ ПараметрыПредставления = _ОтчетБенчмарков.ПараметрыПредставленияКолонки(Колонка); - ПоложениеПраво = ПараметрыПредставления.ЭтоЧисло; + ПоложениеПраво = _ОтчетБенчмарков.ЭтоЧисловаяКолонка(Колонка); Размер = ПараметрыПредставления.Размер + ДобавочныхСимволов(); Значение = СтрокаОтчета[Колонка.Имя]; РезультатЗапускаКейса = _ОтчетБенчмарков.РезультатЗапускаКейсаСтроки(СтрокаОтчета); diff --git "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\321\202\321\207\320\265\321\202\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\321\202\321\207\320\265\321\202\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index b33e0db..1e085a0 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\321\202\321\207\320\265\321\202\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\236\321\202\321\207\320\265\321\202\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -171,6 +171,22 @@ КонецФункции +// Возвращает признак числовой колонки по значениям в отчете. +// +// Параметры: +// Колонка - КолонкаОтчетаБенчмарков, Строка +// +// Возвращаемое значение: +// Булево +Функция ЭтоЧисловаяКолонка(Колонка) Экспорт + + ИмяКолонки = ПолучитьИмяКолонки(Колонка); + ЗначенияКолонки = _Таблица.ВыгрузитьКолонку(ИмяКолонки); + + Возврат ЗначенияКолонкиЯвляютсяЧисловыми(ЗначенияКолонки); + +КонецФункции + // Добавляет строку в табличные данные отчета. // // Параметры: @@ -245,6 +261,36 @@ КонецФункции +Функция ЗначенияКолонкиЯвляютсяЧисловыми(ЗначенияКолонки) + + ЕстьЧисла = Ложь; + + Для Каждого Значение Из ЗначенияКолонки Цикл + Если ТипЗнч(Значение) = Тип("Число") Тогда + ЕстьЧисла = Истина; + ИначеЕсли Не ЭтоПустоеЗначениеЧисловойКолонки(Значение) Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат ЕстьЧисла; + +КонецФункции + +Функция ЭтоПустоеЗначениеЧисловойКолонки(Значение) + + Если Значение = Неопределено Тогда + Возврат Истина; + КонецЕсли; + + Если ТипЗнч(Значение) = Тип("Строка") Тогда + Возврат Значение = "" Или Значение = "?" Или Значение = "-"; + КонецЕсли; + + Возврат Ложь; + +КонецФункции + Функция ПолучитьОбъектКолонки(Колонка) Если ТипЗнч(Колонка) = Тип("Строка") Тогда diff --git "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 6056cdf..b54f974 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -6,9 +6,6 @@ // Форматная строка вывода значения. Перем ФорматнаяСтрока Экспорт; // Строка -// Признак числовой колонки. -Перем ЭтоЧисло Экспорт; // Булево - // Признак скрытой колонки в конкретном отчете. Перем Скрыта Экспорт; // Булево @@ -21,7 +18,6 @@ ЕдиницаИзмеренияПредставления = Неопределено; ФорматнаяСтрока = ""; - ЭтоЧисло = Ложь; Скрыта = Ложь; Размер = 0; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 8e74c47..556e4f3 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -31,7 +31,6 @@ ДобавитьКолонки(); ЗаполнитьДанными(); - ОпределитьЧисловыеКолонки(); ОпределитьЕдиницыИзмеренияПредставления(); ОпределитьФорматныеСтроки(); ОпределитьРазмерыКолонок(); @@ -298,25 +297,6 @@ КонецПроцедуры -Процедура ОпределитьЧисловыеКолонки() - - Для Каждого Колонка Из _Отчет.Колонки() Цикл - - ПараметрыПредставления = _Отчет.ПараметрыПредставленияКолонки(Колонка); - - Если ПараметрыПредставления.ЭтоЧисло Тогда - Продолжить; - КонецЕсли; - - ЗначенияКолонки = _Отчет.Таблица().ВыгрузитьКолонку(Колонка.Имя); - Если МатематическиеФункцииБенчмарков.ТолькоЧисла(ЗначенияКолонки) Тогда - ПараметрыПредставления.ЭтоЧисло = Истина; - КонецЕсли; - - КонецЦикла; - -КонецПроцедуры - Процедура ОпределитьЕдиницыИзмеренияПредставления() Для Каждого Колонка Из _Отчет.Колонки() Цикл @@ -359,7 +339,7 @@ ПараметрыПредставления = _Отчет.ПараметрыПредставленияКолонки(Колонка); - Если Не ПараметрыПредставления.ЭтоЧисло Или ЗначениеЗаполнено(ПараметрыПредставления.ФорматнаяСтрока) Тогда + Если Не _Отчет.ЭтоЧисловаяКолонка(Колонка) Или ЗначениеЗаполнено(ПараметрыПредставления.ФорматнаяСтрока) Тогда Продолжить; КонецЕсли; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262RatioSD.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262RatioSD.os" index 891ad15..0c88539 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262RatioSD.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262RatioSD.os" @@ -13,7 +13,6 @@ Колонка.Описание = "Стандартное отклонение соотношений времени выполнения относительно эталона ([StdDev] / [Baseline StdDev])"; Колонка.СтильКоэффициента = СтилиКоэффициентаБенчмарка.Значение; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Колонка.ПараметрыПредставления.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(Разрядность); Колонка.ФункцияСкрытия = "Элемент -> Элемент.Значение >= 0 И Элемент.Значение < 0.02"; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\320\265\321\200\321\205\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\320\265\321\200\321\205\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" index 5bb438a..3f9714d 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\320\265\321\200\321\205\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\320\265\321\200\321\205\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" @@ -9,7 +9,6 @@ Колонка.Заголовок = "Q3"; Колонка.Описание = "Третий (верхний) квартиль (75-й процентиль)"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\321\213\320\264\320\265\320\273\321\217\320\265\320\274\320\260\321\217\320\237\320\260\320\274\321\217\321\202\321\214.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\321\213\320\264\320\265\320\273\321\217\320\265\320\274\320\260\321\217\320\237\320\260\320\274\321\217\321\202\321\214.os" index 039bc43..0852a8d 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\321\213\320\264\320\265\320\273\321\217\320\265\320\274\320\260\321\217\320\237\320\260\320\274\321\217\321\202\321\214.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\222\321\213\320\264\320\265\320\273\321\217\320\265\320\274\320\260\321\217\320\237\320\260\320\274\321\217\321\202\321\214.os" @@ -9,7 +9,6 @@ Колонка.Заголовок = "Allocated"; Колонка.Описание = "Выделяемая память на одну операцию"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Байт; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\232\320\276\321\215\321\204\321\204\320\270\321\206\320\270\320\265\320\275\321\202\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214\320\275\320\276\321\201\321\202\320\270.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\232\320\276\321\215\321\204\321\204\320\270\321\206\320\270\320\265\320\275\321\202\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214\320\275\320\276\321\201\321\202\320\270.os" index b52ce4a..7a7aaf4 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\232\320\276\321\215\321\204\321\204\320\270\321\206\320\270\320\265\320\275\321\202\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214\320\275\320\276\321\201\321\202\320\270.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\232\320\276\321\215\321\204\321\204\320\270\321\206\320\270\320\265\320\275\321\202\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214\320\275\320\276\321\201\321\202\320\270.os" @@ -12,7 +12,6 @@ Колонка.Заголовок = "Ratio"; Колонка.Описание = "Среднее значение соотношений времени выполнения относительно эталона ([Mean] / [Baseline Mean])"; Колонка.СтильКоэффициента = СтилиКоэффициентаБенчмарка.Значение; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Колонка.ПараметрыПредставления.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(Разрядность); Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\260\320\272\321\201.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\260\320\272\321\201.os" index 401de79..8017022 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\260\320\272\321\201.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\260\320\272\321\201.os" @@ -9,7 +9,6 @@ Колонка.Заголовок = "Max"; Колонка.Описание = "Максимум"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\265\320\264\320\270\320\260\320\275\320\260.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\265\320\264\320\270\320\260\320\275\320\260.os" index a7953e1..f489e79 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\265\320\264\320\270\320\260\320\275\320\260.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\265\320\264\320\270\320\260\320\275\320\260.os" @@ -9,7 +9,6 @@ Колонка.Заголовок = "Median"; Колонка.Описание = "Значение, разделяющее упорядоченные измерения на две равные части"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Колонка.ФункцияСкрытия = "Элемент -> |МатематическиеФункцииБенчмарков.Abs(Элемент.Значение - Элемент.РезультатЗапускаКейса.Статистика.ВНаносекунды().Среднее) < Элемент.РезультатЗапускаКейса.Статистика.ВНаносекунды().Среднее * 0.2"; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\270\320\275.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\270\320\275.os" index 5d9bd80..1d9e26f 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\270\320\275.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\234\320\270\320\275.os" @@ -9,7 +9,6 @@ Колонка.Заголовок = "Min"; Колонка.Описание = "Минимум"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\235\320\270\320\266\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\235\320\270\320\266\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" index 1d67ad6..763926c 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\235\320\270\320\266\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\235\320\270\320\266\320\275\320\270\320\271\320\232\320\262\320\260\321\200\321\202\320\270\320\273\321\214.os" @@ -9,7 +9,6 @@ Колонка.Заголовок = "Q1"; Колонка.Описание = "Первый (нижний) квартиль (25-й процентиль)"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\271\320\222\320\241\320\265\320\272\321\203\320\275\320\264\321\203.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\271\320\222\320\241\320\265\320\272\321\203\320\275\320\264\321\203.os" index af30507..a4f7f86 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\271\320\222\320\241\320\265\320\272\321\203\320\275\320\264\321\203.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\271\320\222\320\241\320\265\320\272\321\203\320\275\320\264\321\203.os" @@ -9,7 +9,6 @@ Колонка.Заголовок = "Op/s"; Колонка.Описание = "Операций в секунду"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.ОперацийВСекунду; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\321\200\320\276\321\206\320\265\320\275\321\202\320\270\320\273\321\214.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\321\200\320\276\321\206\320\265\320\275\321\202\320\270\320\273\321\214.os" index 80a026f..5b38cb1 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\321\200\320\276\321\206\320\265\320\275\321\202\320\270\320\273\321\214.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\321\200\320\276\321\206\320\265\320\275\321\202\320\270\320\273\321\214.os" @@ -13,7 +13,6 @@ Колонка.Заголовок = "P" + Процентиль; Колонка.Описание = СтрШаблон("%1-й процентиль", Процентиль); Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265.os" index 4f3e404..fe6d35e 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\200\320\265\320\264\320\275\320\265\320\265.os" @@ -9,7 +9,6 @@ Колонка.Заголовок = "Mean"; Колонка.Описание = "Арифметическое среднее всех измерений"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\260\321\217\320\236\321\210\320\270\320\261\320\272\320\260.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\260\321\217\320\236\321\210\320\270\320\261\320\272\320\260.os" index 1b52726..e17dd11 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\260\321\217\320\236\321\210\320\270\320\261\320\272\320\260.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\260\321\217\320\236\321\210\320\270\320\261\320\272\320\260.os" @@ -9,7 +9,6 @@ Колонка.Заголовок = "StdErr"; Колонка.Описание = "Стандартная ошибка всех измерений"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\276\320\265\320\236\321\202\320\272\320\273\320\276\320\275\320\265\320\275\320\270\320\265.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\276\320\265\320\236\321\202\320\272\320\273\320\276\320\275\320\265\320\275\320\270\320\265.os" index 08d9756..9ae905d 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\276\320\265\320\236\321\202\320\272\320\273\320\276\320\275\320\265\320\275\320\270\320\265.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\320\276\320\265\320\236\321\202\320\272\320\273\320\276\320\275\320\265\320\275\320\270\320\265.os" @@ -9,7 +9,6 @@ Колонка.Заголовок = "StdDev"; Колонка.Описание = "Стандартное отклонение всех измерений"; Колонка.ЕдиницаИзмерения = ЕдиницыИзмеренийБенчмарков.Наносекунда; - Колонка.ПараметрыПредставления.ЭтоЧисло = Истина; Возврат Колонка; diff --git "a/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\276\320\271\320\247\320\270\321\201\320\273\320\276\320\262\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271.os" "b/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\276\320\271\320\247\320\270\321\201\320\273\320\276\320\262\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271.os" new file mode 100644 index 0000000..12a8212 --- /dev/null +++ "b/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\276\320\271\320\247\320\270\321\201\320\273\320\276\320\262\320\276\320\271\320\232\320\276\320\273\320\276\320\275\320\272\320\276\320\271.os" @@ -0,0 +1,10 @@ +#Использовать "../../customColumns" + +&Колонка("ПользовательскаяЧисловая") +Процедура ПриСозданииОбъекта() +КонецПроцедуры + +&Бенчмарк +Процедура Бенчмарк() Экспорт + Приостановить(10); +КонецПроцедуры diff --git "a/tests/fixtures/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\260\321\217\320\247\320\270\321\201\320\273\320\276\320\262\320\260\321\217.os" "b/tests/fixtures/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\260\321\217\320\247\320\270\321\201\320\273\320\276\320\262\320\260\321\217.os" new file mode 100644 index 0000000..5189f4a --- /dev/null +++ "b/tests/fixtures/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\260\321\217\320\247\320\270\321\201\320\273\320\276\320\262\320\260\321\217.os" @@ -0,0 +1,29 @@ +// BSLLS:UnusedParameters-off + +// Создает экземпляр пользовательской числовой колонки для тестов. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков +Функция Создать() Экспорт + + Колонка = Новый КолонкаОтчетаБенчмарков("ПользовательскаяЧисловая"); + Колонка.Заголовок = "Custom Number"; + Колонка.Описание = "Пользовательская числовая колонка"; + + Возврат Колонка; + +КонецФункции + +// Возвращает значение пользовательской числовой колонки. +// +// Параметры: +// РезультатЗапускаКейса - РезультатЗапускаКейса +// Колонка - КолонкаОтчетаБенчмарков +// +// Возвращаемое значение: +// Число +Функция Значение(РезультатЗапускаКейса, Колонка) Экспорт + + Возврат 42; + +КонецФункции diff --git a/tests/fixtures/verified-report.md b/tests/fixtures/verified-report.md index e4fe878..088b7e0 100644 --- a/tests/fixtures/verified-report.md +++ b/tests/fixtures/verified-report.md @@ -2,6 +2,6 @@ MockIntel Core i7-6700HQ CPU 2.60GHz, 1 CPU, 8 logical and 4 physical cores | Method | Значение | П1 | П2 | П | Mean | StdErr | StdDev | Min | Max | Op/s | -|----------------|---------:|----|------|--------|-------:|-------:|-------:|-------:|-------:|------:| +|----------------|---------:|---:|------|--------|-------:|-------:|-------:|-------:|-------:|------:| | БенчмаркВторой | 100 | | | Массив | 1.0 ms | 0.0 ns | 0.0 ns | 1.0 ms | 1.0 ms | 1,000 | -| БенчмаркПервый | 100 | 1 | Тест | | 1.0 ms | 0.0 ns | 0.0 ns | 1.0 ms | 1.0 ms | 1,000 | +| БенчмаркПервый | 100 | 1 | Тест | | 1.0 ms | 0.0 ns | 0.0 ns | 1.0 ms | 1.0 ms | 1,000 | diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\230\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\230\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 42bb6e1..fa02c43 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\230\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\230\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -238,6 +238,27 @@ КонецПроцедуры +&Тест +Процедура ТестДолжен_АвтоматическиОпределитьПользовательскуюКолонкуКакЧисловую() Экспорт + + // Подготовка + Тип = Тип("БенчмаркСПользовательскойЧисловойКолонкой"); + + Конфигурация = Новый КонфигурацияБенчмарков(Тип); + ТестированиеБенчмарков.НастроитьКонфигурациюПодТесты(Конфигурация); + + // Действие + Результат = Бенчмаркинг.Запустить(Тип, Конфигурация); + + // Проверка + ТаблицаОтчета = Результат.Отчет.Таблица(); + + Ожидаем.Что(ТаблицаОтчета.Колонки.Найти("ПользовательскаяЧисловая")).Не_().ЭтоНеопределено(); + Ожидаем.Что(ТаблицаОтчета[0]["ПользовательскаяЧисловая"]).Равно(42); + Ожидаем.Что(Результат.Отчет.ЭтоЧисловаяКолонка("ПользовательскаяЧисловая")).ЭтоИстина(); + +КонецПроцедуры + &Тест Процедура ТестДолжен_НастроитьВычислениеВстроеннойКолонкиЧерезАдаптер() Экспорт @@ -416,4 +437,4 @@ КонецФункции -#КонецОбласти \ No newline at end of file +#КонецОбласти diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 64645ec..9595d04 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -128,7 +128,6 @@ Отчет.ДобавитьКолонку(Колонка); ПараметрыПредставления = Отчет.ПараметрыПредставленияКолонки(Колонка); - ПараметрыПредставления.ЭтоЧисло = Истина; ПараметрыПредставления.Размер = 6; ПараметрыПредставления.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(1); ПараметрыПредставления.ЕдиницаИзмеренияПредставления = ЕдиницыИзмеренийБенчмарков.Миллисекунда; @@ -146,6 +145,48 @@ КонецПроцедуры +&Тест +Процедура ТестДолжен_ОпределитьЧисловуюКолонкуПоДаннымОтчета() Экспорт + + // Подготовка + ЧисловаяКолонка = Новый КолонкаОтчетаБенчмарков("Числовая"); + ТекстоваяКолонка = Новый КолонкаОтчетаБенчмарков("Текстовая"); + + Отчет = Новый ОтчетБенчмарков(); + Отчет.ДобавитьКолонку(ЧисловаяКолонка); + Отчет.ДобавитьКолонку(ТекстоваяКолонка); + + СтрокаОтчета = Отчет.Добавить(); + СтрокаОтчета[ЧисловаяКолонка.Имя] = 42; + СтрокаОтчета[ТекстоваяКолонка.Имя] = "custom"; + + // Действие и Проверка + Ожидаем.Что(Отчет.ЭтоЧисловаяКолонка(ЧисловаяКолонка)).ЭтоИстина(); + Ожидаем.Что(Отчет.ЭтоЧисловаяКолонка("Числовая")).ЭтоИстина(); + Ожидаем.Что(Отчет.ЭтоЧисловаяКолонка(ТекстоваяКолонка)).Равно(Ложь); + +КонецПроцедуры + +&Тест +Процедура ТестДолжен_ОпределитьЧисловуюКолонкуСПустымиЗначениями() Экспорт + + // Подготовка + Колонка = Новый КолонкаОтчетаБенчмарков("Числовая"); + + Отчет = Новый ОтчетБенчмарков(); + Отчет.ДобавитьКолонку(Колонка); + + СтрокаОтчета = Отчет.Добавить(); + СтрокаОтчета[Колонка.Имя] = 42; + + СтрокаСПустымЗначением = Отчет.Добавить(); + СтрокаСПустымЗначением[Колонка.Имя] = "?"; + + // Действие и Проверка + Ожидаем.Что(Отчет.ЭтоЧисловаяКолонка(Колонка)).ЭтоИстина(); + +КонецПроцедуры + &Тест Процедура ТестДолжен_ИсключатьСкрытыеКолонкиИзВидимогоПредставленияОтчета() Экспорт @@ -161,12 +202,10 @@ Отчет.ДобавитьКолонку(Медиана); ПараметрыСреднего = Отчет.ПараметрыПредставленияКолонки(Среднее); - ПараметрыСреднего.ЭтоЧисло = Истина; ПараметрыСреднего.Размер = СтрДлина(Среднее.Заголовок); ПараметрыСреднего.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(1); ПараметрыМедианы = Отчет.ПараметрыПредставленияКолонки(Медиана); - ПараметрыМедианы.ЭтоЧисло = Истина; ПараметрыМедианы.Размер = СтрДлина(Медиана.Заголовок); ПараметрыМедианы.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(1); ПараметрыМедианы.Скрыта = Истина; @@ -202,11 +241,9 @@ Отчет.ДобавитьКолонку(Медиана); ПараметрыСреднего = Отчет.ПараметрыПредставленияКолонки(Среднее); - ПараметрыСреднего.ЭтоЧисло = Истина; ПараметрыСреднего.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(1); ПараметрыМедианы = Отчет.ПараметрыПредставленияКолонки(Медиана); - ПараметрыМедианы.ЭтоЧисло = Истина; ПараметрыМедианы.ФорматнаяСтрока = ПредставленияПоказателейБенчмарков.ФорматнаяСтрокаЧисла(1); ПараметрыМедианы.Скрыта = Истина; From b259b8f98238a304beeec5884bbecd6a3588b6ec Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov Date: Wed, 29 Apr 2026 22:37:03 +0300 Subject: [PATCH 3/5] =?UTF-8?q?fix:=20=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D1=8F=D1=82=D1=8C=20=D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6?= =?UTF-8?q?=D0=BA=D1=83=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D0=BA=D0=B8=D1=85=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BB=D0=BE=D0=BD=D0=BE=D0=BA=20=D0=B2=20OneScript=201.x?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлена валидация запуска с читаемой ошибкой для пользовательских колонок под OneScript 1.x. Тесты пользовательских колонок ограничены OneScript 2.0+. --- ...20\260\321\200\320\272\320\276\320\262.os" | 38 ++++++++++++++ ...20\260\321\200\320\272\320\276\320\262.os" | 42 +++++++++++++++- ...20\260\321\200\320\272\320\276\320\262.os" | 50 +++++++++++++++++++ ...20\260\321\200\320\272\320\276\320\262.os" | 8 +++ 4 files changed, 137 insertions(+), 1 deletion(-) diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 9d4c843..815ae13 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -179,10 +179,48 @@ КонецФункции +// Возвращает признак пользовательской колонки отчета. +// +// Параметры: +// ИмяКолонки - Строка +// +// Возвращаемое значение: +// Булево +Функция ЭтоПользовательскаяКолонка(ИмяКолонки) Экспорт + + ИмяКолонки = НормализоватьИмяКолонки(ИмяКолонки); + + Возврат Не ЭтоСтандартнаяКолонка(ИмяКолонки) + И Не КолонкаОтчетаБенчмарковПараметр.ЭтоИмяКолонки(ИмяКолонки) + И Не КолонкаОтчетаБенчмарковПроцентиль.ЭтоИмяКолонки(ИмяКолонки); + +КонецФункции + #КонецОбласти #Область СлужебныеПроцедурыИФункции +Функция ЭтоСтандартнаяКолонка(ИмяКолонки) + + Возврат ИмяКолонки = Метод + Или ИмяКолонки = Среднее + Или ИмяКолонки = СтандартноеОтклонение + Или ИмяКолонки = СтандартнаяОшибка + Или ИмяКолонки = Медиана + Или ИмяКолонки = НижнийКвартиль + Или ИмяКолонки = ВерхнийКвартиль + Или ИмяКолонки = ОперацийВСекунду + Или ИмяКолонки = Эталон + Или ИмяКолонки = КоэффициентПроизводительности + Или ИмяКолонки = RatioSD + Или ИмяКолонки = Категория + Или ИмяКолонки = ВыделяемаяПамять + Или ИмяКолонки = Мин + Или ИмяКолонки = Макс + Или ИмяКолонки = ВерсияИсполняющейСреды; + +КонецФункции + Функция ПолучитьМодульПользовательскойКолонки(ИмяМодуля) Попытка diff --git "a/src/BenchmarkOneScript/core/running/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\320\260\320\273\320\270\320\264\320\260\321\202\320\276\321\200\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/running/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\320\260\320\273\320\270\320\264\320\260\321\202\320\276\321\200\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 0125ac8..8fb5c0b 100644 --- "a/src/BenchmarkOneScript/core/running/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\320\260\320\273\320\270\320\264\320\260\321\202\320\276\321\200\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/running/\320\232\320\273\320\260\321\201\321\201\321\213/\320\222\320\260\320\273\320\270\320\264\320\260\321\202\320\276\321\200\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -37,7 +37,8 @@ // 2. Единообразие типов бенчмарков (все из одного класса) // 3. Уникальность эталонной исполняющей среды (не более одной) // 4. Уникальность эталонных бенчмарков в пределах категории -// 5. Сериализуемость всех параметров (примитивные типы) +// 5. Поддержка пользовательских колонок текущей версией OneScript +// 6. Сериализуемость всех параметров (примитивные типы) // // Возвращаемое значение: // Булево - Истина, если конфигурация корректна и запуск возможен; @@ -50,6 +51,7 @@ ПроверитьОднородностьТиповБенчмарков(); ПроверитьУникальностьЭталоннойСреды(); ПроверитьУникальностьЭталонныхБенчмарков(); + ПроверитьПоддержкуПользовательскихКолонок(); ПроверитьСериализуемостьПараметров(); Результат = _НайденныеОшибки.Количество() = 0; @@ -186,6 +188,44 @@ КонецПроцедуры +// Проверяет поддержку пользовательских колонок текущей версией OneScript. +Процедура ПроверитьПоддержкуПользовательскихКолонок() + + ТекущаяВерсияOneScript = Новый СистемнаяИнформация().Версия; + Если Не ЭтоOneScript1(ТекущаяВерсияOneScript) Тогда + Возврат; + КонецЕсли; + + Если Не ЕстьПользовательскиеКолонки() Тогда + Возврат; + КонецЕсли; + + ДобавитьОшибку(СтрШаблон( + "Пользовательские колонки отчета поддерживаются только в OneScript 2.0 и выше. " + + "Текущая версия OneScript: %1.", + ТекущаяВерсияOneScript + )); + +КонецПроцедуры + +Функция ЕстьПользовательскиеКолонки() + + Для Каждого ИмяКолонки Из _Конфигурация.Колонки() Цикл + Если Не КолонкиОтчетаБенчмарков.ЭтоПользовательскаяКолонка(ИмяКолонки) Тогда + Продолжить; + КонецЕсли; + + Возврат Истина; + КонецЦикла; + + Возврат Ложь; + +КонецФункции + +Функция ЭтоOneScript1(Версия) + Возврат СтрНачинаетсяС(Версия, "1."); +КонецФункции + // Проверяет сериализуемость всех параметров конфигурации и бенчмарков. // // Все параметры должны иметь примитивные типы данных для корректной сериализации diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\230\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\230\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index fa02c43..63c80b4 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\230\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\230\320\255\320\272\321\201\320\277\320\276\321\200\321\202\320\260\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -222,6 +222,10 @@ Процедура ТестДолжен_ДобавитьПользовательскуюКолонкуВКонфигурациюИОтчет() Экспорт // Подготовка + Если ТестированиеБенчмарков.ЭтоOneScript1() Тогда + Возврат; + КонецЕсли; + Тип = Тип("БенчмаркСПользовательскойКолонкой"); Конфигурация = Новый КонфигурацияБенчмарков(Тип); @@ -242,6 +246,10 @@ Процедура ТестДолжен_АвтоматическиОпределитьПользовательскуюКолонкуКакЧисловую() Экспорт // Подготовка + Если ТестированиеБенчмарков.ЭтоOneScript1() Тогда + Возврат; + КонецЕсли; + Тип = Тип("БенчмаркСПользовательскойЧисловойКолонкой"); Конфигурация = Новый КонфигурацияБенчмарков(Тип); @@ -279,6 +287,10 @@ Процедура ТестДолжен_НастроитьВычислениеПользовательскойКолонкиЧерезАдаптер() Экспорт // Подготовка + Если ТестированиеБенчмарков.ЭтоOneScript1() Тогда + Возврат; + КонецЕсли; + Колонка = КолонкиОтчетаБенчмарков.СоздатьПользовательскую("Пользовательская"); // Действие @@ -294,6 +306,10 @@ Процедура ТестДолжен_НастроитьПредставлениеПользовательскойКолонкиЧерезАдаптер() Экспорт // Подготовка + Если ТестированиеБенчмарков.ЭтоOneScript1() Тогда + Возврат; + КонецЕсли; + РезультатЗапускаКейса = ТестовыйРезультатЗапускаКейса("10, 20, 30"); Колонка = КолонкиОтчетаБенчмарков.СоздатьПользовательскую("Пользовательская"); @@ -330,6 +346,10 @@ Процедура ТестДолжен_ИзвлечьПользовательскуюКолонкуИзАннотации() Экспорт // Подготовка + Если ТестированиеБенчмарков.ЭтоOneScript1() Тогда + Возврат; + КонецЕсли; + Тип = Тип("БенчмаркСПользовательскойКолонкой"); // Действие @@ -345,6 +365,10 @@ Процедура ТестДолжен_ДобавитьПользовательскуюКолонкуВКонфигурацию() Экспорт // Подготовка + Если ТестированиеБенчмарков.ЭтоOneScript1() Тогда + Возврат; + КонецЕсли; + Тип = Тип("ПустойБенчмарк"); // Действие @@ -357,6 +381,32 @@ КонецПроцедуры +&Тест +Процедура ТестДолжен_ВыброситьЧитаемоеИсключениеПриЗапускеСПользовательскойКолонкойВOneScript1() Экспорт + + // Подготовка + Если Не ТестированиеБенчмарков.ЭтоOneScript1() Тогда + Возврат; + КонецЕсли; + + Тип = Тип("ПустойБенчмарк"); + + Конфигурация = Новый КонфигурацияБенчмарков(Тип); + ТестированиеБенчмарков.НастроитьКонфигурациюПодТесты(Конфигурация); + Конфигурация.ДобавитьКолонку("Пользовательская"); + + ПараметрыЗапуска = Новый Массив(); + ПараметрыЗапуска.Добавить(Тип); + ПараметрыЗапуска.Добавить(Конфигурация); + + // Действие и Проверка + Ожидаем + .Что(Бенчмаркинг) + .Метод("Запустить", ПараметрыЗапуска) + .ВыбрасываетИсключение("Пользовательские колонки отчета поддерживаются только в OneScript 2.0 и выше."); + +КонецПроцедуры + &Тест Процедура ТестДолжен_УстановитьКаталогАртефактов() Экспорт diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 9595d04..266688e 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -55,6 +55,10 @@ Процедура ТестДолжен_ДобавитьПользовательскуюКолонкуВОтчетПоИмениМодуля() Экспорт // Подготовка + Если ТестированиеБенчмарков.ЭтоOneScript1() Тогда + Возврат; + КонецЕсли; + Отчет = Новый ОтчетБенчмарков(); ИмяМодуляКолонки = "КолонкаОтчетаБенчмарковПользовательская"; @@ -272,6 +276,10 @@ Процедура ТестДолжен_ИспользоватьРезультатЗапускаКейсаСтрокиВMarkdownПредставлении() Экспорт // Подготовка + Если ТестированиеБенчмарков.ЭтоOneScript1() Тогда + Возврат; + КонецЕсли; + Колонка = КолонкиОтчетаБенчмарков.СоздатьПользовательскую("Пользовательская"); Отчет = Новый ОтчетБенчмарков(); From c50e0448610a105e7829b1567879516f59483c44 Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov Date: Wed, 29 Apr 2026 22:46:16 +0300 Subject: [PATCH 4/5] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\234\320\265\321\202\321\200\320\270\320\272\320\270.md" | 2 +- ...20\265\320\272\321\203\320\275\320\264\320\260\321\205.os" | 4 ++-- ...21\207\320\274\320\260\321\200\320\272\320\276\320\262.os" | 4 +--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git "a/docs/\320\234\320\265\321\202\321\200\320\270\320\272\320\270.md" "b/docs/\320\234\320\265\321\202\321\200\320\270\320\272\320\270.md" index d3d10eb..114c9e2 100644 --- "a/docs/\320\234\320\265\321\202\321\200\320\270\320\272\320\270.md" +++ "b/docs/\320\234\320\265\321\202\321\200\320\270\320\272\320\270.md" @@ -103,7 +103,7 @@ Пользовательские колонки позволяют добавить в отчет собственные вычисляемые показатели. Возможность доступна только в **OneScript 2.0.0 и новее**. -Модуль пользовательской колонки должен быть заранее доступен в процессе выполнения бенчмарка, например через `#Использовать "./customColumns"` и называться `КолонкаОтчетаБенчмарков<ИмяКолонки>`. Сам модуль должен реализовывать интерфейс `ИнтерфейсКолонкиОтчетаБенчмарков`. +Модуль пользовательской колонки должен быть заранее доступен в процессе выполнения бенчмарка, например через `#Использовать "./customColumns"` и называться `КолонкаОтчетаБенчмарков<ИмяКолонки>`. Сам модуль должен реализовывать интерфейс [`ИнтерфейсКолонкиОтчетаБенчмарков`](../src/BenchmarkOneScript/core/reporting/Модули/ИнтерфейсКолонкиОтчетаБенчмарков.os). #### Реализация модуля колонки diff --git "a/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\240\320\260\320\267\320\274\320\260\321\205\320\222\321\200\320\265\320\274\320\265\320\275\320\270\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" "b/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\240\320\260\320\267\320\274\320\260\321\205\320\222\321\200\320\265\320\274\320\265\320\275\320\270\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" index 23ede43..9d80ad8 100644 --- "a/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\240\320\260\320\267\320\274\320\260\321\205\320\222\321\200\320\265\320\274\320\265\320\275\320\270\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" +++ "b/samples/customColumns/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\260\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262\320\240\320\260\320\267\320\274\320\260\321\205\320\222\321\200\320\265\320\274\320\265\320\275\320\270\320\222\320\234\320\270\320\273\320\273\320\270\321\201\320\265\320\272\321\203\320\275\320\264\320\260\321\205.os" @@ -12,7 +12,7 @@ Функция Значение(РезультатЗапускаКейса, Колонка) Экспорт // BSLLS:UnusedParameters-off - СтатистикаВМиллисекундах = РезультатЗапускаКейса.Статистика.ВНаносекунды(); - Возврат СтатистикаВМиллисекундах.Макс - СтатистикаВМиллисекундах.Мин; + Статистика = РезультатЗапускаКейса.Статистика.ВНаносекунды(); + Возврат Статистика.Макс - Статистика.Мин; КонецФункции diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index bcb31df..4f61f26 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -463,6 +463,4 @@ КонецПроцедуры -#КонецОбласти - -ТестДолжен_ЗапуститьБенчмаркВРазныхИсполняющихСредах() \ No newline at end of file +#КонецОбласти \ No newline at end of file From 930eff1fec708efdb7aa723dd01122883b39b7cc Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov Date: Wed, 29 Apr 2026 23:45:29 +0300 Subject: [PATCH 5/5] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\261\321\213\321\202\320\270\320\271.md" | 1 - ...21\200\320\276\320\262\320\276\320\272.os" | 1 - samples/benchmarks/features/README.md | 1 - ...20\260\321\200\320\272\320\276\320\262.os" | 106 ++++++++++++++++++ ...20\260\321\200\320\272\320\276\320\262.os" | 1 - ...20\260\321\200\320\272\320\276\320\262.os" | 1 - ...20\260\321\200\320\272\320\276\320\262.os" | 1 - ...20\260\321\200\320\272\320\276\320\262.os" | 1 - ...20\260\321\200\320\272\320\276\320\262.os" | 1 - ...20\260\321\200\320\272\320\276\320\262.os" | 1 - ...20\260\321\200\320\272\320\276\320\262.os" | 1 - ...20\260\321\200\320\272\320\276\320\262.os" | 5 +- ...20\260\321\200\320\272\320\276\320\262.os" | 1 - ...20\260\321\200\320\272\320\276\320\262.os" | 1 - 14 files changed, 109 insertions(+), 14 deletions(-) diff --git "a/docs/\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.md" "b/docs/\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.md" index 6e1424a..7535b84 100644 --- "a/docs/\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.md" +++ "b/docs/\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.md" @@ -277,4 +277,3 @@ КонецЦикла; КонецПроцедуры ``` - diff --git "a/samples/benchmarks/examples/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\276\321\200\321\202\320\270\321\200\320\276\320\262\320\276\320\272.os" "b/samples/benchmarks/examples/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\276\321\200\321\202\320\270\321\200\320\276\320\262\320\276\320\272.os" index c713b49..8b61449 100644 --- "a/samples/benchmarks/examples/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\276\321\200\321\202\320\270\321\200\320\276\320\262\320\276\320\272.os" +++ "b/samples/benchmarks/examples/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\276\321\200\321\202\320\270\321\200\320\276\320\262\320\276\320\272.os" @@ -713,7 +713,6 @@ КонецПроцедуры - // Поразрядная сортировка (LSD Radix-256) - O(d·(n+b)), где d=2, b=256. // Два прохода по основанию 256: сначала младшие 8 бит, затем старшие. // Покрывает значения [0..65535]. Стабильная, не основана на сравнениях. diff --git a/samples/benchmarks/features/README.md b/samples/benchmarks/features/README.md index 634b2bf..b91912b 100644 --- a/samples/benchmarks/features/README.md +++ b/samples/benchmarks/features/README.md @@ -21,4 +21,3 @@ benchos run ./БенчмаркБазовый.os # Запуск всех бенчмарков в текущем каталоге benchos run . ``` - diff --git "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 815ae13..bc3853b 100644 --- "a/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/reporting/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\273\320\276\320\275\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -21,86 +21,185 @@ #Область ПрограммныйИнтерфейс +// Создает колонку отчета с именем метода бенчмарка. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьМетод() Экспорт Возврат СоздатьСтандартнуюКолонку(Метод, КолонкаОтчетаБенчмарковМетод); КонецФункции +// Создает колонку отчета со средним временем выполнения. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьСреднее() Экспорт Возврат СоздатьСтандартнуюКолонку(Среднее, КолонкаОтчетаБенчмарковСреднее); КонецФункции +// Создает колонку отчета со стандартным отклонением. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьСтандартноеОтклонение() Экспорт Возврат СоздатьСтандартнуюКолонку(СтандартноеОтклонение, КолонкаОтчетаБенчмарковСтандартноеОтклонение); КонецФункции +// Создает колонку отчета со стандартной ошибкой. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьСтандартнаяОшибка() Экспорт Возврат СоздатьСтандартнуюКолонку(СтандартнаяОшибка, КолонкаОтчетаБенчмарковСтандартнаяОшибка); КонецФункции +// Создает колонку отчета с медианой времени выполнения. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьМедиана() Экспорт Возврат СоздатьСтандартнуюКолонку(Медиана, КолонкаОтчетаБенчмарковМедиана); КонецФункции +// Создает колонку отчета с нижним квартилем времени выполнения. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьНижнийКвартиль() Экспорт Возврат СоздатьСтандартнуюКолонку(НижнийКвартиль, КолонкаОтчетаБенчмарковНижнийКвартиль); КонецФункции +// Создает колонку отчета с верхним квартилем времени выполнения. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьВерхнийКвартиль() Экспорт Возврат СоздатьСтандартнуюКолонку(ВерхнийКвартиль, КолонкаОтчетаБенчмарковВерхнийКвартиль); КонецФункции +// Создает колонку отчета с количеством операций в секунду. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьОперацийВСекунду() Экспорт Возврат СоздатьСтандартнуюКолонку(ОперацийВСекунду, КолонкаОтчетаБенчмарковОперацийВСекунду); КонецФункции +// Создает колонку отчета с признаком эталонного бенчмарка. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьЭталон() Экспорт Возврат СоздатьСтандартнуюКолонку(Эталон, КолонкаОтчетаБенчмарковЭталон); КонецФункции +// Создает колонку отчета с коэффициентом производительности относительно эталона. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьКоэффициентПроизводительности() Экспорт Возврат СоздатьСтандартнуюКолонку(КоэффициентПроизводительности, КолонкаОтчетаБенчмарковКоэффициентПроизводительности); КонецФункции +// Создает колонку отчета с отношением стандартного отклонения к среднему. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьRatioSD() Экспорт Возврат СоздатьСтандартнуюКолонку(RatioSD, КолонкаОтчетаБенчмарковRatioSD); КонецФункции +// Создает колонку отчета с категорией бенчмарка. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьКатегория() Экспорт Возврат СоздатьСтандартнуюКолонку(Категория, КолонкаОтчетаБенчмарковКатегория); КонецФункции +// Создает колонку отчета с объемом выделяемой памяти. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьВыделяемаяПамять() Экспорт Возврат СоздатьСтандартнуюКолонку(ВыделяемаяПамять, КолонкаОтчетаБенчмарковВыделяемаяПамять); КонецФункции +// Создает колонку отчета с минимальным временем выполнения. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьМин() Экспорт Возврат СоздатьСтандартнуюКолонку(Мин, КолонкаОтчетаБенчмарковМин); КонецФункции +// Создает колонку отчета с максимальным временем выполнения. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьМакс() Экспорт Возврат СоздатьСтандартнуюКолонку(Макс, КолонкаОтчетаБенчмарковМакс); КонецФункции +// Создает колонку отчета для указанного процентиля времени выполнения. +// +// Параметры: +// Процентиль - Число +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьПроцентиль(Процентиль) Экспорт Возврат СоздатьСтандартнуюКолонку(Процентиль, КолонкаОтчетаБенчмарковПроцентиль, Процентиль); КонецФункции +// Возвращает имя колонки отчета для указанного процентиля. +// +// Параметры: +// Процентиль - Число +// +// Возвращаемое значение: +// Строка Функция Процентиль(Процентиль) Экспорт Возврат КолонкаОтчетаБенчмарковПроцентиль.ИмяКолонки(Процентиль); КонецФункции +// Создает колонку отчета для значения параметра бенчмарка. +// +// Параметры: +// ИмяПараметра - Строка +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьПараметр(ИмяПараметра) Экспорт Возврат СоздатьСтандартнуюКолонку("Параметр", КолонкаОтчетаБенчмарковПараметр, ИмяПараметра); КонецФункции +// Возвращает имя колонки отчета для указанного параметра бенчмарка. +// +// Параметры: +// ИмяПараметра - Строка +// +// Возвращаемое значение: +// Строка Функция Параметр(ИмяПараметра) Экспорт Возврат КолонкаОтчетаБенчмарковПараметр.ИмяКолонки(ИмяПараметра); КонецФункции +// Создает колонку отчета с версией исполняющей среды. +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьВерсияИсполняющейСреды() Экспорт Возврат СоздатьСтандартнуюКолонку(ВерсияИсполняющейСреды, КолонкаОтчетаБенчмарковВерсияИсполняющейСреды); КонецФункции +// Создает пользовательскую колонку отчета. +// +// Параметры: +// ИмяКолонки - Строка +// +// Возвращаемое значение: +// КолонкаОтчетаБенчмарков Функция СоздатьПользовательскую(ИмяКолонки) Экспорт ИмяМодуля = ПрефиксМодуляПользовательскойКолонки() + НормализоватьИмяКолонки(ИмяКолонки); @@ -168,6 +267,13 @@ КонецФункции +// Возвращает имя пользовательской колонки отчета без префикса модуля колонки. +// +// Параметры: +// ИмяКолонки - Строка +// +// Возвращаемое значение: +// Строка Функция НормализоватьИмяКолонки(ИмяКолонки) Экспорт ПрефиксМодуля = ПрефиксМодуляПользовательскойКолонки(); diff --git "a/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\221\320\265\320\267\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\221\320\265\320\267\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index cb8ebe0..d1f2db8 100644 --- "a/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\221\320\265\320\267\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/fixtures/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\221\320\265\320\267\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -13,4 +13,3 @@ КонецПроцедуры _СообщенияЛога = Новый Массив; - diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\217\320\244\320\260\320\271\320\273\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\217\320\244\320\260\320\271\320\273\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index cac915d..69b0425 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\217\320\244\320\260\320\271\320\273\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\217\320\244\320\260\320\271\320\273\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -381,4 +381,3 @@ КонецФункции #КонецОбласти - diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index b4b0cdf..2f3d2cc 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -145,4 +145,3 @@ КонецПроцедуры #КонецОбласти - diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\321\202\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\321\202\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 5458e8a..e5372cb 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\321\202\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\230\321\201\321\202\320\276\321\207\320\275\320\270\320\272\320\276\320\262\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -501,4 +501,3 @@ КонецФункции #КонецОбласти - diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index b3ae0a2..854fb93 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -271,4 +271,3 @@ КонецПроцедуры #КонецОбласти - diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 7af3c9b..d5b378d 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -211,4 +211,3 @@ КонецПроцедуры #КонецОбласти - diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 0039992..5b390a2 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -160,4 +160,3 @@ КонецПроцедуры #КонецОбласти - diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 266688e..a23286f 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\232\320\276\320\273\320\276\320\275\320\276\320\272\320\236\321\202\321\207\320\265\321\202\320\260\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -1,4 +1,6 @@ -// BSLLS:LineLength-off +// BSLLS:DuplicateStringLiteral-off +// BSLLS:MagicNumber-off +// BSLLS:LineLength-off #Использовать asserts #Использовать fs @@ -317,4 +319,3 @@ КонецФункции #КонецОбласти - diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200\320\260\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200\320\260\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 9b3622b..2888834 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200\320\260\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200\320\260\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -180,4 +180,3 @@ КонецПроцедуры #КонецОбласти - diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\255\321\202\320\260\320\273\320\276\320\275\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\255\321\202\320\260\320\273\320\276\320\275\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 0412a3f..e4114ef 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\255\321\202\320\260\320\273\320\276\320\275\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\255\321\202\320\260\320\273\320\276\320\275\320\276\320\262\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -339,4 +339,3 @@ КонецПроцедуры #КонецОбласти -
"); Части.Добавить(Колонка.Заголовок); Части.Добавить("
"); - Части.Добавить(Колонка.ПредставлениеЗначения(СтрокаОтчета[Колонка.Имя], СтрокаОтчета)); + Части.Добавить(ПредставлениеЗначения); Части.Добавить("