+proc srcdump-save-check {} {
+ global tt
+ global outertar sd files
+
+ set outertar $tt/t-srcdump.tgz
+ set sd $tt/t-srcdump.d
+
+ send "\x15$outertar\r"
+ etxt "Download complete"
+
+ exec mkdir $sd
+
+ set files [exec tar -C $sd -zvxf - < $outertar]
+
+ foreach f {
+ manifest.txt
+ licence.data
+ cgi-auth-flexible.pm
+ .gitignore
+ } {
+ set got($f) 0
+ }
+
+ if {[file exists .git]} {
+ set got(.git/objects/) 0
+ }
+
+ foreach f $files {
+ switch -glob -- $f {
+ licence.data - manifest.txt {
+ set got($f) 1
+ }
+ *.tar {
+ foreach g [exec tar -C $sd -tf - < $sd/$f] {
+ switch -glob -- $g {
+ cgi-auth-flexible.pm - .gitignore - .git/objects/ {
+ set got($g) 1
+ }
+ *~ {
+ error "file $g inside $f !"
+ }
+ .git/* {
+ }
+ *.db {
+ error "file $g inside $f outside .git !"
+ }
+ }
+ }
+ }
+ }
+ }
+
+ foreach g [array names got] {
+ if {!$got($g)} {
+ error "file $g missing"
+ }
+ }
+}
+