_acs-tcl__files__check_info_files (private)
_acs-tcl__files__check_info_files
Defined in packages/acs-tcl/tcl/test/file-test-procs.tcl
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Source code: set _aa_export {} set body_count 1 foreach testcase_body {{ set installed_packages [db_list get_installed { select distinct package_key from apm_package_versions where installed_p = 't' order by 1 }] foreach spec_file [glob -nocomplain "$::acs::rootdir/packages/*/*.info"] { # # Skip uninstalled packages # regexp {/packages/([^/]+)/} $spec_file _ package_key if {![apm_package_installed_p $package_key]} { continue } lappend package_keys $package_key set errp 0 if { [catch { set version [apm_read_package_info_file $spec_file] } errMsg] } { aa_log_result fail "$spec_file returned $errMsg" set errp 1 } else { regexp {packages/([^/]*)/} $spec_file match key if {[dict get $version package.key] ne $key } { aa_log_result fail "MISMATCH DIRECTORY/PACKAGE KEY: $spec_file [dict get $version package.key] != $key" set errp 1 } # check on the requires, provides, etc stuff. if {[dict get $version provides] eq "" && [dict get $version package.type] eq "apm_service" } { aa_log_result fail "$spec_file SERVICE MISSING PROVIDES: $key" set errp 1 } elseif { [dict get $version provides] ne ""} { if { [dict get $version name] ne [lindex [dict get $version provides] 0 1] } { aa_log_result fail "$spec_file: MISMATCH PROVIDES VERSION: [dict get $version provides] [dict get $version name]" set errp 1 } if { $key ne [lindex [dict get $version provides] 0 0] } { aa_log_result fail "$spec_file MISMATCH PROVIDES KEY: $key [dict get $version provides]" set errp 1 } } # check for duplicate parameters unset -nocomplain params foreach param [dict get $version parameters] { set name [lindex $param 0] if {[info exists params($name)]} { aa_log_result fail "$spec_file: DUPLICATE PARAMETER: $name" set errp 1 } set params($name) $name } } if {!$errp} { aa_log_result pass "$spec_file no errors" } } aa_equals "All installed packages have one info file." [lsort $package_keys] $installed_packages }} { aa_log "Running testcase body $body_count" set ::__aa_test_indent [info level] set catch_val [catch $testcase_body msg] if {$catch_val != 0 && $catch_val != 2} { aa_log_result "fail" "files__check_info_files (body $body_count): Error during execution: $msg, stack trace: \n$::errorInfo" } incr body_count }XQL Not present: Generic, PostgreSQL, Oracle