_acs-tcl__files__check_upgrade_ordering (private)
_acs-tcl__files__check_upgrade_ordering
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 {{ foreach dir [lsort [glob -nocomplain -types f "$::acs::rootdir/packages/*/*.info"]] { set error_p 0 regexp {/([^/]*).info} $dir match package set files [apm_get_package_files -package_key $package -file_types data_model_upgrade] # build list of files for each db type, sort, check strict ordering. foreach db_type {postgresql oracle} { set upgrades [list] foreach file $files { # DRB: Ignore old upgrade scripts that aren't in the proper place. We # still have old ACS 3 -> ACS 4 upgrade scripts lying around, and # I don't want to report them as failures nor delete them ... if { [string first sql $file] == -1 && [string first upgrade $file] == -1 } { set db [apm_guess_db_type $package $file] if {[string is space $db] || $db eq $db_type} { set tail [ad_file tail $file] if {[regexp {\-(.*)-(.*).sql} $tail match v1 v2]} { set v1s [apm_version_sortable $v1] set v2s [apm_version_sortable $v2] if {$v1s ne $v2s > -1} { set error_p 1 aa_log_result fail "$file: from after to version" } else { lappend upgrades [list $v1s $v2s $v1 $v2 $file] } } else { set error_p 1 aa_log_result fail "$file: could not find version numbers" } } } } # if we have more than 1 upgrade check they are well ordered. if {[llength $upgrades] > 1} { set u1 [lsort -dictionary -index 0 $upgrades] set u2 [lsort -dictionary -index 1 $upgrades] foreach f1 $u1 f2 $u2 { if {$f1 ne $f2 } { set error_p 1 aa_log_result fail "$package upgrade not well ordered [lindex $f1 end] [lindex $f2 end]\n" } } } } if {!$error_p} { aa_log_result pass "$package upgrades well ordered" } } }} { 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_upgrade_ordering (body $body_count): Error during execution: $msg, stack trace: \n$::errorInfo" } incr body_count }XQL Not present: Generic, PostgreSQL, Oracle