From 0f1d789bcdadb9c1f1b876d209ad3cb1c9401efb Mon Sep 17 00:00:00 2001 From: lwasylow Date: Tue, 3 Apr 2018 23:23:24 +0100 Subject: [PATCH] 12.2 coverage Fixes to order of new attribute. Rename package to more meaningful name Introduce an raise an error for non existing coverage type Update tests --- source/api/ut.pkb | 106 +++++++++--------- source/api/ut.pks | 48 ++++---- source/api/ut_runner.pkb | 4 +- source/api/ut_runner.pks | 5 +- ...elper.pkb => ut_block_coverage_helper.pkb} | 2 +- ...elper.pks => ut_block_coverage_helper.pks} | 2 +- source/core/coverage/ut_coverage_block.pkb | 2 +- source/core/coverage/ut_coverage_helper.pkb | 8 +- source/core/ut_utils.pks | 5 + source/install.sql | 4 +- test/install_below_12_2.sql | 28 +++++ test/install_tests.sql | 4 + 12 files changed, 128 insertions(+), 90 deletions(-) rename source/core/coverage/{ut_block_helper.pkb => ut_block_coverage_helper.pkb} (98%) rename source/core/coverage/{ut_block_helper.pks => ut_block_coverage_helper.pks} (92%) create mode 100644 test/install_below_12_2.sql diff --git a/source/api/ut.pkb b/source/api/ut.pkb index 071a422bd..b085c53aa 100644 --- a/source/api/ut.pkb +++ b/source/api/ut.pkb @@ -106,40 +106,40 @@ create or replace package body ut is procedure run_autonomous( a_paths ut_varchar2_list, a_reporter ut_reporter_base, a_color_console integer, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_file_mappings ut_file_mappings, a_test_file_mappings ut_file_mappings, - a_include_objects ut_varchar2_list, a_exclude_objects ut_varchar2_list + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings, a_test_file_mappings ut_file_mappings, + a_include_objects ut_varchar2_list, a_exclude_objects ut_varchar2_list, a_coverage_type varchar2:=null ) is pragma autonomous_transaction; begin ut_runner.run( a_paths, ut_reporters(coalesce(a_reporter,ut_documentation_reporter())), - ut_utils.int_to_boolean(a_color_console), a_coverage_schemes,a_coverage_type, - a_source_file_mappings, a_test_file_mappings, a_include_objects, a_exclude_objects + ut_utils.int_to_boolean(a_color_console), a_coverage_schemes, a_source_file_mappings, + a_test_file_mappings, a_include_objects, a_exclude_objects, false, a_coverage_type ); rollback; end; procedure run_autonomous( a_paths ut_varchar2_list, a_reporter ut_reporter_base, a_color_console integer, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, - a_include_objects ut_varchar2_list, a_exclude_objects ut_varchar2_list + a_coverage_schemes ut_varchar2_list := null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, + a_include_objects ut_varchar2_list, a_exclude_objects ut_varchar2_list, a_coverage_type varchar2:=null ) is pragma autonomous_transaction; begin ut_runner.run( a_paths, ut_reporters(coalesce(a_reporter,ut_documentation_reporter())), - ut_utils.int_to_boolean(a_color_console), a_coverage_schemes,a_coverage_type, + ut_utils.int_to_boolean(a_color_console), a_coverage_schemes, ut_file_mapper.build_file_mappings(a_source_files), ut_file_mapper.build_file_mappings(a_test_files), - a_include_objects, a_exclude_objects + a_include_objects, a_exclude_objects, false, a_coverage_type ); rollback; end; function run( a_reporter ut_reporter_base := null, a_color_console integer := 0, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) return ut_varchar2_rows pipelined is l_reporter ut_reporter_base := coalesce(a_reporter, ut_documentation_reporter()); l_paths ut_varchar2_list := ut_varchar2_list(sys_context('userenv', 'current_schema')); @@ -148,7 +148,7 @@ create or replace package body ut is begin run_autonomous( l_paths, l_reporter, a_color_console, - a_coverage_schemes,a_coverage_type, a_source_file_mappings, a_test_file_mappings, a_include_objects, a_exclude_objects + a_coverage_schemes, a_source_file_mappings, a_test_file_mappings, a_include_objects, a_exclude_objects,a_coverage_type ); if l_reporter is of (ut_output_reporter_base) then l_lines := treat(l_reporter as ut_output_reporter_base).get_lines_cursor(); @@ -165,8 +165,8 @@ create or replace package body ut is function run( a_reporter ut_reporter_base := null, a_color_console integer := 0, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) return ut_varchar2_rows pipelined is l_reporter ut_reporter_base := coalesce(a_reporter, ut_documentation_reporter()); l_paths ut_varchar2_list := ut_varchar2_list(sys_context('userenv', 'current_schema')); @@ -174,8 +174,8 @@ create or replace package body ut is l_line varchar2(4000); begin run_autonomous( - l_paths, l_reporter, a_color_console, a_coverage_schemes,a_coverage_type, a_source_files, a_test_files, - a_include_objects, a_exclude_objects + l_paths, l_reporter, a_color_console, a_coverage_schemes, a_source_files, a_test_files, + a_include_objects, a_exclude_objects, a_coverage_type ); if l_reporter is of (ut_output_reporter_base) then l_lines := treat(l_reporter as ut_output_reporter_base).get_lines_cursor(); @@ -192,16 +192,16 @@ create or replace package body ut is function run( a_paths ut_varchar2_list, a_reporter ut_reporter_base := null, a_color_console integer := 0, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) return ut_varchar2_rows pipelined is l_reporter ut_reporter_base := coalesce(a_reporter, ut_documentation_reporter()); l_lines sys_refcursor; l_line varchar2(4000); begin run_autonomous( - a_paths, l_reporter, a_color_console, a_coverage_schemes,a_coverage_type, a_source_file_mappings, a_test_file_mappings, - a_include_objects, a_exclude_objects + a_paths, l_reporter, a_color_console, a_coverage_schemes, a_source_file_mappings, a_test_file_mappings, + a_include_objects, a_exclude_objects, a_coverage_type ); if l_reporter is of (ut_output_reporter_base) then l_lines := treat(l_reporter as ut_output_reporter_base).get_lines_cursor(); @@ -218,16 +218,16 @@ create or replace package body ut is function run( a_paths ut_varchar2_list, a_reporter ut_reporter_base := null, a_color_console integer := 0, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) return ut_varchar2_rows pipelined is l_reporter ut_reporter_base := coalesce(a_reporter, ut_documentation_reporter()); l_lines sys_refcursor; l_line varchar2(4000); begin run_autonomous( - a_paths, l_reporter, a_color_console, a_coverage_schemes,a_coverage_type, a_source_files, a_test_files, - a_include_objects, a_exclude_objects + a_paths, l_reporter, a_color_console, a_coverage_schemes, a_source_files, a_test_files, + a_include_objects, a_exclude_objects, a_coverage_type ); if l_reporter is of (ut_output_reporter_base) then l_lines := treat(l_reporter as ut_output_reporter_base).get_lines_cursor(); @@ -244,8 +244,8 @@ create or replace package body ut is function run( a_path varchar2, a_reporter ut_reporter_base := null, a_color_console integer := 0, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null,a_coverage_type varchar2:=null ) return ut_varchar2_rows pipelined is l_reporter ut_reporter_base := coalesce(a_reporter, ut_documentation_reporter()); l_paths ut_varchar2_list := ut_varchar2_list(coalesce(a_path, sys_context('userenv', 'current_schema'))); @@ -253,8 +253,8 @@ create or replace package body ut is l_line varchar2(4000); begin run_autonomous( - l_paths, l_reporter, a_color_console, a_coverage_schemes,a_coverage_type, a_source_file_mappings, a_test_file_mappings, - a_include_objects, a_exclude_objects + l_paths, l_reporter, a_color_console, a_coverage_schemes, a_source_file_mappings, a_test_file_mappings, + a_include_objects, a_exclude_objects,a_coverage_type ); if l_reporter is of (ut_output_reporter_base) then l_lines := treat(l_reporter as ut_output_reporter_base).get_lines_cursor(); @@ -271,8 +271,8 @@ create or replace package body ut is function run( a_path varchar2, a_reporter ut_reporter_base := null, a_color_console integer := 0, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) return ut_varchar2_rows pipelined is l_reporter ut_reporter_base := coalesce(a_reporter, ut_documentation_reporter()); l_paths ut_varchar2_list := ut_varchar2_list(coalesce(a_path, sys_context('userenv', 'current_schema'))); @@ -280,8 +280,8 @@ create or replace package body ut is l_line varchar2(4000); begin run_autonomous( - l_paths, l_reporter, a_color_console, a_coverage_schemes,a_coverage_type, a_source_files, a_test_files, - a_include_objects, a_exclude_objects + l_paths, l_reporter, a_color_console, a_coverage_schemes, a_source_files, a_test_files, + a_include_objects, a_exclude_objects, a_coverage_type ); if l_reporter is of (ut_output_reporter_base) then l_lines := treat(l_reporter as ut_output_reporter_base).get_lines_cursor(); @@ -298,14 +298,14 @@ create or replace package body ut is procedure run( a_paths ut_varchar2_list, a_reporter ut_reporter_base := null, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) is l_reporter ut_reporter_base := coalesce(a_reporter, ut_documentation_reporter()); begin run_autonomous( - a_paths, l_reporter, ut_utils.boolean_to_int(a_color_console), a_coverage_schemes,a_coverage_type, a_source_file_mappings, a_test_file_mappings, - a_include_objects, a_exclude_objects + a_paths, l_reporter, ut_utils.boolean_to_int(a_color_console), a_coverage_schemes, a_source_file_mappings, a_test_file_mappings, + a_include_objects, a_exclude_objects, a_coverage_type ); if l_reporter is of (ut_output_reporter_base) then treat(l_reporter as ut_output_reporter_base).lines_to_dbms_output(); @@ -315,14 +315,14 @@ create or replace package body ut is procedure run( a_paths ut_varchar2_list, a_reporter ut_reporter_base := null, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null,a_coverage_type varchar2:=null ) is l_reporter ut_reporter_base := coalesce(a_reporter, ut_documentation_reporter()); begin run_autonomous( - a_paths, l_reporter, ut_utils.boolean_to_int(a_color_console), a_coverage_schemes,a_coverage_type, a_source_files, a_test_files, - a_include_objects, a_exclude_objects + a_paths, l_reporter, ut_utils.boolean_to_int(a_color_console), a_coverage_schemes, a_source_files, a_test_files, + a_include_objects, a_exclude_objects,a_coverage_type ); if l_reporter is of (ut_output_reporter_base) then treat(l_reporter as ut_output_reporter_base).lines_to_dbms_output(); @@ -332,51 +332,51 @@ create or replace package body ut is procedure run( a_reporter ut_reporter_base := null, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) is begin ut.run( ut_varchar2_list(sys_context('userenv', 'current_schema')), a_reporter, a_color_console, - a_coverage_schemes,a_coverage_type, a_source_file_mappings, a_test_file_mappings, a_include_objects, a_exclude_objects + a_coverage_schemes, a_source_file_mappings, a_test_file_mappings, a_include_objects, a_exclude_objects, a_coverage_type ); end; procedure run( a_reporter ut_reporter_base := null, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) is begin ut.run( ut_varchar2_list(sys_context('userenv', 'current_schema')), a_reporter, a_color_console, - a_coverage_schemes,a_coverage_type, a_source_files, a_test_files, a_include_objects, a_exclude_objects + a_coverage_schemes, a_source_files, a_test_files, a_include_objects, a_exclude_objects, a_coverage_type ); end; procedure run( a_path varchar2, a_reporter ut_reporter_base := null, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) is l_paths ut_varchar2_list := ut_varchar2_list(coalesce(a_path, sys_context('userenv', 'current_schema'))); begin ut.run( - l_paths, a_reporter, a_color_console, a_coverage_schemes,a_coverage_type, a_source_file_mappings, a_test_file_mappings, - a_include_objects, a_exclude_objects + l_paths, a_reporter, a_color_console, a_coverage_schemes, a_source_file_mappings, a_test_file_mappings, + a_include_objects, a_exclude_objects, a_coverage_type ); end; procedure run( a_path varchar2, a_reporter ut_reporter_base := null, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) is l_paths ut_varchar2_list := ut_varchar2_list(coalesce(a_path, sys_context('userenv', 'current_schema'))); begin ut.run( - l_paths, a_reporter, a_color_console, a_coverage_schemes,a_coverage_type, a_source_files, a_test_files, - a_include_objects, a_exclude_objects + l_paths, a_reporter, a_color_console, a_coverage_schemes, a_source_files, a_test_files, + a_include_objects, a_exclude_objects ,a_coverage_type ); end; diff --git a/source/api/ut.pks b/source/api/ut.pks index f479f12fd..1d55951d0 100644 --- a/source/api/ut.pks +++ b/source/api/ut.pks @@ -49,74 +49,74 @@ create or replace package ut authid current_user as function run( a_reporter ut_reporter_base := null, a_color_console integer := 0, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) return ut_varchar2_rows pipelined; function run( a_reporter ut_reporter_base := null, a_color_console integer := 0, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) return ut_varchar2_rows pipelined; function run( a_paths ut_varchar2_list, a_reporter ut_reporter_base := null, a_color_console integer := 0, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) return ut_varchar2_rows pipelined; function run( a_paths ut_varchar2_list, a_reporter ut_reporter_base := null, a_color_console integer := 0, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) return ut_varchar2_rows pipelined; function run( a_path varchar2, a_reporter ut_reporter_base := null, a_color_console integer := 0, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) return ut_varchar2_rows pipelined; function run( a_path varchar2, a_reporter ut_reporter_base := null, a_color_console integer := 0, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ) return ut_varchar2_rows pipelined; procedure run( a_reporter ut_reporter_base := null, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ); procedure run( a_reporter ut_reporter_base := null, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ); procedure run( a_paths ut_varchar2_list, a_reporter ut_reporter_base := null, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ); procedure run( a_paths ut_varchar2_list, a_reporter ut_reporter_base := null, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ); procedure run( a_path varchar2, a_reporter ut_reporter_base := null, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ); procedure run( a_path varchar2, a_reporter ut_reporter_base := null, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2:=null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null + a_coverage_schemes ut_varchar2_list := null, a_source_files ut_varchar2_list, a_test_files ut_varchar2_list, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_coverage_type varchar2:=null ); /** diff --git a/source/api/ut_runner.pkb b/source/api/ut_runner.pkb index 5476f84fc..7e6bd3250 100644 --- a/source/api/ut_runner.pkb +++ b/source/api/ut_runner.pkb @@ -66,8 +66,8 @@ create or replace package body ut_runner is procedure run( a_paths ut_varchar2_list, a_reporters ut_reporters, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2 := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_fail_on_errors boolean default false + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_fail_on_errors boolean default false,a_coverage_type varchar2 := null ) is l_items_to_run ut_run; l_listener ut_event_listener; diff --git a/source/api/ut_runner.pks b/source/api/ut_runner.pks index 65341b9e0..882b520f3 100644 --- a/source/api/ut_runner.pks +++ b/source/api/ut_runner.pks @@ -57,8 +57,9 @@ create or replace package ut_runner authid current_user is */ procedure run( a_paths ut_varchar2_list, a_reporters ut_reporters, a_color_console boolean := false, - a_coverage_schemes ut_varchar2_list := null,a_coverage_type varchar2 := null , a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, - a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, a_fail_on_errors boolean default false + a_coverage_schemes ut_varchar2_list := null, a_source_file_mappings ut_file_mappings := null, a_test_file_mappings ut_file_mappings := null, + a_include_objects ut_varchar2_list := null, a_exclude_objects ut_varchar2_list := null, + a_fail_on_errors boolean default false, a_coverage_type varchar2 := null ); /** diff --git a/source/core/coverage/ut_block_helper.pkb b/source/core/coverage/ut_block_coverage_helper.pkb similarity index 98% rename from source/core/coverage/ut_block_helper.pkb rename to source/core/coverage/ut_block_coverage_helper.pkb index f0c2322ab..346b47e27 100644 --- a/source/core/coverage/ut_block_helper.pkb +++ b/source/core/coverage/ut_block_coverage_helper.pkb @@ -1,4 +1,4 @@ -create or replace package body ut_block_helper is +create or replace package body ut_block_coverage_helper is /* utPLSQL - Version 3 Copyright 2016 - 2017 utPLSQL Project diff --git a/source/core/coverage/ut_block_helper.pks b/source/core/coverage/ut_block_coverage_helper.pks similarity index 92% rename from source/core/coverage/ut_block_helper.pks rename to source/core/coverage/ut_block_coverage_helper.pks index eef041275..1b41c0ca3 100644 --- a/source/core/coverage/ut_block_helper.pks +++ b/source/core/coverage/ut_block_coverage_helper.pks @@ -1,4 +1,4 @@ -create or replace package ut_block_helper authid definer is +create or replace package ut_block_coverage_helper authid definer is /* utPLSQL - Version 3 Copyright 2016 - 2017 utPLSQL Project diff --git a/source/core/coverage/ut_coverage_block.pkb b/source/core/coverage/ut_coverage_block.pkb index a5a9801c8..cda04cb58 100644 --- a/source/core/coverage/ut_coverage_block.pkb +++ b/source/core/coverage/ut_coverage_block.pkb @@ -104,7 +104,7 @@ create or replace package body ut_coverage_block is exit when l_source_objects_crsr%notfound; --get coverage data - l_line_calls := ut_block_helper.get_raw_coverage_data_block(l_source_object.owner, l_source_object.name); + l_line_calls := ut_block_coverage_helper.get_raw_coverage_data_block(l_source_object.owner, l_source_object.name); --if there is coverage, we need to filter out the garbage (badly indicated data) if l_line_calls.count > 0 then diff --git a/source/core/coverage/ut_coverage_helper.pkb b/source/core/coverage/ut_coverage_helper.pkb index e8cb198b3..d2d296aea 100644 --- a/source/core/coverage/ut_coverage_helper.pkb +++ b/source/core/coverage/ut_coverage_helper.pkb @@ -70,9 +70,9 @@ create or replace package body ut_coverage_helper is set_coverage_type(a_coverage_type); if get_coverage_type = ut_coverage.c_block_coverage then $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then - ut_block_helper.coverage_start(a_run_comment => a_run_comment ,a_coverage_id => g_coverage_id ); + ut_block_coverage_helper.coverage_start(a_run_comment => a_run_comment ,a_coverage_id => g_coverage_id ); $else - null; + raise_application_error(ut_utils.gc_invalid_coverage_type,'Invalid coverage type requested. Please validate your Oracle install'); $end else ut_proftab_helper.coverage_start(a_run_comment => a_run_comment, a_coverage_id => g_coverage_id); @@ -123,7 +123,7 @@ create or replace package body ut_coverage_helper is g_is_started := false; if get_coverage_type = ut_coverage.c_block_coverage then $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then - ut_block_helper.coverage_stop(); + ut_block_coverage_helper.coverage_stop(); $else null; $end @@ -139,7 +139,7 @@ create or replace package body ut_coverage_helper is g_is_started := false; if get_coverage_type = ut_coverage.c_block_coverage then $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then - ut_block_helper.coverage_stop(); + ut_block_coverage_helper.coverage_stop(); $else null; $end diff --git a/source/core/ut_utils.pks b/source/core/ut_utils.pks index 1bcf0b611..7931164a1 100644 --- a/source/core/ut_utils.pks +++ b/source/core/ut_utils.pks @@ -90,6 +90,11 @@ create or replace package ut_utils authid definer is gc_invalid_version_no constant pls_integer := -20214; pragma exception_init(ex_invalid_version_no, -20214); + -- Invalid coverage type + ex_invalid_coverage_type exception; + gc_invalid_coverage_type constant pls_integer := -20215; + pragma exception_init(ex_invalid_coverage_type, -20215); + gc_max_storage_varchar2_len constant integer := 4000; gc_max_output_string_length constant integer := 4000; gc_max_input_string_length constant integer := gc_max_output_string_length - 2; --we need to remove 2 chars for quotes around string diff --git a/source/install.sql b/source/install.sql index 275b34aff..6eb9f0b22 100644 --- a/source/install.sql +++ b/source/install.sql @@ -127,14 +127,14 @@ prompt Installing DBMSPLSQL Tables objects into &&ut3_owner schema --gathering coverage @@install_component.sql 'core/coverage/ut_coverage_sources_tmp.sql' @@install_component.sql 'core/coverage/ut_coverage_helper.pks' -@@install_above_12_1.sql 'core/coverage/ut_block_helper.pks' +@@install_above_12_1.sql 'core/coverage/ut_block_coverage_helper.pks' @@install_component.sql 'core/coverage/ut_proftab_helper.pks' @@install_component.sql 'core/coverage/ut_coverage.pks' @@install_above_12_1.sql 'core/coverage/ut_coverage_block.pks' @@install_component.sql 'core/coverage/ut_coverage_proftab.pks' @@install_component.sql 'core/coverage/ut_coverage_reporter_base.tps' @@install_component.sql 'core/coverage/ut_coverage_helper.pkb' -@@install_above_12_1.sql 'core/coverage/ut_block_helper.pkb' +@@install_above_12_1.sql 'core/coverage/ut_block_coverage_helper.pkb' @@install_component.sql 'core/coverage/ut_proftab_helper.pkb' @@install_component.sql 'core/coverage/ut_coverage.pkb' @@install_above_12_1.sql 'core/coverage/ut_coverage_block.pkb' diff --git a/test/install_below_12_2.sql b/test/install_below_12_2.sql new file mode 100644 index 000000000..669ae75fc --- /dev/null +++ b/test/install_below_12_2.sql @@ -0,0 +1,28 @@ +set termout off +set echo off +spool dummy.sql +prompt whenever sqlerror exit failure rollback +spool off + + +def FILE_NAME = '&&1' +column SCRIPT_NAME new_value SCRIPT_NAME noprint + +VAR V_FILE_NAME VARCHAR2(1000); +begin + if dbms_db_version.version = 12 and dbms_db_version.release < 2 + or dbms_db_version.version < 12 + then + :V_FILE_NAME := '&&FILE_NAME'; + else + :V_FILE_NAME := 'dummy.sql'; + end if; +end; +/ +set verify off +select :V_FILE_NAME as SCRIPT_NAME from dual; +set termout on + + +@@&&SCRIPT_NAME + diff --git a/test/install_tests.sql b/test/install_tests.sql index 29a5176eb..142f26f27 100644 --- a/test/install_tests.sql +++ b/test/install_tests.sql @@ -27,6 +27,10 @@ whenever oserror exit failure rollback @@core/test_suite_manager.pks @@core/reporters/test_coverage.pks set define on +@@install_below_12_2.sql 'core/reporters/test_not_existing_block.pks' +@@install_below_12_2.sql 'core/reporters/test_not_existing_block.pkb' +set define off +set define on @@install_above_12_1.sql 'core/reporters/test_block_coverage.pks' @@install_above_12_1.sql 'core/reporters/test_coverage/test_html_block_reporter.pks' @@install_above_12_1.sql 'core/reporters/test_coverage/test_coveralls_reporter_block.pks'