Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d3b034d

Browse files
authored
Merge pull request #589 from utPLSQL/feature/reporters_object_model_fix
Feature/reporters object model fix
2 parents 72206f1 + 9504d1b commit d3b034d

73 files changed

Lines changed: 1157 additions & 609 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v3.0.4-develop
1+
v3.1.0-develop

examples/developer_examples/RunExampleComplexSuiteWithCustomReporter.sql

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ declare
1616
suite1 ut_logical_suite;
1717
suite2 ut_logical_suite;
1818
suite_complex ut_logical_suite;
19-
listener ut_event_listener;
19+
l_reporter ut_output_reporter_base;
20+
l_listener ut_event_listener;
2021
l_run ut_run;
2122
begin
2223
suite1 := ut_logical_suite(a_object_owner=>null, a_object_name => null, a_name => null, a_description => 'Test Suite 1', a_path => null);
@@ -44,10 +45,11 @@ begin
4445
suite_complex.items := ut_suite_items(suite1, suite2);
4546

4647
-- provide a reporter to process results
47-
listener := ut_event_listener(ut_reporters(ut_custom_reporter(a_tab_size => 2)));
48+
l_reporter := ut_custom_reporter(a_tab_size => 2);
49+
l_listener := ut_event_listener(ut_reporters(l_reporter));
4850
l_run := ut_run(ut_suite_items(suite_complex));
49-
l_run.do_execute(listener);
50-
ut_output_buffer.lines_to_dbms_output(listener.reporters(1).reporter_id,0);
51+
l_run.do_execute(l_listener);
52+
l_reporter.lines_to_dbms_output();
5153
end;
5254
/
5355

examples/developer_examples/RunExampleTestSuiteWithCompositeReporter.sql

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ set echo off
1212

1313
PROMPT Runs test report using composite reporter
1414
declare
15-
suite ut_logical_suite;
16-
listener ut_event_listener;
17-
l_run ut_run;
15+
suite ut_logical_suite;
16+
l_doc_reporter ut_output_reporter_base := ut_documentation_reporter();
17+
l_tc_reporter ut_output_reporter_base := ut_teamcity_reporter();
18+
l_listener ut_event_listener := ut_event_listener(ut_reporters(l_doc_reporter, l_tc_reporter));
19+
l_run ut_run;
1820
begin
1921
suite := ut_logical_suite(a_object_owner=>null, a_object_name => 'ut_exampletest', a_name => null, a_description => 'Test Suite Name',a_path => null);
2022

@@ -36,11 +38,10 @@ begin
3638
);
3739

3840
-- provide a reporter to process results
39-
listener := ut_event_listener(ut_reporters(ut_documentation_reporter, ut_teamcity_reporter));
4041
l_run := ut_run(ut_suite_items(suite));
41-
l_run.do_execute(listener);
42-
ut_output_buffer.lines_to_dbms_output(listener.reporters(1).reporter_id,0);
43-
ut_output_buffer.lines_to_dbms_output(listener.reporters(2).reporter_id,0);
42+
l_run.do_execute(l_listener);
43+
l_doc_reporter.lines_to_dbms_output(0,0);
44+
l_tc_reporter.lines_to_dbms_output(0,0);
4445
end;
4546
/
4647

examples/developer_examples/RunExampleTestSuiteWithCustomReporter.sql

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ set echo off
1515

1616
declare
1717
suite ut_logical_suite;
18-
listener ut_event_listener;
18+
l_reporter ut_output_reporter_base;
19+
l_listener ut_event_listener;
1920
l_run ut_run;
2021
begin
2122
-- Install ut_custom_reporter first from example folder
@@ -40,10 +41,11 @@ begin
4041
);
4142

4243
-- provide a reporter to process results tabbing each hierarcy level by tab_size
43-
listener := ut_event_listener(ut_reporters(ut_custom_reporter(a_tab_size => 2)));
44+
l_reporter := ut_custom_reporter(a_tab_size => 2);
45+
l_listener := ut_event_listener(ut_reporters(l_reporter));
4446
l_run := ut_run(ut_suite_items(suite));
45-
l_run.do_execute(listener);
46-
ut_output_buffer.lines_to_dbms_output(listener.reporters(1).reporter_id,0);
47+
l_run.do_execute(l_listener);
48+
l_reporter.lines_to_dbms_output(0,0);
4749
end;
4850
/
4951

