From 7b5e02e23abd74b371d65a2c78e45d011c0025ad Mon Sep 17 00:00:00 2001 From: Pazus Date: Tue, 27 Jun 2017 22:34:09 +0300 Subject: [PATCH 1/4] Fixed indexing of warnings for documentation reporter --- .../reporters/ut_documentation_reporter.tpb | 5 +- tests/RunAll.sql | 1 + ...tation_reporter.reportMultipleWarnings.sql | 56 +++++++++++++++++++ 3 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 tests/ut_reporters/ut_documentation_reporter.reportMultipleWarnings.sql diff --git a/source/reporters/ut_documentation_reporter.tpb b/source/reporters/ut_documentation_reporter.tpb index 6376c6087..15114f0fa 100644 --- a/source/reporters/ut_documentation_reporter.tpb +++ b/source/reporters/ut_documentation_reporter.tpb @@ -85,6 +85,8 @@ create or replace type body ut_documentation_reporter is overriding member procedure after_calling_run(self in out nocopy ut_documentation_reporter, a_run in ut_run) as l_summary_text varchar2(4000); + l_warning_index pls_integer := 0; + procedure print_failure_for_expectation(a_expectation ut_expectation_result) is l_lines ut_varchar2_list; begin @@ -151,7 +153,8 @@ create or replace type body ut_documentation_reporter is if a_item.warnings is not null and a_item.warnings.count > 0 then for i in 1 .. a_item.warnings.count loop - self.print_text(' ' || i || ') ' || a_item.path); + l_warning_index := l_warning_index + 1; + self.print_text(' ' || l_warning_index || ') ' || a_item.path); self.lvl := self.lvl + 3; self.print_red_text(a_item.warnings(i)); self.lvl := self.lvl - 3; diff --git a/tests/RunAll.sql b/tests/RunAll.sql index 70a3480a6..fcb0c210e 100644 --- a/tests/RunAll.sql +++ b/tests/RunAll.sql @@ -134,6 +134,7 @@ exec ut_coverage.coverage_start_develop(); @@lib/RunTest.sql ut_reporters/ut_xunit_reporter.ProducesExpectedOutputs.sql @@lib/RunTest.sql ut_reporters/ut_html_reporter.UserOverrideSchemaCoverage.sql @@lib/RunTest.sql ut_reporters/ut_html_reporter.DefaultSchemaCoverage.sql +@@lib/RunTest.sql ut_reporters/ut_documentation_reporter.reportMultipleWarnings.sql @@lib/RunTest.sql ut/ut.run.AcceptsCoverageFileList.sql @@lib/RunTest.sql ut/ut.run.AcceptsCoverageFileListWithSutePaths.sql diff --git a/tests/ut_reporters/ut_documentation_reporter.reportMultipleWarnings.sql b/tests/ut_reporters/ut_documentation_reporter.reportMultipleWarnings.sql new file mode 100644 index 000000000..12581252f --- /dev/null +++ b/tests/ut_reporters/ut_documentation_reporter.reportMultipleWarnings.sql @@ -0,0 +1,56 @@ +set termout off +create or replace package tst_documrep_mult_warn as + --%suite + + --%test + procedure test1; +end; +/ + +create or replace package body tst_documrep_mult_warn as + procedure test1 is begin commit; end; +end; +/ +create or replace package tst_documrep_mult_warn2 as + --%suite + + --%test + procedure test1; +end; +/ + +create or replace package body tst_documrep_mult_warn2 as + procedure test1 is begin commit; end; +end; +/ + +set termout on + +declare + l_test_report ut_varchar2_list; + l_output_data ut_varchar2_list; + l_output varchar2(32767); + l_expected varchar2(32767); +begin + l_expected := q'[%Warnings: +%1)%tst_documrep_mult_warn% +%2)%tst_documrep_mult_warn%]'; + + --act + select * + bulk collect into l_output_data + from table(ut.run(ut_varchar2_list('tst_documrep_mult_warn','tst_documrep_mult_warn2'),ut_xunit_reporter())); + + l_output := ut_utils.table_to_clob(l_output_data); + + --assert + if l_output like l_expected then + :test_result := ut_utils.tr_success; + else + dbms_output.put_line('Actual:"'||l_output||'"'); + end if; +end; +/ + +drop package tst_documrep_mult_warn; +drop package tst_documrep_mult_warn2; From 7f13ce0db020db339b51438f5be58a7b8bcf9051 Mon Sep 17 00:00:00 2001 From: Pazus Date: Wed, 28 Jun 2017 08:12:19 +0300 Subject: [PATCH 2/4] make warnings uniformly indented --- source/reporters/ut_documentation_reporter.tpb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/reporters/ut_documentation_reporter.tpb b/source/reporters/ut_documentation_reporter.tpb index 15114f0fa..2955425d7 100644 --- a/source/reporters/ut_documentation_reporter.tpb +++ b/source/reporters/ut_documentation_reporter.tpb @@ -86,6 +86,7 @@ create or replace type body ut_documentation_reporter is overriding member procedure after_calling_run(self in out nocopy ut_documentation_reporter, a_run in ut_run) as l_summary_text varchar2(4000); l_warning_index pls_integer := 0; + l_warnings_lpad integer; procedure print_failure_for_expectation(a_expectation ut_expectation_result) is l_lines ut_varchar2_list; @@ -154,7 +155,7 @@ create or replace type body ut_documentation_reporter is if a_item.warnings is not null and a_item.warnings.count > 0 then for i in 1 .. a_item.warnings.count loop l_warning_index := l_warning_index + 1; - self.print_text(' ' || l_warning_index || ') ' || a_item.path); + self.print_text(' ' || lpad(l_warning_index, l_warnings_lpad) || ') ' || a_item.path); self.lvl := self.lvl + 3; self.print_red_text(a_item.warnings(i)); self.lvl := self.lvl - 3; @@ -180,6 +181,10 @@ create or replace type body ut_documentation_reporter is print_failures_details(a_run); print_warnings(a_run); self.print_text('Finished in ' || a_run.execution_time || ' seconds'); + + -- make all warning indexes uniformly indented + l_warnings_lpad := length(to_char(a_run.results_count.warnings_count)); + l_summary_text := a_run.results_count.total_count || ' tests, ' || a_run.results_count.failure_count || ' failed, ' || a_run.results_count.errored_count || ' errored, ' From 6fcff0e44f799594bbf436af745d76e78bd78e87 Mon Sep 17 00:00:00 2001 From: Pazus Date: Sat, 1 Jul 2017 22:24:03 +0300 Subject: [PATCH 3/4] fixed test --- .../ut_documentation_reporter.reportMultipleWarnings.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ut_reporters/ut_documentation_reporter.reportMultipleWarnings.sql b/tests/ut_reporters/ut_documentation_reporter.reportMultipleWarnings.sql index 12581252f..00a9794d2 100644 --- a/tests/ut_reporters/ut_documentation_reporter.reportMultipleWarnings.sql +++ b/tests/ut_reporters/ut_documentation_reporter.reportMultipleWarnings.sql @@ -39,7 +39,7 @@ begin --act select * bulk collect into l_output_data - from table(ut.run(ut_varchar2_list('tst_documrep_mult_warn','tst_documrep_mult_warn2'),ut_xunit_reporter())); + from table(ut.run(ut_varchar2_list('tst_documrep_mult_warn','tst_documrep_mult_warn2'),ut_documentation_reporter())); l_output := ut_utils.table_to_clob(l_output_data); From 534545db746dee55d65b232071d34396c70acc9c Mon Sep 17 00:00:00 2001 From: Pazus Date: Sat, 1 Jul 2017 22:48:32 +0300 Subject: [PATCH 4/4] fixed lpad determination --- source/reporters/ut_documentation_reporter.tpb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/source/reporters/ut_documentation_reporter.tpb b/source/reporters/ut_documentation_reporter.tpb index 2955425d7..6e95b24e7 100644 --- a/source/reporters/ut_documentation_reporter.tpb +++ b/source/reporters/ut_documentation_reporter.tpb @@ -86,7 +86,8 @@ create or replace type body ut_documentation_reporter is overriding member procedure after_calling_run(self in out nocopy ut_documentation_reporter, a_run in ut_run) as l_summary_text varchar2(4000); l_warning_index pls_integer := 0; - l_warnings_lpad integer; + -- make all warning indexes uniformly indented + c_warnings_lpad constant integer := length(to_char(a_run.results_count.warnings_count)); procedure print_failure_for_expectation(a_expectation ut_expectation_result) is l_lines ut_varchar2_list; @@ -155,7 +156,7 @@ create or replace type body ut_documentation_reporter is if a_item.warnings is not null and a_item.warnings.count > 0 then for i in 1 .. a_item.warnings.count loop l_warning_index := l_warning_index + 1; - self.print_text(' ' || lpad(l_warning_index, l_warnings_lpad) || ') ' || a_item.path); + self.print_text(' ' || lpad(l_warning_index, c_warnings_lpad) || ') ' || a_item.path); self.lvl := self.lvl + 3; self.print_red_text(a_item.warnings(i)); self.lvl := self.lvl - 3; @@ -182,9 +183,6 @@ create or replace type body ut_documentation_reporter is print_warnings(a_run); self.print_text('Finished in ' || a_run.execution_time || ' seconds'); - -- make all warning indexes uniformly indented - l_warnings_lpad := length(to_char(a_run.results_count.warnings_count)); - l_summary_text := a_run.results_count.total_count || ' tests, ' || a_run.results_count.failure_count || ' failed, ' || a_run.results_count.errored_count || ' errored, '