Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
introduced warning concept
  • Loading branch information
Pazus committed Feb 17, 2017
commit 9caa87040e0371ee1eb9d7c79facad039c26f146
7 changes: 7 additions & 0 deletions source/core/types/ut_event_listener.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,13 @@ create or replace type body ut_event_listener is
end if;
end loop;

end fire_event;

overriding member procedure save_warning(self in out nocopy ut_event_listener, a_item ut_suite_item_base, a_message varchar2) is
begin
for i in 1..self.reporters.count loop
self.reporters(i).save_warning(a_item, a_message);
end loop;
end;

end;
Expand Down
3 changes: 2 additions & 1 deletion source/core/types/ut_event_listener.tps
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ create or replace type ut_event_listener under ut_event_listener_base(
constructor function ut_event_listener(self in out nocopy ut_event_listener, a_reporters ut_reporters) return self as result,
overriding member procedure fire_before_event(self in out nocopy ut_event_listener, a_event_name varchar2, a_item ut_suite_item_base),
overriding member procedure fire_after_event(self in out nocopy ut_event_listener, a_event_name varchar2, a_item ut_suite_item_base),
overriding member procedure fire_event(self in out nocopy ut_event_listener, a_event_timing varchar2, a_event_name varchar2, a_item ut_suite_item_base)
overriding member procedure fire_event(self in out nocopy ut_event_listener, a_event_timing varchar2, a_event_name varchar2, a_item ut_suite_item_base),
overriding member procedure save_warning(self in out nocopy ut_event_listener, a_item ut_suite_item_base, a_message varchar2)
)
/
5 changes: 3 additions & 2 deletions source/core/types/ut_event_listener_base.tps
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
create or replace type ut_event_listener_base as object(
create or replace type ut_event_listener_base as object(
/*
utPLSQL - Version X.X.X.X
Copyright 2016 - 2017 utPLSQL Project
Expand All @@ -18,6 +18,7 @@ create or replace type ut_event_listener_base as object(
name varchar2(250),
member procedure fire_before_event(self in out nocopy ut_event_listener_base, a_event_name varchar2, a_item ut_suite_item_base),
member procedure fire_after_event(self in out nocopy ut_event_listener_base, a_event_name varchar2, a_item ut_suite_item_base),
member procedure fire_event(self in out nocopy ut_event_listener_base, a_event_timing varchar2, a_event_name varchar2, a_item ut_suite_item_base)
member procedure fire_event(self in out nocopy ut_event_listener_base, a_event_timing varchar2, a_event_name varchar2, a_item ut_suite_item_base),
member procedure save_warning(self in out nocopy ut_event_listener_base,a_item ut_suite_item_base, a_message varchar2)
) not final not instantiable
/
7 changes: 7 additions & 0 deletions source/core/types/ut_reporter_base.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ create or replace type body ut_reporter_base is
self.self_type := a_self_type;
self.reporter_id := sys_guid();
self.start_date := sysdate();
self.warnings := ut_varchar2_list();
return;
end;

Expand Down Expand Up @@ -131,5 +132,11 @@ create or replace type body ut_reporter_base is
begin
ut_output_buffer.close(self);
end;

member procedure save_warning(self in out nocopy ut_reporter_base, a_item ut_suite_item_base, a_message varchar2) is
begin
self.warnings.extend;
self.warnings(self.warnings.last) := a_message;
end;
end;
/
5 changes: 4 additions & 1 deletion source/core/types/ut_reporter_base.tps
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ create or replace type ut_reporter_base force authid current_user as object(
self_type varchar2(250),
reporter_id raw(32),
start_date date,
warnings ut_varchar2_list,
final member procedure init(self in out nocopy ut_reporter_base, a_self_type varchar2),
final member function get_reporter_id(self in out nocopy ut_reporter_base) return raw,

Expand Down Expand Up @@ -59,7 +60,9 @@ create or replace type ut_reporter_base force authid current_user as object(
member procedure after_calling_suite(self in out nocopy ut_reporter_base, a_suite in ut_logical_suite),

-- run hooks continued
member procedure after_calling_run (self in out nocopy ut_reporter_base, a_run in ut_run)
member procedure after_calling_run (self in out nocopy ut_reporter_base, a_run in ut_run),

member procedure save_warning(self in out nocopy ut_reporter_base, a_item ut_suite_item_base, a_message varchar2)

)
not final not instantiable
Expand Down
5 changes: 3 additions & 2 deletions source/core/types/ut_suite.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@ create or replace type body ut_suite as
l_completed_without_errors := self.after_each.do_execute(self, a_listener);

if not l_completed_without_errors then
self.items(i).fail(a_listener, 'Aftereach procedure failed:'||chr(10)||ut_assert_processor.get_asserts_results()(1).error_message);
a_listener.save_warning(self,'Aftereach procedure failed:'||chr(10)||ut_assert_processor.get_asserts_results()(1).error_message);
--self.items(i).fail(a_listener, 'Aftereach procedure failed:'||chr(10)||ut_assert_processor.get_asserts_results()(1).error_message);
end if;

else
Expand All @@ -110,7 +111,7 @@ create or replace type body ut_suite as

l_suite_step_without_errors := self.after_all.do_execute(self, a_listener);
if not l_suite_step_without_errors then
do_fail('Afterall procedure failed: '||chr(10));
a_listener.save_warning(self, 'Afterall procedure failed: '||chr(10)||ut_assert_processor.get_asserts_results()(1).error_message);
end if;
else
do_fail('Beforeall procedure failed: '||chr(10));
Expand Down
10 changes: 5 additions & 5 deletions source/core/types/ut_test.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,11 @@ create or replace type body ut_test as
l_completed_without_errors := self.before_test.do_execute(self, a_listener);

if l_completed_without_errors then
l_completed_without_errors := self.item.do_execute(self, a_listener);
end if;

if l_completed_without_errors then
l_completed_without_errors := self.after_test.do_execute(self, a_listener);
-- execute the test
self.item.do_execute(self, a_listener);
-- perform cleanup regardless of the test failure
self.after_test.do_execute(self, a_listener);
end if;

self.rollback_to_savepoint(l_savepoint);
Expand Down
16 changes: 15 additions & 1 deletion source/reporters/ut_documentation_reporter.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -116,15 +116,29 @@ create or replace type body ut_documentation_reporter is
end loop;
end if;
end;

procedure print_warnings is
begin
if self.warnings is not null and self.warnings.count>0 then
self.print_text( 'Warnings:' );
self.print_text( ' ' );
for i in 1 .. self.warnings.count loop
self.print_text(self.warnings(i));
self.print_text(' ');
end loop;
end if;
end;

begin
print_failures_details(a_run);
print_warnings();
self.print_text( 'Finished in '||a_run.execution_time||' seconds' );
l_summary_text :=
a_run.results_count.total_count || ' tests, '
||a_run.results_count.failure_count||' failed, '
||a_run.results_count.errored_count||' errored, '
||a_run.results_count.ignored_count||' ignored';
||a_run.results_count.ignored_count||' ignored.'||
case when self.warnings.count>0 then ' '||self.warnings.count||' warning(s)' end;
if a_run.results_count.failure_count > 0 then
self.print_red_text(l_summary_text);
else
Expand Down