Skip to content

Commit 268a65b

Browse files
authored
Merge pull request #1002 from utPLSQL/bugfix/call_stack_parsing
Fixed issue with stack parsing on Windows install of utPLSQL
2 parents 87db227 + 14b6243 commit 268a65b

File tree

3 files changed

+40
-3
lines changed

3 files changed

+40
-3
lines changed

source/core/ut_expectation_processor.pkb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ create or replace package body ut_expectation_processor as
163163
end;
164164
function cut_address_columns( a_stack varchar2 ) return varchar2 is
165165
begin
166-
return regexp_replace( a_stack, '^(0x)?[0-9a-f]+\s+', '', 1, 0, 'm' );
166+
return regexp_replace( a_stack, '^(0x)?[0-9a-f]+\s+', '', 1, 0, 'mi' );
167167
end;
168168
function cut_framework_stack( a_stack varchar2 ) return varchar2 is
169169
begin

test/ut3_tester/core/expectations/test_expectation_processor.pkb

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ create or replace package body test_expectation_processor is
1111
handle number name
1212
34f88e4420 124 package body SCH_TEST.UT_EXPECTATION_PROCESSOR
1313
353dfeb2f8 26 SCH_TEST.UT_EXPECTATION_RESULT
14-
cba249ce0 112 SCH_TEST.UT_EXPECTATION
14+
cba2493ce0 112 SCH_TEST.UT_EXPECTATION
1515
3539881cf0 21 SCH_TEST.UT_EXPECTATION_NUMBER
1616
351a608008 7 package body ]'||gc_user||q'[.TEST_EXPECTATION_PROCESSOR
1717
351a608018 12 package body ]'||gc_user||q'[.TEST_EXPECTATION_PROCESSOR
@@ -24,7 +24,7 @@ cba249ce0 112 SCH_TEST.UT_EXPECTATION
2424
34f8ab98f0 48 SCH_TEST.UT_SUITE_ITEM
2525
34f8ab9b10 74 SCH_TEST.UT_SUITE
2626
34f8ab98f0 48 SCH_TEST.UT_SUITE_ITEM
27-
cba24bfd0 75 SCH_TEST.UT_LOGICAL_SUITE
27+
cba24bfad0 75 SCH_TEST.UT_LOGICAL_SUITE
2828
353dfecf30 59 SCH_TEST.UT_RUN
2929
34f8ab98f0 48 SCH_TEST.UT_SUITE_ITEM
3030
357f5421e8 77 package body SCH_TEST.UT_RUNNER
@@ -67,5 +67,39 @@ at "'||gc_user||'.TEST_EXPECTATION_PROCESSOR", line 24');
6767
).to_be_like('at "UT3.UT_EXAMPLETEST", line 20 %');
6868
end;
6969

70+
procedure who_call_expectation_win_stack is
71+
l_stack_trace varchar2(4000);
72+
l_source_line varchar2(4000);
73+
begin
74+
l_stack_trace := q'[----- PL/SQL Call Stack -----
75+
object line object
76+
handle number name
77+
00007FF8547B7D30 124 package body SCH_TEST.UT_EXPECTATION_PROCESSOR
78+
00007FF8547B7D30 26 SCH_TEST.UT_EXPECTATION_RESULT
79+
00007FF8547B7D30 112 SCH_TEST.UT_EXPECTATION
80+
00007FF8547B7D30 21 SCH_TEST.UT_EXPECTATION_NUMBER
81+
00007FF8547B7D30 7 package body SCOTT.TEST_BETWNSTR.BASIC_USAGE
82+
00007FF81FF207B0 345 type body SCOTT.TEST_BETWNSTR.BASIC_USAGE_TYP
83+
00007FF8544B21B8 6 anonymous block
84+
00007FF8267FBFC8 1721 package body SYS.DBMS_SQL.EXECUTE
85+
00007FF852BCFC68 142 type body UT3.UT_EXECUTABLE.DO_EXECUTE
86+
00007FF852BCFC68 44 type body UT3.UT_EXECUTABLE.DO_EXECUTE
87+
00007FF8512F9A90 74 type body UT3.UT_EXECUTABLE_TEST.DO_EXECUTE
88+
00007FF8512F9A90 38 type body UT3.UT_EXECUTABLE_TEST.DO_EXECUTE
89+
00007FF8231A2088 79 type body UT3.UT_TEST.DO_EXECUTE
90+
00007FF81FF207B0 49 type body UT3.UT_SUITE_ITEM.DO_EXECUTE
91+
00007FF852C83270 66 type body UT3.UT_SUITE.DO_EXECUTE
92+
00007FF82165F3B0 67 type body UT3.UT_RUN.DO_EXECUTE
93+
00007FF81FF207B0 49 type body UT3.UT_SUITE_ITEM.DO_EXECUTE
94+
00007FF8266285C0 172 package body UT3.UT_RUNNER.RUN
95+
00007FF854710538 134 package body UT3.UT.RUN_AUTONOMOUS
96+
00007FF854710538 488 package body UT3.UT.RUN
97+
00007FF854710538 623 package body UT3.UT.RUN
98+
00007FF81CFFA388 1 anonymous block]';
99+
ut.expect(
100+
ut3.ut_expectation_processor.who_called_expectation(l_stack_trace)
101+
).to_be_like('at "SCOTT.TEST_BETWNSTR.BASIC_USAGE", line 7 %');
102+
end;
103+
70104
end;
71105
/

test/ut3_tester/core/expectations/test_expectation_processor.pks

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ create or replace package test_expectation_processor is
1414
--%test(parses stack trace and returns objects and line that called expectation)
1515
procedure who_called_expectation;
1616

17+
--%test(parses stack trace for Windows DB os - regression for #1000)
18+
procedure who_call_expectation_win_stack;
19+
1720
--%endcontext
1821

1922
end;

0 commit comments

Comments
 (0)