Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
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
Removed mocking API for coverage,
Fixed failing tests for 11.2 and 12.1
Refactored some parts of tests
  • Loading branch information
jgebal committed Jun 13, 2020
commit 641d87c1cb40c260f4a7d2c2b6e6ef457ecb75ab
14 changes: 0 additions & 14 deletions source/core/coverage/ut_coverage.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ create or replace package body ut_coverage is
limitations under the License.
*/

g_coverage_run_id raw(32);
g_develop_mode boolean not null := false;
g_is_started boolean not null := false;

Expand Down Expand Up @@ -197,16 +196,6 @@ create or replace package body ut_coverage is
ut_coverage_helper_profiler.coverage_resume();
end;

procedure mock_coverage_id(
a_coverage_run_id t_coverage_run_id, a_line_coverage_id integer, a_block_coverage_id integer
) is
begin
g_develop_mode := true;
g_is_started := true;
g_coverage_run_id := a_coverage_run_id;
ut_coverage_helper.set_coverage_run_ids(a_coverage_run_id, a_line_coverage_id, a_block_coverage_id);
end;

procedure coverage_stop is
begin
if not is_develop_mode() then
Expand All @@ -224,9 +213,6 @@ create or replace package body ut_coverage is
l_line_no binary_integer;
l_coverage_options ut_coverage_options := a_coverage_options;
begin
if is_develop_mode() then
l_coverage_options.coverage_run_id := coalesce(g_coverage_run_id, l_coverage_options.coverage_run_id);
end if;
--prepare global temp table with sources
ut_event_manager.trigger_event('about to populate coverage temp table');
populate_tmp_table(l_coverage_options);
Expand Down
8 changes: 0 additions & 8 deletions source/core/coverage/ut_coverage.pks
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,6 @@ create or replace package ut_coverage authid current_user is

function is_develop_mode return boolean;

/***
* Allows overwriting of private global variable g_coverage_id
* Used internally, only for unit testing of the framework only
*/
procedure mock_coverage_id(
a_coverage_run_id t_coverage_run_id, a_line_coverage_id integer, a_block_coverage_id integer
);

procedure coverage_start(a_coverage_run_id t_coverage_run_id);

procedure coverage_stop;
Expand Down
121 changes: 8 additions & 113 deletions test/ut3_tester_helper/coverage_helper.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,17 @@ create or replace package body coverage_helper is

g_job_no integer := 0;

procedure setup_mock_coverage_id is
begin
null;
end;

procedure setup_long_name_package is
procedure create_long_name_package is
pragma autonomous_transaction;
begin
execute immediate q'[create or replace package UT3_DEVELOP.DUMMY_COVERAGE_PACKAGE_WITH_AN_AMAZINGLY_LONG_NAME_THAT_YOU_WOULD_NOT_THINK_OF_IN_REAL_LIFE_PROJECT_BECAUSE_ITS_SIMPLY_TOO_LONG is
procedure do_stuff(i_input in number);

procedure grant_myself;
end;]';
execute immediate q'[create or replace package body UT3_DEVELOP.DUMMY_COVERAGE_PACKAGE_WITH_AN_AMAZINGLY_LONG_NAME_THAT_YOU_WOULD_NOT_THINK_OF_IN_REAL_LIFE_PROJECT_BECAUSE_ITS_SIMPLY_TOO_LONG is
procedure do_stuff(i_input in number) is
begin
if i_input = 2 then dbms_output.put_line('should not get here'); else dbms_output.put_line('should get here'); end if;
end;

procedure grant_myself is
begin
execute immediate 'grant debug,execute on UT3_DEVELOP.DUMMY_COVERAGE_PACKAGE_WITH_AN_AMAZINGLY_LONG_NAME_THAT_YOU_WOULD_NOT_THINK_OF_IN_REAL_LIFE_PROJECT_BECAUSE_ITS_SIMPLY_TOO_LONG to ut3$user#';
end;

end;]';

execute immediate q'[create or replace package UT3_DEVELOP.TEST_BLOCK_DUMMY_COVERAGE is
Expand All @@ -34,36 +21,18 @@ create or replace package body coverage_helper is

--%test
procedure test_do_stuff;

procedure grant_myself;

end;]';
execute immediate q'[create or replace package body UT3_DEVELOP.TEST_BLOCK_DUMMY_COVERAGE is
procedure test_do_stuff is
begin
dummy_coverage_package_with_an_amazingly_long_name_that_you_would_not_think_of_in_real_life_project_because_its_simply_too_long.do_stuff(1);
ut.expect(1).to_equal(1);
end;

procedure grant_myself is
begin
execute immediate 'grant debug,execute on UT3_DEVELOP.TEST_BLOCK_DUMMY_COVERAGE to ut3$user#';
end;
end;]';


execute immediate 'begin UT3_DEVELOP.DUMMY_COVERAGE_PACKAGE_WITH_AN_AMAZINGLY_LONG_NAME_THAT_YOU_WOULD_NOT_THINK_OF_IN_REAL_LIFE_PROJECT_BECAUSE_ITS_SIMPLY_TOO_LONG.grant_myself(); end;';
execute immediate 'begin UT3_DEVELOP.TEST_BLOCK_DUMMY_COVERAGE.grant_myself(); end;';

