Skip to content

Under Oracle EE 18.5.0.0.0 tests with %beforeeach or %aftereach fails with ORA-20204. #884

Closed
@tkleiber

Description

@tkleiber

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:

  1. In SQL Developer with utPLSQL extension create the provided test package in Oracle EE 18.5.0.0.0 and open the package
  2. Right Click open the context menu in editor and click "Run utPLSQL Test"
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions