aa_test::parse_install_file (public)

 aa_test::parse_install_file -path path -array array

Defined in packages/acs-automated-testing/tcl/aa-test-procs.tcl

Processes the xml report outputted from install.sh for display.

Switches:
-path
(required)
-array
(required)

Partial Call Graph (max 5 caller/called nodes):
%3 packages/acs-automated-testing/www/index.tcl packages/acs-automated-testing/ www/index.tcl aa_test::parse_install_file aa_test::parse_install_file packages/acs-automated-testing/www/index.tcl->aa_test::parse_install_file packages/acs-automated-testing/www/server.tcl packages/acs-automated-testing/ www/server.tcl packages/acs-automated-testing/www/server.tcl->aa_test::parse_install_file export_vars export_vars (public) aa_test::parse_install_file->export_vars template::util::read_file template::util::read_file (public) aa_test::parse_install_file->template::util::read_file util::interval_pretty util::interval_pretty (public) aa_test::parse_install_file->util::interval_pretty xml_doc_get_first_node xml_doc_get_first_node (public) aa_test::parse_install_file->xml_doc_get_first_node xml_node_get_attribute xml_node_get_attribute (public) aa_test::parse_install_file->xml_node_get_attribute

Testcases:
No testcase defined.
Source code:
    upvar 1 $array service

    set tree [xml_parse -persist [template::util::read_file $path]]

    set root_node [xml_doc_get_first_node $tree]

    foreach entry {
        name os dbtype dbversion webserver openacs_cvs_flag adminemail adminpassword
        install_begin_epoch install_end_epoch install_end_timestamp num_errors
        install_duration install_duration_pretty script_path description
    } {
        set service($entry"n/a"
    }
    set service(path) $path
    set service(filename) [file tail $path]
    set service(parse_errors) {}

    set service(name) [xml_node_get_attribute $root_node "name"]
    if { $service(name) eq "" } {
        append service(parse_error) "No service name attribute;"
    }

    foreach child [xml_node_get_children $root_node] {
        set info_type [xml_node_get_attribute $child "type"]
        if { $info_type eq "" } {
            append service(parse_error) "No type on info tag;"
            continue
        }
        set info_type [string map {- _} $info_type]
        set info_value [xml_node_get_content $child]
        set service($info_type$info_value
    }

    if { [string is integer -strict $service(install_begin_epoch)] && [string is integer -strict $service(install_end_epoch)] } {
        set service(install_duration) [expr {$service(install_end_epoch) - $service(install_begin_epoch)}]
        set service(install_duration_pretty) [util::interval_pretty -seconds $service(install_duration)]
    }

    # TODO: Not working
    set service(admin_login_url) [export_vars -base $service(url)register/ {
        { email $service(adminemail) }
        { password $service(adminpassword) }
    }]
    set service(auto_test_url) "$service(url)test/admin"
    set service(rebuild_cmd) "sh [file join $service(script_path) recreate.sh]"
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: