41 lines
898 B
Tcl
41 lines
898 B
Tcl
## \file
|
|
# Must be loaded into an instance of SICS with fileeval
|
|
# eg
|
|
# fileeval tests/query_sics.tcl
|
|
fileeval util/check/query_sics.tcl
|
|
set hdb_prop_list {
|
|
{control data} {true false}
|
|
}
|
|
proc checknode {node} {
|
|
global hdb_prop_list
|
|
foreach {att v} $hdb_prop_list {
|
|
foreach a $att {
|
|
set query "$a @missing"
|
|
if {[query_propval $node $query]} {
|
|
clientput "$node: $a is missing"
|
|
continue
|
|
}
|
|
set query "$a \{$v\}"
|
|
if {![query_propval $node $query]} {
|
|
clientput "$node: $a should be one of ($v) not [::utility::hgetplainprop $node $a]"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
proc checkhdb {{hpath "/"}} {
|
|
global hdb_prop_list
|
|
if {$hpath == "/"} {
|
|
foreach hp [hlist /] {
|
|
checknode /$hp
|
|
checkhdb /$hp
|
|
}
|
|
clientput OK
|
|
} else {
|
|
foreach hp [hlist $hpath] {
|
|
checknode $hpath/$hp
|
|
checkhdb $hpath/$hp
|
|
}
|
|
}
|
|
}
|
|
publish checkhdb user
|