old_tests/RunAll.sql

Lines changed: 49 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ exec ut_coverage.coverage_start_develop();
7272
@@lib/RunTest.sql ut_metadata/ut_metadata.form_name.TrimStandaloneProgramName.sql
7373

7474
@@lib/RunTest.sql ut_output_buffer/get_lines.RecievesALineFromBufferTableAndDeletes.sql
75-
@@lib/RunTest.sql ut_output_buffer/send_line.DoesNotSendLineIfNullReporterIdGiven.sql
75+
@@lib/RunTest.sql ut_output_buffer/get_lines.WaitsForMoreDataToAppearForSpecifiedTime.sql
76+
@@lib/RunTest.sql ut_output_buffer/get_lines.WaitsForTheDataToAppearForSpecifiedTime.sql
7677
@@lib/RunTest.sql ut_output_buffer/send_line.DoesNotSendLineIfNullTextGiven.sql
7778
@@lib/RunTest.sql ut_output_buffer/send_line.SendsALineIntoBufferTable.sql
7879

@@ -93,6 +94,7 @@ exec ut_coverage.coverage_start_develop();
9394
@@lib/RunTest.sql ut/ut.run.AcceptsCoverageFileList.sql
9495
@@lib/RunTest.sql ut/ut.run.AcceptsCoverageFileListWithSutePaths.sql
9596
@@lib/RunTest.sql ut/ut.run.AcceptsSutePaths.sql
97+
@@lib/RunTest.sql ut/ut.run.ExecutesSuccesfullyAnEmptySuite.sql
9698
@@lib/RunTest.sql ut/ut.run.FailsToExecuteAnInvalidPackageBody.sql
9799
@@lib/RunTest.sql ut/ut.run.function.AcceptsCoverageFileList.sql
98100
@@lib/RunTest.sql ut/ut.run.function.AcceptsCoverageFileListWithSutePaths.sql
@@ -252,6 +254,7 @@ begin
252254
'source/api/ut_runner.pkb',
253255
'source/api/ut_runner.pks',
254256
'source/core/coverage',
257+
'source/core/output_buffers',
255258
'source/core/types',
256259
'source/core/annotations/ut_annotation_manager.pkb',
257260
'source/core/annotations/ut_annotation_manager.pks',
@@ -263,12 +266,8 @@ begin
263266
'source/core/ut_expectation_processor.pks',
264267
'source/core/ut_file_mapper.pkb',
265268
'source/core/ut_file_mapper.pks',
266-
'source/core/ut_message_id_seq.sql',
267269
'source/core/ut_metadata.pkb',
268270
'source/core/ut_metadata.pks',
269-
'source/core/ut_output_buffer.pkb',
270-
'source/core/ut_output_buffer.pks',
271-
'source/core/ut_output_buffer_tmp.sql',
272271
'source/core/ut_suite_manager.pkb',
273272
'source/core/ut_suite_manager.pks',
274273
'source/core/ut_utils.pkb',
@@ -281,6 +280,12 @@ begin
281280
'source/core/coverage/ut_coverage_sources_tmp.sql',
282281
'source/core/coverage/ut_coverage_reporter_base.tpb',
283282
'source/core/coverage/ut_coverage_reporter_base.tps',
283+
'source/core/output_buffers/ut_message_id_seq.sql',
284+
'source/core/output_buffers/ut_output_buffer_base.tps',
285+
'source/core/output_buffers/ut_output_buffer_info_tmp.sql',
286+
'source/core/output_buffers/ut_output_buffer_tmp.sql',
287+
'source/core/output_buffers/ut_output_table_buffer.tpb',
288+
'source/core/output_buffers/ut_output_table_buffer.tps',
284289
'source/core/types/ut_console_reporter_base.tpb',
285290
'source/core/types/ut_console_reporter_base.tps',
286291
'source/core/types/ut_coverage_options.tps',
@@ -292,15 +297,18 @@ begin
292297
'source/core/types/ut_expectation_result.tpb',
293298
'source/core/types/ut_expectation_result.tps',
294299
'source/core/types/ut_expectation_results.tps',
295-
'source/core/coverage/ut_file_mapping.tps',
296-
'source/core/coverage/ut_file_mappings.tps',
300+
'source/core/types/ut_file_mapping.tpb',
301+
'source/core/types/ut_file_mapping.tps',
302+
'source/core/types/ut_file_mappings.tps',
297303
'source/core/types/ut_key_value_pair.tps',
298304
'source/core/types/ut_key_value_pairs.tps',
299305
'source/core/types/ut_logical_suite.tpb',
300306
'source/core/types/ut_logical_suite.tps',
301307
'source/core/types/ut_object_name.tpb',
302308
'source/core/types/ut_object_name.tps',
303309
'source/core/types/ut_object_names.tps',
310+
'source/core/types/ut_output_reporter_base.tpb',
311+
'source/core/types/ut_output_reporter_base.tps',
304312
'source/core/types/ut_reporters.tps',
305313
'source/core/types/ut_reporter_base.tpb',
306314
'source/core/types/ut_reporter_base.tps',
@@ -317,6 +325,7 @@ begin
317325
'source/core/types/ut_test.tpb',
318326
'source/core/types/ut_test.tps',
319327
'source/core/types/ut_varchar2_list.tps',
328+
'source/core/types/ut_varchar2_rows.tps',
320329
'source/expectations/data_values',
321330
'source/expectations/matchers',
322331
'source/expectations/ut_expectation.tpb',
@@ -347,6 +356,8 @@ begin
347356
'source/expectations/ut_expectation_varchar2.tps',
348357
'source/expectations/ut_expectation_yminterval.tpb',
349358
'source/expectations/ut_expectation_yminterval.tps',
359+
'source/expectations/data_values/ut_cursor_data.sql',
360+
'source/expectations/data_values/ut_data_value.tpb',
350361
'source/expectations/data_values/ut_data_value.tps',
351362
'source/expectations/data_values/ut_data_value_anydata.tpb',
352363
'source/expectations/data_values/ut_data_value_anydata.tps',
@@ -433,31 +444,34 @@ begin
433444