commit;
end;

procedure mock_coverage_data(a_user in varchar2) is
begin
null;
end;

procedure cleanup_long_name_package is
procedure drop_long_name_package is
pragma autonomous_transaction;
begin
begin
Expand All @@ -78,14 +47,15 @@ create or replace package body coverage_helper is
end;
end;

procedure create_dummy_coverage_package is



procedure create_dummy_coverage is
pragma autonomous_transaction;
begin
execute immediate 'alter session set plsql_optimize_level=0';
execute immediate q'[create or replace package UT3_DEVELOP.DUMMY_COVERAGE is
procedure do_stuff;

procedure grant_myself;
end;]';
execute immediate q'[create or replace package body UT3_DEVELOP.DUMMY_COVERAGE is
procedure do_stuff is
Expand All @@ -96,19 +66,7 @@ create or replace package body coverage_helper is
dbms_output.put_line('should get here');
end if;
end;

procedure grant_myself is
begin
execute immediate 'grant debug,execute on UT3_DEVELOP.DUMMY_COVERAGE to ut3$user#';
execute immediate 'grant debug,execute on UT3_DEVELOP.DUMMY_COVERAGE to ut3_tester_helper';
end;
end;]';

end;

procedure create_dummy_coverage_test is
pragma autonomous_transaction;
begin
execute immediate q'[create or replace package UT3_DEVELOP.TEST_DUMMY_COVERAGE is
--%suite(dummy coverage test)
--%suitepath(coverage_testing)
Expand All @@ -118,8 +76,6 @@ create or replace package body coverage_helper is

--%test
procedure zero_coverage;

procedure grant_myself;
end;]';
execute immediate q'[create or replace package body UT3_DEVELOP.TEST_DUMMY_COVERAGE is
procedure test_do_stuff is
Expand All @@ -131,23 +87,11 @@ create or replace package body coverage_helper is
begin
null;
end;

procedure grant_myself is
begin
execute immediate 'grant debug,execute on UT3_DEVELOP.TEST_DUMMY_COVERAGE to ut3$user#';
end;
end;]';

end;

procedure grant_exec_on_cov is
pragma autonomous_transaction;
begin
execute immediate 'begin UT3_DEVELOP.DUMMY_COVERAGE.grant_myself(); end;';
execute immediate 'begin UT3_DEVELOP.TEST_DUMMY_COVERAGE.grant_myself(); end;';
end;

procedure drop_dummy_coverage_pkg is

procedure drop_dummy_coverage is
pragma autonomous_transaction;
begin
begin execute immediate q'[drop package ut3_develop.test_dummy_coverage]'; exception when others then null; end;
Expand All @@ -160,7 +104,6 @@ create or replace package body coverage_helper is
begin
execute immediate q'[create or replace package UT3_DEVELOP.DUMMY_COVERAGE_1 is
procedure do_stuff;
procedure grant_myself;
end;]';
execute immediate q'[create or replace package body UT3_DEVELOP.DUMMY_COVERAGE_1 is
procedure do_stuff is
Expand All @@ -171,36 +114,21 @@ create or replace package body coverage_helper is
dbms_output.put_line('should get here');
end if;
end;

procedure grant_myself is
begin
execute immediate 'grant debug,execute on UT3_DEVELOP.DUMMY_COVERAGE_1 to ut3$user#';
end;

end;]';
execute immediate q'[create or replace package UT3_DEVELOP.TEST_DUMMY_COVERAGE_1 is
--%suite(dummy coverage test 1)
--%suitepath(coverage_testing)

--%test
procedure test_do_stuff;

procedure grant_myself;
end;]';
execute immediate q'[create or replace package body UT3_DEVELOP.TEST_DUMMY_COVERAGE_1 is
procedure test_do_stuff is
begin
dummy_coverage_1.do_stuff;
end;

procedure grant_myself is
begin
execute immediate 'grant debug,execute on UT3_DEVELOP.TEST_DUMMY_COVERAGE_1 to ut3$user#';
end;

end;]';
execute immediate 'begin UT3_DEVELOP.DUMMY_COVERAGE_1.grant_myself(); end;';
execute immediate 'begin UT3_DEVELOP.TEST_DUMMY_COVERAGE_1.grant_myself(); end;';
end;

procedure drop_dummy_coverage_test_1 is
Expand All @@ -210,39 +138,6 @@ create or replace package body coverage_helper is
begin execute immediate q'[drop package UT3_DEVELOP.TEST_DUMMY_COVERAGE_1]'; exception when others then null; end;
end;

procedure mock_block_coverage_data(a_run_id integer,a_user in varchar2) is
c_unit_id constant integer := 1;
begin
insert into dbmspcc_runs ( run_id, run_owner, run_timestamp, run_comment)
values(a_run_id, a_user, sysdate, 'unit testing utPLSQL');

