                                           l_suite_rollback
                                        end;
             end if;
-          
+
             l_test := ut_test(a_object_name        => l_object_name
                              ,a_object_path        => l_suite.object_path || '.' || l_proc_name
                              ,a_test_procedure     => l_proc_name

                             ,a_setup_procedure    => nvl(l_setup_procedure, l_default_setup_proc)
                             ,a_teardown_procedure => nvl(l_teardown_procedure, l_default_teardown_proc)
                             ,a_rollback_type      => l_rollback_type);
          
            if l_proc_annotations.exists('ignore') then
              l_test.set_ignore_flag(true);
            end if;
          
            l_suite.add_item(l_test);
          end;
        end if;
      
        l_proc_name := l_annotation_data.procedure_annotations.next(l_proc_name);
      end loop;
    end if;
    return l_suite;
  
  end config_package;

  procedure config_schema(a_owner_name varchar2) is
    l_suite ut_test_suite;
  
    l_all_suites tt_schema_suites;
    l_ind        varchar2(4000 char);
    l_path       varchar2(4000 char);
    l_root       varchar2(4000 char);
    l_root_suite ut_test_suite;
  
    l_schema_suites tt_schema_suites;
    
    l_max_ddl_date date;
  
    procedure put(a_root_suite in out nocopy ut_test_suite, a_path varchar2, a_suite ut_test_suite, a_parent_path varchar2 default null) is
      l_temp_root varchar2(4000 char);
      l_path varchar2(4000 char);

        l_path       := l_ind;
      end if;
      put(l_root_suite, l_path, l_all_suites(l_ind));

      l_schema_suites(l_root) := l_root_suite;

      l_ind := l_all_suites.next(l_ind);
    end loop;

    -- Caching
    actualize_cache(a_owner_name, l_schema_suites);

    -- printing results for debugging purpose
    $if $$ut_trace $then
    l_ind := l_schema_suites.first;
