@@ -341,7 +341,7 @@ create or replace package body coverage_helper is
341341 e_exists exception;
342342 pragma exception_init ( e_exists, -955 );
343343 begin
344- execute immediate 'create table test_results (text varchar2(4000))';
344+ execute immediate 'create table test_results (id integer, text varchar2(4000))';
345345 exception
346346 when e_exists then
347347 null;
@@ -368,9 +368,10 @@ create or replace package body coverage_helper is
368368 declare
369369 l_results ut3_develop.ut_varchar2_list;
370370 begin
371- select *
371+ select text
372372 bulk collect into l_results
373- from test_results;
373+ from test_results
374+ order by id;
374375 delete from test_results;
375376 commit;
376377 :clob_results := ut3_tester_helper.main_helper.table_to_clob(l_results);
@@ -453,7 +454,7 @@ create or replace package body coverage_helper is
453454 l_result := ut3_develop.ut_coverage.get_coverage_data(l_coverage_options);
454455 ut3_develop.ut_coverage.set_develop_mode(a_develop_mode => false);
455456 ut3_develop.ut_runner.coverage_stop();
456- insert into test_results select owner||'.'||name from ut3_develop.ut_coverage_sources_tmp;
457+ insert into test_results select rownum, owner||'.'||name from ut3_develop.ut_coverage_sources_tmp;
457458 commit;
458459 end;]';
459460 l_plsql_block := replace(l_plsql_block,'{a_cov_options}',a_cov_options);
@@ -462,9 +463,10 @@ create or replace package body coverage_helper is
462463 declare
463464 l_results ut3_develop.ut_varchar2_list;
464465 begin
465- select *
466+ select text
466467 bulk collect into l_results
467- from test_results;
468+ from test_results
469+ order by id;
468470 delete from test_results;
469471 commit;
470472 :clob_results := ut3_tester_helper.main_helper.table_to_clob(l_results);
@@ -483,7 +485,13 @@ create or replace package body coverage_helper is
483485 l_plsql_block := q'[
484486 begin
485487 ut3_develop.ut_runner.coverage_start(']'||rawtohex(l_coverage_id)||q'[');
486- insert into test_results select * from table( {a_run_command} );
488+ ut3_develop.ut_coverage.set_develop_mode(a_develop_mode => true);
489+ --gather coverage on the command executed
490+ begin {a_run_command}; end;
491+ ut3_develop.ut_coverage.set_develop_mode(a_develop_mode => false);
492+ ut3_develop.ut_runner.coverage_stop();
493+ --get the actual results of the command gathering the coverage
494+ insert into test_results select rownum as id, x.* from table( {a_run_command} ) x;
487495 commit;
488496 end;]';
489497 l_plsql_block := replace(l_plsql_block,'{a_run_command}',a_run_command);
0 commit comments