ADDED build/test/tests/09-smallzip-nobase.sh Index: build/test/tests/09-smallzip-nobase.sh ================================================================== --- build/test/tests/09-smallzip-nobase.sh +++ build/test/tests/09-smallzip-nobase.sh @@ -0,0 +1,14 @@ +#! /bin/bash + +TMPFILE="${TMPDIR:-/tmp}/testzip-$$${RANDOM}${RANDOM}${RANDOM}.zip" +export TMPFILE + +cat << \__EOF__ | base64 -d > "${TMPFILE}" +IyEvdXNyL2Jpbi9lbnYgdGNsa2l0CiMgVGhpcyBpcyBhIHppcC1iYXNlZCBUY2wgTW9kdWxlCnBh +Y2thZ2UgcmVxdWlyZSB2ZnM6OnppcAp2ZnM6OnppcDo6TW91bnQgW2luZm8gc2NyaXB0XSBbaW5m +byBzY3JpcHRdCmlmIHtbZmlsZSBleGlzdHMgW2ZpbGUgam9pbiBbaW5mbyBzY3JpcHRdIG1haW4u +dGNsXV19IHsKICAgIHNvdXJjZSBbZmlsZSBqb2luIFtpbmZvIHNjcmlwdF0gbWFpbi50Y2xdCn0K +GlBLAwQUAAAIAABMfzw9CG+kfTQAAAA0AAAACAAAAG1haW4udGNsIyEgL3Vzci9iaW4vZW52IHRj +bHNoCgpwdXRzICJIZWxsbyBXb3JsZCEiCgpleGl0IDAgClBLAQIXAxQAAAgAAEx/PD0Ib6R9NAAA +ADQAAAAIAAAAAAAAAAEAIAC2geUAAABtYWluLnRjbFBLBQYAAAAAAQABADYAAAA/AQAAAAA= +__EOF__ ADDED build/test/tests/09-smallzip-nobase.tcl Index: build/test/tests/09-smallzip-nobase.tcl ================================================================== --- build/test/tests/09-smallzip-nobase.tcl +++ build/test/tests/09-smallzip-nobase.tcl @@ -0,0 +1,31 @@ +#! /usr/bin/env tclsh + +# Abort if we cant read the tmpfile path from the environment +if {![info exists ::env(TMPFILE)]} { + exit 0 +} + +set tmpfile $::env(TMPFILE) + +vfs::zip::Mount $tmpfile $tmpfile + +set fd [open [file join $tmpfile main.tcl]] +set data [read $fd] +close $fd + +catch { + vfs::unmount $tmpfile +} + +catch { + file delete -force -- $tmpfile +} + +if {[string match "*Hello World*" $data]} { + exit 0 +} + +puts "Got: $data" +puts "Expected (match): *Hello World*" + +exit 1 ADDED build/test/tests/10-smallzip-withbase.sh Index: build/test/tests/10-smallzip-withbase.sh ================================================================== --- build/test/tests/10-smallzip-withbase.sh +++ build/test/tests/10-smallzip-withbase.sh @@ -0,0 +1,14 @@ +#! /bin/bash + +TMPFILE="${TMPDIR:-/tmp}/testzip-$$${RANDOM}${RANDOM}${RANDOM}.zip" +export TMPFILE + +cat << \__EOF__ | base64 -d > "${TMPFILE}" +IyEgL3Vzci9iaW4vZW52IHRjbHNoCgpwYWNrYWdlIHJlcXVpcmUgdmZzOjp6aXAKdmZzOjp6aXA6 +Ok1vdW50IFtpbmZvIHNjcmlwdF0gW2luZm8gc2NyaXB0XQpzb3VyY2UgW2ZpbGUgam9pbiBbaW5m +byBzY3JpcHRdIG1haW4udGNsXQoKcmV0dXJuClBLAwQKAAAAAABNfzw9CG+kfTQAAAA0AAAACAAc +AG1haW4udGNsVVQJAAPxVqJM8VaiTHV4CwABBPMDAAAEZAAAACMhIC91c3IvYmluL2VudiB0Y2xz +aAoKcHV0cyAiSGVsbG8gV29ybGQhIgoKZXhpdCAwIApQSwECHgMKAAAAAABNfzw9CG+kfTQAAAA0 +AAAACAAYAAAAAAABAAAApIEAAAAAbWFpbi50Y2xVVAUAA/FWokx1eAsAAQTzAwAABGQAAABQSwUG +AAAAAAEAAQBOAAAAdgAAAAAA +__EOF__ ADDED build/test/tests/10-smallzip-withbase.tcl Index: build/test/tests/10-smallzip-withbase.tcl ================================================================== --- build/test/tests/10-smallzip-withbase.tcl +++ build/test/tests/10-smallzip-withbase.tcl @@ -0,0 +1,31 @@ +#! /usr/bin/env tclsh + +# Abort if we cant read the tmpfile path from the environment +if {![info exists ::env(TMPFILE)]} { + exit 0 +} + +set tmpfile $::env(TMPFILE) + +vfs::zip::Mount $tmpfile $tmpfile + +set fd [open [file join $tmpfile main.tcl]] +set data [read $fd] +close $fd + +catch { + vfs::unmount $tmpfile +} + +catch { + file delete -force -- $tmpfile +} + +if {[string match "*Hello World*" $data]} { + exit 0 +} + +puts "Got: $data" +puts "Expected (match): *Hello World*" + +exit 1