insert into dbmspcc_units ( run_id, object_id, type, owner, name,last_ddl_time)
values(a_run_id, c_unit_id, 'PACKAGE BODY', 'UT3_DEVELOP', 'DUMMY_COVERAGE_PACKAGE_WITH_AN_AMAZINGLY_LONG_NAME_THAT_YOU_WOULD_NOT_THINK_OF_IN_REAL_LIFE_PROJECT_BECAUSE_ITS_SIMPLY_TOO_LONG',sysdate);

insert into dbmspcc_blocks ( run_id, object_id, line,block,col,covered,not_feasible)
select a_run_id, c_unit_id,4,1,1,1,0 from dual union all
select a_run_id, c_unit_id,4,2,2,0,0 from dual union all
select a_run_id, c_unit_id,5,3,0,1,0 from dual union all
select a_run_id, c_unit_id,7,4,1,1,0 from dual;
end;

procedure mock_profiler_coverage_data(a_run_id integer,a_user in varchar2) is
c_unit_id constant integer := 1;
begin
insert into ut3_develop.plsql_profiler_runs ( runid, run_owner, run_date, run_comment)
values(a_run_id, a_user, sysdate, 'unit testing utPLSQL');

insert into ut3_develop.plsql_profiler_units ( runid, unit_number, unit_type, unit_owner, unit_name)
values(a_run_id, c_unit_id, 'PACKAGE BODY', 'UT3_DEVELOP', 'DUMMY_COVERAGE_PACKAGE_WITH_AN_AMAZINGLY_LONG_NAME_THAT_YOU_WOULD_NOT_THINK_OF_IN_REAL_LIFE_PROJECT_BECAUSE_ITS_SIMPLY_TOO_LONG');

insert into ut3_develop.plsql_profiler_data ( runid, unit_number, line#, total_occur, total_time)
select a_run_id, c_unit_id, 4, 1, 1 from dual union all
select a_run_id, c_unit_id, 5, 0, 0 from dual union all
select a_run_id, c_unit_id, 6, 1, 0 from dual union all
select a_run_id, c_unit_id, 7, 1, 1 from dual;
end;


procedure set_develop_mode is
begin
ut3_develop.ut_coverage.set_develop_mode(true);
Expand Down
21 changes: 4 additions & 17 deletions test/ut3_tester_helper/coverage_helper.pks
Original file line number Diff line number Diff line change
@@ -1,28 +1,15 @@
create or replace package coverage_helper is

type prof_runs_tab is table of ut3_develop.plsql_profiler_runs%rowtype;

procedure setup_mock_coverage_id;

procedure mock_coverage_data(a_user in varchar2);

procedure cleanup_long_name_package;

procedure setup_long_name_package;
procedure create_long_name_package;
procedure drop_long_name_package;

--Profiler coverage
procedure create_dummy_coverage_package;
procedure create_dummy_coverage_test;
procedure grant_exec_on_cov;
procedure mock_profiler_coverage_data(a_run_id integer,a_user in varchar2);
procedure drop_dummy_coverage_pkg;
procedure create_dummy_coverage;
procedure drop_dummy_coverage;

procedure create_dummy_coverage_test_1;
procedure drop_dummy_coverage_test_1;

--Block coverage
procedure mock_block_coverage_data(a_run_id integer,a_user in varchar2);

procedure set_develop_mode;

procedure run_standalone_coverage(a_coverage_run_id raw, a_input integer);
Expand Down
1 change: 0 additions & 1 deletion test/ut3_tester_helper/run_helper.pks
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ create or replace package run_helper is
g_run_id integer;

type t_out_buff_tab is table of ut3_develop.ut_output_buffer_tmp%rowtype;
type prof_runs_tab is table of ut3_develop.plsql_profiler_runs%rowtype;

procedure setup_cache_objects;
procedure setup_cache_objectstag;
Expand Down
11 changes: 0 additions & 11 deletions test/ut3_user/reporters/test_coverage.pkb
Original file line number Diff line number Diff line change
@@ -1,15 +1,4 @@
create or replace package body test_coverage is

procedure setup is
pragma autonomous_transaction;
begin
ut3_tester_helper.coverage_helper.create_dummy_coverage_package();
ut3_tester_helper.coverage_helper.create_dummy_coverage_test();
ut3_tester_helper.coverage_helper.grant_exec_on_cov();
ut3_tester_helper.coverage_helper.setup_mock_coverage_id();
ut3_tester_helper.coverage_helper.mock_coverage_data(user);
commit;
end;

end;
/
8 changes: 3 additions & 5 deletions test/ut3_user/reporters/test_coverage.pks
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,11 @@ create or replace package test_coverage is
gc_block_coverage_enabled constant boolean := false;
$end

--%beforeall
procedure setup;

--%beforeall(ut3_tester_helper.coverage_helper.create_test_results_table)
--%beforeall(ut3_tester_helper.coverage_helper.create_dummy_coverage)


--%afterall(ut3_tester_helper.coverage_helper.drop_dummy_coverage_pkg)
--%afterall(ut3_tester_helper.coverage_helper.cleanup_long_name_package)
--%afterall(ut3_tester_helper.coverage_helper.drop_dummy_coverage)
--%afterall(ut3_tester_helper.coverage_helper.drop_test_results_table)

end;
Expand Down
Loading