replace package ut_utils authid definer gc_version constant varchar2 gc_run constant varchar2 gc_suite constant varchar2 gc_before_all constant varchar2 gc_before_each constant varchar2 gc_before_test constant varchar2 gc_test constant varchar2 gc_test_execute constant varchar2 gc_after_test constant varchar2 gc_after_each constant varchar2 gc_after_all constant varchar2 tr_disabled constant number tr_success constant number tr_failure constant number tr_error constant number tr_disabled_char constant varchar2 tr_success_char constant varchar2 tr_failure_char constant varchar2 tr_error_char constant varchar2 gc_rollback_auto constant number gc_rollback_manual constant number ex_unsupported_rollback_type gc_unsupported_rollback_type constant pls_integer pragma exception_init ex_unsupported_rollback_type ex_path_list_is_empty gc_path_list_is_empty constant pls_integer pragma exception_init ex_path_list_is_empty ex_invalid_path_format gc_invalid_path_format constant pls_integer pragma exception_init ex_invalid_path_format ex_suite_package_not_found gc_suite_package_not_found constant pls_integer pragma exception_init ex_suite_package_not_found ex_invalid_rep_event_time gc_invalid_rep_event_time constant pls_integer pragma exception_init ex_invalid_rep_event_time ex_invalid_rep_event_name gc_invalid_rep_event_name constant pls_integer pragma exception_init ex_invalid_rep_event_name ex_some_tests_failed gc_some_tests_failed constant pls_integer pragma exception_init ex_some_tests_failed ex_invalid_version_no gc_invalid_version_no constant pls_integer pragma exception_init ex_invalid_version_no gc_max_storage_varchar2_len constant gc_max_output_string_length constant gc_max_input_string_length constant gc_max_output_string_length gc_more_data_string constant varchar2 gc_overflow_substr_len constant gc_max_input_string_length length gc_more_data_string gc_number_format constant varchar2 gc_date_format constant varchar2 gc_timestamp_format constant varchar2 gc_timestamp_tz_format constant varchar2 gc_null_string constant varchar2 t_version record major minor bugfix build test_result_to_char a_test_result varchar2 to_test_result a_test gen_savepoint_name varchar2 debug_log a_message varchar2 debug_log a_message to_string a_value varchar2 a_qoute_char varchar2 varchar2 to_string a_value a_qoute_char varchar2 varchar2 to_string a_value a_qoute_char varchar2 varchar2 to_string a_value varchar2 to_string a_value number varchar2 to_string a_value varchar2 to_string a_value timestamp_unconstrained varchar2 to_string a_value timestamp_tz_unconstrained varchar2 to_string a_value timestamp_ltz_unconstrained varchar2 to_string a_value yminterval_unconstrained varchar2 to_string a_value dsinterval_unconstrained varchar2 boolean_to_int a_value int_to_boolean a_value validate_rollback_type a_rollback_type number string_to_table a_string varchar2 a_delimiter varchar2 chr a_skip_leading_delimiter varchar2 ut_varchar2_list clob_to_table a_clob a_max_amount a_delimiter varchar2 chr ut_varchar2_list table_to_clob a_text_table ut_varchar2_list a_delimiter varchar2 chr time_diff a_start_time zone a_end_time zone number indent_lines a_text varchar2 a_indent_size a_include_first_line varchar2 get_utplsql_objects_list ut_object_names append_to_varchar2_list a_list nocopy ut_varchar2_list a_line varchar2 append_to_clob a_src_clob nocopy a_new_data append_to_clob a_src_clob nocopy a_new_data varchar2 convert_collection a_collection ut_varchar2_list ut_varchar2_rows set_action a_text varchar2 set_client_info a_text varchar2 to_xpath a_list varchar2 a_ancestors varchar2 varchar2 to_xpath a_list ut_varchar2_list a_ancestors varchar2 varchar2 cleanup_temp_tables to_version a_version_no varchar2 t_version save_dbms_output_to_cache read_cache_to_dbms_output ut_owner varchar2 scale_cardinality a_cardinality ut_utils replace package body ut_suite_builder create_suite a_object ut_annotated_object ut_logical_suite l_is_suite l_is_test l_suite_disabled l_test_disabled l_suite_items ut_suite_items ut_suite_items l_suite_name varchar2 l_default_setup_proc varchar2 l_default_teardown_proc varchar2 l_suite_setup_proc varchar2 l_suite_teardown_proc varchar2 l_suite_path varchar2 l_proc_name varchar2 l_suite ut_logical_suite l_test ut_test l_suite_rollback l_beforetest_procedure varchar2 l_aftertest_procedure varchar2 l_rollback_type l_displayname varchar2 is_last_annotation_for_proc a_annotations ut_annotations a_index binary_integer a_index a_annotations a_annotations a_index subobject_name nvl a_annotations a_index subobject_name l_suite_rollback ut_utils gc_rollback_auto i a_object annotations loop a_object annotations i subobject_name a_object annotations i name l_suite_name a_object annotations i text a_object annotations i name l_is_suite elsif a_object annotations i name l_suite_disabled elsif a_object annotations i name a_object annotations i text l_suite_path a_object annotations i text a_object object_name elsif a_object annotations i name a_object annotations i text l_suite_rollback ut_utils gc_rollback_manual l_suite_rollback ut_utils gc_rollback_auto elsif l_is_suite l_proc_name a_object annotations i subobject_name a_object annotations i name l_default_setup_proc l_default_setup_proc l_proc_name elsif a_object annotations i name l_default_teardown_proc l_default_teardown_proc l_proc_name elsif a_object annotations i name l_suite_setup_proc l_suite_setup_proc l_proc_name elsif a_object annotations i name l_suite_teardown_proc l_suite_teardown_proc l_proc_name elsif a_object annotations i name l_test_disabled elsif a_object annotations i name l_beforetest_procedure a_object annotations i text elsif a_object annotations i name l_aftertest_procedure a_object annotations i text elsif a_object annotations i name l_displayname a_object annotations i text a_object annotations i name l_is_test elsif a_object annotations i name a_object annotations i text l_rollback_type ut_utils gc_rollback_manual elsif a_object annotations i text l_rollback_type ut_utils gc_rollback_auto l_is_test is_last_annotation_for_proc a_object annotations i l_suite_items extend l_suite_items l_suite_items last ut_test a_object_owner a_object object_owner a_object_name a_object object_name a_name l_proc_name a_description l_displayname a_rollback_type l_rollback_type l_suite_rollback a_disabled_flag l_test_disabled a_before_test_proc_name l_beforetest_procedure a_after_test_proc_name l_aftertest_procedure l_is_test l_test_disabled l_aftertest_procedure l_beforetest_procedure l_rollback_type loop l_is_suite l_suite ut_suite a_object_owner a_object object_owner a_object_name a_object object_name a_name a_object object_name a_path l_suite_path a_description l_suite_name a_rollback_type l_suite_rollback a_disabled_flag l_suite_disabled a_before_all_proc_name l_suite_setup_proc a_after_all_proc_name l_suite_teardown_proc i l_suite_items loop l_test l_suite_items i ut_test l_test set_beforeeach l_default_setup_proc l_test set_aftereach l_default_teardown_proc l_test path l_suite path l_test name l_suite add_item l_test loop l_suite create_suite build_suites_hierarchy a_suites_by_path tt_schema_suites tt_schema_suites l_result tt_schema_suites l_suite_path varchar2 l_parent_path varchar2 l_name varchar2 l_suites_by_path tt_schema_suites l_suites_by_path a_suites_by_path l_suite_path l_suites_by_path last ut_utils debug_log l_suites_by_path while l_suite_path loop l_parent_path substr l_suite_path instr l_suite_path ut_utils debug_log l_suite_path l_parent_path l_parent_path ut_utils debug_log l_suite_path l_result l_suite_path l_suites_by_path l_suite_path l_suites_by_path l_parent_path l_name substr l_parent_path instr l_parent_path ut_utils debug_log l_parent_path l_name l_suites_by_path l_parent_path ut_logical_suite a_object_owner l_suites_by_path l_suite_path object_owner a_object_name l_name a_name l_name a_path l_parent_path ut_utils debug_log l_parent_path ut_utils debug_log l_suite_path l_parent_path l_suites_by_path l_parent_path add_item l_suites_by_path l_suite_path l_suite_path l_suites_by_path prior l_suite_path loop ut_utils debug_log l_result l_result build_suites a_annotated_objects sys_refcursor t_schema_suites_info l_suite ut_logical_suite l_annotated_objects ut_annotated_objects l_all_suites tt_schema_suites l_result t_schema_suites_info a_annotated_objects bulk l_annotated_objects a_annotated_objects i l_annotated_objects loop l_suite create_suite l_annotated_objects i l_suite l_all_suites l_suite path l_suite l_result suite_paths l_suite object_name l_suite path loop l_result schema_suites build_suites_hierarchy l_all_suites l_result build_schema_suites a_owner_name varchar2 t_schema_suites_info l_annotations_cursor sys_refcursor l_annotations_cursor q ut_utils ut_owner q PACKAGE a_owner_name build_suites l_annotations_cursor ut_suite_builder