434445
--run for the first time to gather coverage and timings on reporters too
435446
l_reporter := ut_coverage_html_reporter(a_project_name => 'utPLSQL v3');
436-
:html_reporter_id := l_reporter.reporter_id;
437447
l_reporter.after_calling_run(l_test_run);
448+
l_reporter.finalize();
438449

439450
l_reporter := ut_coverage_sonar_reporter();
440-
:sonar_reporter_id := l_reporter.reporter_id;
441451
l_reporter.after_calling_run(l_test_run);
452+
l_reporter.finalize();
442453

443454
l_reporter := ut_coveralls_reporter();
444-
:coveralls_reporter_id := l_reporter.reporter_id;
445455
l_reporter.after_calling_run(l_test_run);
456+
l_reporter.finalize();
446457

447458
ut_coverage.coverage_stop_develop();
448459

449460
--run for the second time to get the coverage report
450461
l_reporter := ut_coverage_html_reporter(a_project_name => 'utPLSQL v3');
451-
:html_reporter_id := l_reporter.reporter_id;
452462
l_reporter.after_calling_run(l_test_run);
463+
l_reporter.finalize();
464+
:html_reporter_id := l_reporter.get_reporter_id;
453465

454466
l_reporter := ut_coverage_sonar_reporter();
455-
:sonar_reporter_id := l_reporter.reporter_id;
456467
l_reporter.after_calling_run(l_test_run);
468+
l_reporter.finalize();
469+
:sonar_reporter_id := l_reporter.get_reporter_id;
457470

458471
l_reporter := ut_coveralls_reporter();
459-
:coveralls_reporter_id := l_reporter.reporter_id;
460472
l_reporter.after_calling_run(l_test_run);
473+
l_reporter.finalize();
474+
:coveralls_reporter_id := l_reporter.get_reporter_id;
461475
end;
462476
/
463477

@@ -467,23 +481,42 @@ set termout off
467481
set feedback off
468482
set arraysize 50
469483
spool coverage.xml
470-
exec ut_output_buffer.lines_to_dbms_output(:sonar_reporter_id);
484+
declare
485+
l_reporter ut_output_reporter_base := ut_coverage_sonar_reporter();
486+
begin
487+
l_reporter.set_reporter_id(:sonar_reporter_id);
488+
l_reporter.lines_to_dbms_output(a_initial_timeout=>1, a_timeout_sec=>1);
489+
end;
490+
/
471491
spool off
472492

