Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
933f41a
Added TAP reporter and synonyms
WayneNani Jul 10, 2025
c5f07a7
Larger variables to prevent failure during reporting
WayneNani Jul 10, 2025
4ed6837
Added TAP Reporter to install script
WayneNani Jul 11, 2025
5e656fe
Add TAP to expected reporters
WayneNani Jul 11, 2025
6f47bb9
Added simple test for TAP reporter
WayneNani Jul 14, 2025
641ef7d
Added failing test for TAP
WayneNani Jul 15, 2025
2500604
Added erroring Test for TAP reporter
WayneNani Jul 15, 2025
9d765a4
Added test for disabled TAP test
WayneNani Jul 16, 2025
ef7f811
Added boilerplate expression for shorter tests
WayneNani Jul 16, 2025
78cc772
Added skipped test with no reason
WayneNani Jul 18, 2025
1e78987
Add explicit spaces for correct indentation
WayneNani Jul 18, 2025
ee22669
Added test for multiple test outcomes in one go
WayneNani Jul 18, 2025
55d5b61
Added serverout for beforetest procedures
WayneNani Jul 18, 2025
e451e4b
Included print of serverout as comment
WayneNani Jul 21, 2025
fb9ef0b
Added suite name escaping
WayneNani Jul 21, 2025
f18981d
Included escaped test name
WayneNani Jul 26, 2025
f1c0f86
Included escaped skip reason
WayneNani Jul 26, 2025
33865dd
Added escaped comment test
WayneNani Jul 27, 2025
a477d68
Central use of comment procedure
WayneNani Jul 27, 2025
2e399fd
Comments shouldn't escape special characters
WayneNani Jul 29, 2025
3193f5b
Added TAP reporter to documentation
WayneNani Aug 2, 2025
707fadd
Added empty lines at the end
WayneNani Mar 16, 2026
7ddbacc
Added tests for contexts and suites
WayneNani Mar 17, 2026
3d38fbe
Added TAP subtests to documentation
WayneNani Mar 17, 2026
18af6b0
Added test for including context when it only contains skipped tests
WayneNani Mar 17, 2026
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
Included print of serverout as comment
  • Loading branch information
WayneNani committed Jul 21, 2025
commit e451e4b7bfc856daae7e17657ffc1cc483ee62b2
15 changes: 7 additions & 8 deletions source/reporters/ut_tap_reporter.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ create or replace type body ut_tap_reporter is
return;
end ut_tap_reporter;

member procedure print_comment(self in out nocopy ut_tap_reporter, a_comment clob) as
begin
self.print_clob(regexp_replace(a_comment, '^', '# ', 1, 0, 'm'));
end print_comment;

overriding member procedure before_calling_suite(self in out nocopy ut_tap_reporter, a_suite ut_logical_suite) as
begin
self.print_text('# Subtest: ' || coalesce(a_suite.description, a_suite.name));
Expand All @@ -16,14 +21,6 @@ create or replace type body ut_tap_reporter is
end before_calling_suite;


overriding member procedure after_calling_before_test (self in out nocopy ut_tap_reporter, a_executable in ut_executable) as
begin
if a_executable.serveroutput is not null and a_executable.serveroutput != empty_clob() then
self.print_clob('# ' || a_executable.serveroutput);
end if;
end after_calling_before_test;


overriding member procedure after_calling_test(self in out nocopy ut_tap_reporter, a_test ut_test) as
l_message varchar2(4000);
l_test_name varchar2(4000) := coalesce(a_test.description, a_test.name);
Expand Down Expand Up @@ -72,6 +69,8 @@ create or replace type body ut_tap_reporter is
self.print_text('...');
self.lvl := self.lvl - 1;
end if;

self.print_comment(a_test.get_serveroutputs);

end after_calling_test;

