Description
Describe the bug
Under Oracle EE 18.5.0.0.0 tests with %beforeeach or %aftereach fails with ORA-20204.
ORA-20204: Suite test <before/after each procedure> does not exist
But both exist!
Provide version info
Information about utPLSQL and Database version,
set serveroutput on
declare
l_version varchar2(255);
l_compatibility varchar2(255);
begin
dbms_utility.db_version( l_version, l_compatibility );
dbms_output.put_line( l_version );
dbms_output.put_line( l_compatibility );
end;
/
==>
PL/SQL block executed
18.0.0.0.0
18.0.0
-> this query is wrong for 18c upwards, the sqlplus header shows us:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.5.0.0.0
select substr(ut.version(),1,60) as ut_version from dual;
v3.1.6.2735
select * from v$version;
==>
BANNER BANNER_FULL BANNER_LEGACY CON_ID
-------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------- --------------------------------------------
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.5.0.0.0 Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production 0
select * from nls_session_parameters;
==>
PARAMETER VALUE
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
NLS_LANGUAGE GERMAN
NLS_TERRITORY GERMANY
NLS_CURRENCY €
NLS_ISO_CURRENCY GERMANY
NLS_NUMERIC_CHARACTERS ,.
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD.MM.RRRR
NLS_DATE_LANGUAGE GERMAN
NLS_SORT GERMAN
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD.MM.RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT DD.MM.RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY €
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS CHAR
NLS_NCHAR_CONV_EXCP FALSE
select substr(dbms_utility.port_string,1,60) as port_string from dual;
==>
PORT_STRING
------------------------------------------------------------------
x86_64/Linux 2.4.xx
Information about client software
What client was used to run utPLSQL tests? Was it from TOAD, SQLDeveloper, SQLPlus, PLSQL Developer etc...
To Reproduce
Steps to reproduce the behavior:
- In SQL Developer with utPLSQL extension create the provided test package in Oracle EE 18.5.0.0.0 and open the package
- Right Click open the context menu in editor and click "Run utPLSQL Test"
- See error in te script output:
ORA-06512: at "UT3.UT_SUITE_MANAGER", line 680
ORA-06512: at "UT3.UT_RUNNER", line 150
ORA-20204: Suite test s205031.test_betwnstr.setup does not exist
ORA-06512: at "UT3.UT_SUITE_MANAGER", line 680
Error starting at line : 2 in command -
BEGIN ut.run('S205031.test_betwnstr.setup'); END;
Error report -
ORA-20204: Suite test s205031.test_betwnstr.setup does not exist
ORA-06512: at "UT3.UT_RUNNER", line 163
ORA-06512: at "UT3.UT_SUITE_MANAGER", line 680
ORA-06512: at "UT3.UT_RUNNER", line 150
ORA-06512: at "UT3.UT", line 126
ORA-06512: at "UT3.UT", line 427
ORA-06512: at "UT3.UT", line 538
ORA-06512: at line 1
Expected behavior
The test should find and run the beforeEach and aftereach procedures. It is possible, that other annotations run into this error, so you should check all.
Example code
Will attach a modified test_betwnstr package to reproduce this issue.
Additional context
Add any other context about the problem here.