Run utPLSQL test greyed out in Schema Browser (other schema and own schema)
mhoys opened this issue · 6 comments
Hi,
I'm using the utPLSQL extension version 1.2.0 with SQL Developer 19.4.
I can right-click in the connections window and run utPLSQL tests on packages in my own schema, but I cannot do this on packages in another schema - the utPLSQL options are greyed out. Any idea what could be causing this? If I run them like this from my own schema, it works fine:
set serveroutput on
begin
ut.run('other_schema.ut_package');
end;
PS: I have enough rights to create and execute objects in the other schema.
Thanks
Matthias
In the following scenario I'm connected to UT3_TESTER_HELPER (your user) and select under the node Other Users the test package TEST_OUTPUT_BUFFER owned by UT3_TESTER (your other_schema). And then I right-click on this node to show the context menu.
The statement log shows the code executed behind the scenes to determine if a package can be executed. The code may differ depending on the installed utPLSQL version (that's why it is important to know which version of utPLSQL you are using). In my case I use the most recent develop version v3.1.11.3466-develop). The code looks like this when showing the cell value of the SQL column:
DECLARE
l_return VARCHAR2(1) := '0';
BEGIN
IF ut_runner.is_suite(?, ?) THEN
l_return := '1';
END IF;
? := l_return;
END;The bind variables UT3_TESTER and TEST_OUTPUT_BUFFER are used as you see on the parameters column. Based on that I can run an adapted version of the code in my worksheet as well, e.g. as follows:
SET SERVEROUTPUT ON
DECLARE
l_return VARCHAR2(1) := '0';
BEGIN
IF ut_runner.is_suite('UT3_TESTER', 'TEST_OUTPUT_BUFFER') THEN
l_return := '1';
END IF;
dbms_output.put_line(l_return);
END;
/In my chase the output is:
1
PL/SQL procedure successfully completed.
So, I assume that in your case 0 is returned and that leads to a disabled Run utPLSQL test context menu entry.
Hi Philipp,
We are using utPLSQL version v3.1.9.3270.
I executed your piece of PL/SQL code and it returned 1 in my case, so this looks ok.
However, I have found something else based on your feedback.
I normally browse to the objects of other users by right-clicking in my schema name in the connections window, then choose "Schema Browser" and select the required schema. The utPLSQL options are greyed out there! However, when I try it your way and open the other schema from the "Other Users" folder in my schema, it works fine and the utPLSQL context menu is correctly enabled! Can you reproduce this behaviour? Let me know if you need more information.
Thanks,
Matthias
Thanks, good to know it's a bug and not something related to my configuration ;-)
(oops maybe I should better not close this one)
Thanks, I can confirm it's working fine now (I tried v1.2.1 with SQL Developer 20.2).