473493
set termout on
474494
prompt Spooling outcomes to coverage.json
475495
set termout off
476496
spool coverage.json
477-
select * from table(ut_output_buffer.get_lines(:coveralls_reporter_id));
497+
declare
498+
l_reporter ut_output_reporter_base := ut_coveralls_reporter();
499+
begin
500+
l_reporter.set_reporter_id(:coveralls_reporter_id);
501+
l_reporter.lines_to_dbms_output(a_initial_timeout=>1, a_timeout_sec=>1);
502+
end;
503+
/
478504
spool off
479505

480506
set termout on
481507
prompt Spooling outcomes to coverage.html
482508
set termout off
483509
spool coverage.html
484-
exec ut_output_buffer.lines_to_dbms_output(:html_reporter_id);
510+
declare
511+
l_reporter ut_output_reporter_base := ut_coverage_html_reporter();
512+
begin
513+
l_reporter.set_reporter_id(:html_reporter_id);
514+
l_reporter.lines_to_dbms_output(a_initial_timeout=>1, a_timeout_sec=>1);
515+
end;
516+
/
485517
spool off
486518

519+
set termout on
487520
spool stats.log
488521
exec mystats_pkg.ms_stop(1000);
489522
spool off

old_tests/helpers/utplsql_test_reporter.typ

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
create or replace type utplsql_test_reporter under ut_reporter_base(
1+
create or replace type utplsql_test_reporter under ut_output_reporter_base(
22
constructor function utplsql_test_reporter(self in out nocopy utplsql_test_reporter) return self as result,
33
overriding member procedure after_calling_run(self in out nocopy utplsql_test_reporter, a_run in ut_run)
44
)
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
set termout off
2+
create or replace package empty_suite as
3+
-- %suite
4+
5+
procedure not_a_test;
6+
end;
7+
/
8+
create or replace package body empty_suite as
9+
procedure not_a_test is begin null; end;
10+
end;
11+
/
12+
set termout on
13+
declare
14+
l_result integer;
15+
begin
16+
select *
17+
into l_result
18+
from table(ut.run('empty_suite',utplsql_test_reporter()));
19+
--Assert
20+
if l_result = ut_utils.tr_error then
21+
:test_result := ut_utils.tr_success;
22+
else
23+
dbms_output.put_line('expected failure of ''empty_suite'' got: '''||ut_utils.test_result_to_char(l_result)||'''' );
24+
end if;
25+
end;
26+
/
27+
28+
set termout off
29+
drop package empty_suite;
30+
set termout on
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--Arrange
2+
declare
3+
l_expected department$ := department$('hr');
4+
l_actual department$ := department$('hr');
5+
l_result integer;
6+
begin
7+
--Act
8+
ut.expect( anydata.convertObject(l_actual) ).not_to_equal( anydata.convertObject(l_expected) );
9+
l_result := ut_expectation_processor.get_status();
10+
--Assert
11+
if l_result = ut_utils.tr_failure then
12+
:test_result := ut_utils.tr_success;
13+
else
14+
dbms_output.put_line('expected: '''||ut_utils.tr_success||''', got: '''||l_result||'''' );
15+
end if;
16+
end;
17+
/

old_tests/ut_expectations/ut.expect.to_be_false.GivesFailureWhenExpessionIsNotBoolean.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ declare
55
begin
66
--Act
77
ut.expect( 1 ).to_( be_false() );
8+
ut.expect( 1 ).not_to( be_true() );
89
l_result := ut_expectation_processor.get_status();
910
--Assert
1011
if nvl(:test_result, ut_utils.tr_success) = ut_utils.tr_success and l_result = ut_utils.tr_failure then

old_tests/ut_expectations/ut.expect.to_be_false.GivesFailureWhenExpessionIsNull.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ declare
55
begin
66
--Act
77
ut.expect( 1 = null ).to_be_false();
8+
ut.expect( 1 = null ).not_to_be_true();
89
l_result := ut_expectation_processor.get_status();
910
--Assert
1011
if nvl(:test_result, ut_utils.tr_success) = ut_utils.tr_success and l_result = ut_utils.tr_failure then

0 commit comments

Comments
 (0)