Expand Down
4 changes: 2 additions & 2 deletions source/reporters/ut_tap_reporter.tps
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
create or replace type ut_tap_reporter under ut_documentation_reporter(

constructor function ut_tap_reporter(self in out nocopy ut_tap_reporter) return self as result,
member procedure print_comment(self in out nocopy ut_tap_reporter, a_comment clob),
overriding member procedure before_calling_suite(self in out nocopy ut_tap_reporter, a_suite ut_logical_suite),

overriding member procedure after_calling_before_test (self in out nocopy ut_tap_reporter, a_executable in ut_executable),

overriding member procedure after_calling_test(self in out nocopy ut_tap_reporter, a_test ut_test),

overriding member procedure after_calling_before_all (self in out nocopy ut_tap_reporter, a_executable in ut_executable),
overriding member procedure after_calling_after_all (self in out nocopy ut_tap_reporter, a_executable in ut_executable),
overriding member procedure before_calling_run(self in out nocopy ut_tap_reporter, a_run in ut_run),
Expand Down
8 changes: 4 additions & 4 deletions test/ut3_user/reporters/test_tap_reporter.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ create or replace package body test_tap_reporter as
l_output_data ut3_develop.ut_varchar2_list;
l_expected varchar2(32767);
begin
l_expected := gc_boilerplate_suitepath_expression || '\s{21}1..1\s{21}# <!beforeall!>\s{21}# Subtest: A description of some context\s{25}1..1\s{25}# <!beforetest!>\s{25}ok - passing_test\s{21}# <!afterall!>\sok - org\s*';
l_expected := gc_boilerplate_suitepath_expression || '\s{21}1..1\s{21}# <!beforeall!>\s{21}# Subtest: A description of some context\s{25}1..1\s{25}ok - passing_test\s{25}# <!beforeeach!>\s{25}# <!beforetest!>\s{25}# <!passing test!>\s{25}# <!aftertest!>\s{25}# <!aftereach!>\s{21}# <!afterall!>\sok - org\s*';

select *
bulk collect into l_output_data
Expand All @@ -19,7 +19,7 @@ create or replace package body test_tap_reporter as
l_output_data ut3_develop.ut_varchar2_list;
l_expected varchar2(32767);
begin
l_expected := gc_boilerplate_suitepath_expression || q'[\s{21}1..1\s{21}# <!beforeall!>\s{21}not ok - a test with failing assertion\s{23}---\s{23}message: '"Fails as values are different"'\s{23}severity: fail\s{23}...\s{21}# <!afterall!>\snot ok - org\s*]';
l_expected := gc_boilerplate_suitepath_expression || q'[\s{21}1..1\s{21}# <!beforeall!>\s{21}not ok - a test with failing assertion\s{23}---\s{23}message: '"Fails as values are different"'\s{23}severity: fail\s{23}...\s{21}# <!beforeeach!>\s{21}# <!failing test!>\s{21}# <!aftereach!>\s{21}# <!afterall!>\snot ok - org\s*]';

select *
bulk collect into l_output_data
Expand All @@ -33,7 +33,7 @@ create or replace package body test_tap_reporter as
l_output_data ut3_develop.ut_varchar2_list;
l_expected varchar2(32767);
begin
l_expected := gc_boilerplate_suitepath_expression || q'[\s{21}1..1\s{21}# <!beforeall!>\s{21}not ok - a test raising unhandled exception\s{23}---\s{23}message: |\s{25ORA-06502: .*\s{25}ORA-06512: .*\s{25}ORA-06512: .*\s{25}ORA-06512: at line [[:digit:]]+\s{23}severity: error\s{23}...\s{21}# <!afterall!>\snot ok - org\s*]';
l_expected := gc_boilerplate_suitepath_expression || q'[\s{21}1..1\s{21}# <!beforeall!>\s{21}not ok - a test raising unhandled exception\s{23}---\s{23}message: |\s{25ORA-06502: .*\s{25}ORA-06512: at line [[:digit:]]+\s{23}severity: error\s{23}...\s{21}# <!beforeeach!>\s{21}# <!erroring test!>\s{21}# <!aftereach!>\s{21}# <!afterall!>\snot ok - org\s*]';

select *
bulk collect into l_output_data
Expand Down Expand Up @@ -75,7 +75,7 @@ create or replace package body test_tap_reporter as
l_output_data ut3_develop.ut_varchar2_list;
l_expected varchar2(32767);
begin
l_expected := q'[TAP version 14\s*1..1\s*# Subtest: org.*# Subtest: A suite for testing different outcomes from reporters\s{21}1..5\s{21}# <!beforeall!>\s{21}# Subtest: A description of some context\s{25}1..1\s{25}# <!beforetest!>\s{25}ok - passing_test\s{21}not ok - a test with failing assertion\s{23}---\s{23}message:.*not ok - a test raising unhandled exception\s{23}---\s{23}message: |.*ok - a disabled test # SKIP: Disabled for testing purpose.*ok - a disabled test with no reason # SKIP\s{21}# <!afterall!>\snot ok - org\s*]';
l_expected := q'[TAP version 14\s*1..1\s*# Subtest: org.*# Subtest: A suite.*\s{21}1..5\s{21}# <!beforeall!>\s{21}# Subtest: A desc.*\s{25}1..1\s{25}ok - passing_test\s{25}# <!beforeeach!>\s{25}# <!beforet.*\s{25}# <!aftereach!>\s{21}not ok - a test w.*\s{23}---\s{23}message:.*\s{21}# <!beforeeach!>.*\s{21}# <!aftereach!>not ok - a test rai.*\s{23}---\s{23}message: |.*ok - a disabled test # SKIP: Disabled for testing purpose.*ok - a dis.* # SKIP\s{21}# <!afterall!>\snot ok - org\s*]';

select *
bulk collect into l_output_data
Expand Down