|
7 | 7 | ,a_procedure_name in varchar2) |
8 | 8 | as |
9 | 9 | obj_data user_objects%rowtype; |
10 | | - stmt varchar2(104); |
| 10 | + stmt varchar2(150); --128 plus some extra |
11 | 11 | execute_stmt boolean := true; |
12 | 12 | begin |
13 | 13 | $if $$ut_trace $then dbms_output.put_line('ut_execute.execute_procedure'); $end |
14 | 14 |
|
15 | 15 | if execute_stmt then |
16 | | - stmt := 'begin ' || trim(a_owner_name) || trim(a_package_name) || '.' || trim(a_procedure_name) || '; end;'; |
| 16 | + stmt := trim(a_package_name) || '.' || trim(a_procedure_name); |
| 17 | + if trim(a_owner_name) is not null then |
| 18 | + stmt := trim(a_owner_name) ||'.' || stmt; |
| 19 | + end if; |
| 20 | + stmt := 'begin ' || stmt || '; end;'; |
17 | 21 | $if $$ut_trace $then dbms_output.put_line('execute_procedure stmt:' || stmt); $end |
18 | 22 | execute immediate stmt; |
19 | 23 | end if; |
20 | 24 | end; |
21 | 25 |
|
22 | 26 | procedure execute_package_test(a_test_to_execute in ut_types.single_test) |
23 | | - as |
24 | | - begin |
25 | | - $if $$ut_trace $then dbms_output.put_line('executepackagetest ' || a_test_to_execute.owner_name || '.' || a_test_to_execute.object_name || '.' || a_test_to_execute.test_procedure); $end |
| 27 | + As |
| 28 | + b_test_to_execute ut_types.single_test; |
| 29 | + Begin |
| 30 | + |
| 31 | + $if $$ut_trace $then dbms_output.put_line('execute_package_test ' || a_test_to_execute.owner_name || '.' || a_test_to_execute.object_name || '.' || a_test_to_execute.test_procedure); $end |
26 | 32 |
|
27 | | - if not ut_metadata.package_valid(a_test_to_execute.owner_name,a_test_to_execute.object_name) then |
28 | | - ut_assert.report_error('package does not exist or is invalid: ' || nvl(a_test_to_execute.object_name,'<missing package name>')); |
| 33 | + B_Test_To_Execute := A_Test_To_Execute; |
| 34 | + If Not Ut_Types.Single_Test_Is_Valid(B_Test_To_Execute) Then |
| 35 | + ut_assert.report_error('Single_Test is not invalid: ' ); |
| 36 | + Return; |
| 37 | + end if; |
| 38 | + if not ut_metadata.package_valid(B_Test_To_Execute.owner_name,B_Test_To_Execute.object_name) then |
| 39 | + ut_assert.report_error('package does not exist or is invalid: ' || nvl(B_Test_To_Execute.object_name,'<missing package name>')); |
29 | 40 | return; |
30 | 41 | end if; |
31 | 42 |
|
32 | | - if not ut_metadata.procedure_exists(a_test_to_execute.owner_name,a_test_to_execute.object_name,a_test_to_execute.setup_procedure) then |
33 | | - ut_assert.report_error('package missing setup method ' || a_test_to_execute.object_name || '.' || nvl(a_test_to_execute.setup_procedure,'<missing procedure name>')); |
| 43 | + if not ut_metadata.procedure_exists(B_Test_To_Execute.owner_name,B_Test_To_Execute.object_name,B_Test_To_Execute.setup_procedure) then |
| 44 | + ut_assert.report_error('package missing setup method ' || B_Test_To_Execute.object_name || '.' || nvl(B_Test_To_Execute.setup_procedure,'<missing procedure name>')); |
34 | 45 | return; |
35 | 46 | end if; |
36 | 47 |
|
37 | | - if not ut_metadata.procedure_exists(a_test_to_execute.owner_name,a_test_to_execute.object_name,a_test_to_execute.test_procedure) then |
38 | | - ut_assert.report_error('package missing test method ' || a_test_to_execute.object_name || '.' || nvl(a_test_to_execute.test_procedure,'<missing procedure name>')); |
| 48 | + if not ut_metadata.procedure_exists(B_Test_To_Execute.owner_name,B_Test_To_Execute.object_name,B_Test_To_Execute.test_procedure) then |
| 49 | + ut_assert.report_error('package missing test method ' || B_Test_To_Execute.object_name || '.' || nvl(B_Test_To_Execute.test_procedure,'<missing procedure name>')); |
39 | 50 | return; |
40 | 51 | end if; |
41 | 52 |
|
42 | | - if not ut_metadata.procedure_exists(a_test_to_execute.owner_name,a_test_to_execute.object_name,a_test_to_execute.teardown_procedure) then |
43 | | - ut_assert.report_error('package missing teardown method ' || a_test_to_execute.object_name || '.' || nvl(a_test_to_execute.teardown_procedure,'<missing procedure name>')); |
| 53 | + if not ut_metadata.procedure_exists(B_Test_To_Execute.owner_name,B_Test_To_Execute.object_name,B_Test_To_Execute.teardown_procedure) then |
| 54 | + ut_assert.report_error('package missing teardown method ' || B_Test_To_Execute.object_name || '.' || nvl(B_Test_To_Execute.teardown_procedure,'<missing procedure name>')); |
44 | 55 | return; |
45 | 56 | end if; |
46 | 57 |
|
47 | 58 |
|
48 | 59 |
|
49 | | - execute_procedure(a_test_to_execute.owner_name,a_test_to_execute.object_name,a_test_to_execute.setup_procedure); |
| 60 | + execute_procedure(B_Test_To_Execute.owner_name,B_Test_To_Execute.object_name,B_Test_To_Execute.setup_procedure); |
50 | 61 | begin |
51 | | - execute_procedure(a_test_to_execute.owner_name,a_test_to_execute.object_name,a_test_to_execute.test_procedure); |
| 62 | + execute_procedure(B_Test_To_Execute.owner_name,B_Test_To_Execute.object_name,B_Test_To_Execute.test_procedure); |
52 | 63 | exception |
53 | 64 | when others then |
54 | 65 | -- dbms_utility.format_error_backtrace is 10g or later |
|
57 | 68 | $if $$ut_trace $then dbms_output.put_line('testmethod failed-' ||sqlerrm(sqlcode) || ' ' || dbms_utility.format_error_backtrace); $end |
58 | 69 | ut_assert.report_error(sqlerrm(sqlcode) || ' ' || dbms_utility.format_error_backtrace); |
59 | 70 | end; |
60 | | - execute_procedure(a_test_to_execute.owner_name,a_test_to_execute.object_name,a_test_to_execute.teardown_procedure); |
| 71 | + execute_procedure(B_Test_To_Execute.owner_name,B_Test_To_Execute.object_name,B_Test_To_Execute.teardown_procedure); |
| 72 | + |
61 | 73 | end execute_package_test; |
62 | 74 |
|
63 | 75 |
|
|
82 | 94 | $if $$ut_trace $then dbms_output.put_line('execute_test failed-' ||sqlerrm(sqlcode) || ' ' || dbms_utility.format_error_backtrace); $end |
83 | 95 | -- most likely occured in setup or teardown if here. |
84 | 96 | ut_assert.report_error(sqlerrm(sqlcode) || ' ' || dbms_utility.format_error_stack); |
85 | | - ut_assert.report_error(sqlerrm(sqlcode) || ' ' || dbms_utility.format_error_backtrace); |
| 97 | + Ut_Assert.Report_Error(Sqlerrm(Sqlcode) || ' ' || Dbms_Utility.Format_Error_Backtrace); |
86 | 98 | ut_assert.copy_called_asserts(a_test_result.assert_results); |
87 | 99 | ut_assert.clear_asserts; |
88 | 100 | a_test_result.result := ut_types.tr_error; |
|
0 commit comments