Skip to content

Validate utPLSQL paths before running utPLSQL #5

Closed
@PhilippSalvisberg

Description

@PhilippSalvisberg

In version 0.1 every package is considered a test suite and every package procedure is considered a test. If this is not true a error message similar to the following is shown in the script output panel:

Error starting at line : 2 in command -
BEGIN ut.run('PLSCOPE.LINEAGE_UTIL'); END;
Error report -
ORA-20204: Suite package plscope.lineage_util not found
ORA-06512: at "UT3.UT_RUNNER", line 101
ORA-06512: at "UT3.UT_SUITE_MANAGER", line 245
ORA-06512: at "UT3.UT_SUITE_MANAGER", line 305
ORA-06512: at "UT3.UT_RUNNER", line 84
ORA-06512: at "UT3.UT", line 105
ORA-06512: at "UT3.UT", line 272
ORA-06512: at "UT3.UT", line 324
ORA-06512: at line 1

Starting with utPLSQL v3.0.4 it is possible to get a list of annotations (Thanks to @jgebal for the example queries)

Annotated objects:

SELECT o.object_owner, o.object_type, o.object_name, o.annotations
  FROM TABLE(ut3.ut_annotation_manager.get_annotated_objects(USER, 'PACKAGE')) o;

All annotations:

SELECT o.object_owner, o.object_type, o.object_name, a.name, a.text, a.subobject_name
  FROM TABLE(ut3.ut_annotation_manager.get_annotated_objects(USER, 'PACKAGE')) o
 CROSS JOIN TABLE(o.annotations) a;

These queries should be used for the following:

  • disable a Run utPLSQL test menu entry, if no test exists for the selected scope
  • enable a Run utPLSQL testmenu entry, if one or more tests exist for the selected scope
  • consider only test procedures when evaluating the test procedure at a PL/SQL editor cursor position

If a utPLSQL version less than 3.0.4 is used than the extension should still work, but will not validate utPLSQL paths (as in v0.1).

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions