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
Next Next commit
fix for invalid package v2
  • Loading branch information
Pazus committed Feb 4, 2017
commit e926425dc1a30cd4f3cf8ae4ef44f46741451055
16 changes: 6 additions & 10 deletions source/core/types/ut_logical_suite.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -36,39 +36,35 @@ create or replace type body ut_logical_suite as
self.items(self.items.last) := a_item;
end;

overriding member procedure do_execute(self in out nocopy ut_logical_suite, a_listener in out nocopy ut_event_listener_base) is
l_completed_without_errors boolean;
begin
l_completed_without_errors := self.do_execute(a_listener);
end;

overriding member function do_execute(self in out nocopy ut_logical_suite, a_listener in out nocopy ut_event_listener_base) return boolean is
l_suite_savepoint varchar2(30);
l_item_savepoint varchar2(30);
l_completed_without_errors boolean;
begin
ut_utils.debug_log('ut_logical_suite.execute');

a_listener.fire_before_event(ut_utils.gc_suite,self);
self.start_time := current_timestamp;

if self.get_ignore_flag() then
self.result := ut_utils.tr_ignore;
self.end_time := self.start_time;
ut_utils.debug_log('ut_logical_suite.execute - ignored');
else
a_listener.fire_before_event(ut_utils.gc_suite,self);

self.start_time := current_timestamp;

for i in 1 .. self.items.count loop
-- execute the item (test or suite)
self.items(i).do_execute(a_listener);

end loop;

self.calc_execution_result();

self.end_time := current_timestamp;

a_listener.fire_after_event(ut_utils.gc_suite,self);
end if;

a_listener.fire_after_event(ut_utils.gc_suite,self);

return l_completed_without_errors;
end;
Expand Down
1 change: 0 additions & 1 deletion source/core/types/ut_logical_suite.tps
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ create or replace type ut_logical_suite force under ut_suite_item (
member function item_index(a_name varchar2) return pls_integer,
member procedure add_item(self in out nocopy ut_logical_suite, a_item ut_suite_item),
overriding member function do_execute(self in out nocopy ut_logical_suite, a_listener in out nocopy ut_event_listener_base) return boolean,
overriding member procedure do_execute(self in out nocopy ut_logical_suite, a_listener in out nocopy ut_event_listener_base),
overriding member procedure calc_execution_result(self in out nocopy ut_logical_suite)
) not final
/
6 changes: 0 additions & 6 deletions source/core/types/ut_run.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,6 @@ create or replace type body ut_run as
return;
end;

overriding member procedure do_execute(self in out nocopy ut_run, a_listener in out nocopy ut_event_listener_base) is
l_completed_without_errors boolean;
begin
l_completed_without_errors := self.do_execute(a_listener);
end;

overriding member function do_execute(self in out nocopy ut_run, a_listener in out nocopy ut_event_listener_base) return boolean is
l_completed_without_errors boolean;
begin
Expand Down
1 change: 0 additions & 1 deletion source/core/types/ut_run.tps
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ create or replace type ut_run authid current_user under ut_suite_item (
items ut_suite_items,
constructor function ut_run( self in out nocopy ut_run, a_items ut_suite_items ) return self as result,
overriding member function do_execute(self in out nocopy ut_run, a_listener in out nocopy ut_event_listener_base) return boolean,
overriding member procedure do_execute(self in out nocopy ut_run, a_listener in out nocopy ut_event_listener_base),
overriding member procedure calc_execution_result(self in out nocopy ut_run)
)
/
91 changes: 50 additions & 41 deletions source/core/types/ut_suite.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -33,61 +33,70 @@ create or replace type body ut_suite as
l_completed_without_errors boolean;
begin
ut_utils.debug_log('ut_suite .execute');
a_listener.fire_before_event(ut_utils.gc_suite,self);

self.start_time := current_timestamp;

if self.get_ignore_flag() then
self.result := ut_utils.tr_ignore;
self.end_time := self.start_time;
ut_utils.debug_log('ut_suite .execute - ignored');
else
a_listener.fire_before_event(ut_utils.gc_suite,self);

self.start_time := current_timestamp;

l_suite_savepoint := self.create_savepoint_if_needed();

--includes listener calls for before and after actions
l_completed_without_errors := self.before_all.do_execute(self, a_listener);

if l_completed_without_errors then
for i in 1 .. self.items.count loop
l_completed_without_errors := true;

--savepoint
l_item_savepoint := self.items(i).create_savepoint_if_needed();
--before each
if l_completed_without_errors then
--includes listener calls for before and after actions
l_completed_without_errors := self.before_each.do_execute(self, a_listener);
end if;

-- execute the item (test or suite)
if l_completed_without_errors then

if self.is_valid() then

l_suite_savepoint := self.create_savepoint_if_needed();

--includes listener calls for before and after actions
l_completed_without_errors := self.before_all.do_execute(self, a_listener);

if l_completed_without_errors then
for i in 1 .. self.items.count loop
l_completed_without_errors := true;

--savepoint
l_item_savepoint := self.items(i).create_savepoint_if_needed();
--before each
if l_completed_without_errors then
--includes listener calls for before and after actions
l_completed_without_errors := self.before_each.do_execute(self, a_listener);
end if;

-- execute the item (test or suite)
if l_completed_without_errors then
l_completed_without_errors := self.items(i).do_execute(a_listener);
end if;

--after each
if l_completed_without_errors then
--includes listener calls for before and after actions
l_completed_without_errors := self.after_each.do_execute(self, a_listener);
end if;
--rollback to savepoint
self.items(i).rollback_to_savepoint(l_item_savepoint);

-- exit when not l_completed_without_errors;
end loop;
end if;

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

self.rollback_to_savepoint(l_suite_savepoint);
else
for i in 1..self.items.count loop
if self.items(i) is of(ut_test) then
l_completed_without_errors := self.items(i).do_execute(a_listener);
end if;

--after each
if l_completed_without_errors then
--includes listener calls for before and after actions
l_completed_without_errors := self.after_each.do_execute(self, a_listener);
end if;
--rollback to savepoint
self.items(i).rollback_to_savepoint(l_item_savepoint);

-- exit when not l_completed_without_errors;
end loop;
end if;

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

self.calc_execution_result();

self.rollback_to_savepoint(l_suite_savepoint);

self.end_time := current_timestamp;

a_listener.fire_after_event(ut_utils.gc_suite,self);
end if;
a_listener.fire_after_event(ut_utils.gc_suite,self);

return l_completed_without_errors;
end;
Expand Down
6 changes: 6 additions & 0 deletions source/core/types/ut_suite_item.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ create or replace type body ut_suite_item as
begin
return ut_utils.int_to_boolean(self.ignore_flag);
end;

final member procedure do_execute(self in out nocopy ut_suite_item, a_listener in out nocopy ut_event_listener_base) is
l_completed_without_errors boolean;
begin
l_completed_without_errors := self.do_execute(a_listener);
end;

member function create_savepoint_if_needed return varchar2 is
l_savepoint varchar2(30);
Expand Down
2 changes: 1 addition & 1 deletion source/core/types/ut_suite_item.tps
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ create or replace type ut_suite_item under ut_suite_item_base (
member function execution_time return number,

not instantiable member function do_execute(self in out nocopy ut_suite_item, a_listener in out nocopy ut_event_listener_base) return boolean,
not instantiable member procedure do_execute(self in out nocopy ut_suite_item, a_listener in out nocopy ut_event_listener_base),
final member procedure do_execute(self in out nocopy ut_suite_item, a_listener in out nocopy ut_event_listener_base),
not instantiable member procedure calc_execution_result(self in out nocopy ut_suite_item)

)
Expand Down
6 changes: 0 additions & 6 deletions source/core/types/ut_test.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,6 @@ create or replace type body ut_test as
return l_is_valid;
end;

overriding member procedure do_execute(self in out nocopy ut_test, a_listener in out nocopy ut_event_listener_base) is
l_completed_without_errors boolean;
begin
l_completed_without_errors := self.do_execute(a_listener);
end;

overriding member function do_execute(self in out nocopy ut_test, a_listener in out nocopy ut_event_listener_base) return boolean is
l_completed_without_errors boolean;
l_savepoint varchar2(30);
Expand Down
1 change: 0 additions & 1 deletion source/core/types/ut_test.tps
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ create or replace type ut_test under ut_suite_item (
a_path varchar2 := null, a_rollback_type integer := null, a_ignore_flag boolean := false, a_before_test_proc_name varchar2 := null, a_after_test_proc_name varchar2 := null
) return self as result,
member function is_valid return boolean,
overriding member procedure do_execute(self in out nocopy ut_test, a_listener in out nocopy ut_event_listener_base),
overriding member function do_execute(self in out nocopy ut_test, a_listener in out nocopy ut_event_listener_base) return boolean,
overriding member procedure calc_execution_result(self in out nocopy ut_test)
)
Expand Down