Hex Artifact Content

Artifact df6717d86a109a854db53fc541f19ad24ed1fd6d:


0000: 23 21 20 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20  #! /usr/bin/env 
0010: 74 63 6c 73 68 0a 0a 23 20 41 62 6f 72 74 20 69  tclsh..# Abort i
0020: 66 20 77 65 20 63 61 6e 74 20 72 65 61 64 20 74  f we cant read t
0030: 68 65 20 74 6d 70 66 69 6c 65 20 70 61 74 68 20  he tmpfile path 
0040: 66 72 6f 6d 20 74 68 65 20 65 6e 76 69 72 6f 6e  from the environ
0050: 6d 65 6e 74 0a 69 66 20 7b 21 5b 69 6e 66 6f 20  ment.if {![info 
0060: 65 78 69 73 74 73 20 3a 3a 65 6e 76 28 54 4d 50  exists ::env(TMP
0070: 46 49 4c 45 29 5d 7d 20 7b 0a 09 65 78 69 74 20  FILE)]} {..exit 
0080: 30 0a 7d 0a 0a 23 20 41 62 6f 72 74 20 74 68 69  0.}..# Abort thi
0090: 73 20 74 65 73 74 20 69 66 20 77 65 20 64 6f 6e  s test if we don
00a0: 27 74 20 68 61 76 65 20 76 66 73 3a 3a 7a 69 70  't have vfs::zip
00b0: 0a 69 66 20 7b 5b 63 61 74 63 68 20 7b 0a 09 70  .if {[catch {..p
00c0: 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 76  ackage require v
00d0: 66 73 3a 3a 7a 69 70 0a 7d 5d 7d 20 7b 0a 09 65  fs::zip.}]} {..e
00e0: 78 69 74 20 30 0a 7d 0a 0a 73 65 74 20 74 6d 70  xit 0.}..set tmp
00f0: 66 69 6c 65 20 24 3a 3a 65 6e 76 28 54 4d 50 46  file $::env(TMPF
0100: 49 4c 45 29 0a 0a 76 66 73 3a 3a 7a 69 70 3a 3a  ILE)..vfs::zip::
0110: 4d 6f 75 6e 74 20 24 74 6d 70 66 69 6c 65 20 24  Mount $tmpfile $
0120: 74 6d 70 66 69 6c 65 0a 0a 73 65 74 20 66 64 20  tmpfile..set fd 
0130: 5b 6f 70 65 6e 20 5b 66 69 6c 65 20 6a 6f 69 6e  [open [file join
0140: 20 24 74 6d 70 66 69 6c 65 20 6d 61 69 6e 2e 74   $tmpfile main.t
0150: 63 6c 5d 5d 0a 73 65 74 20 64 61 74 61 20 5b 72  cl]].set data [r
0160: 65 61 64 20 24 66 64 5d 0a 63 6c 6f 73 65 20 24  ead $fd].close $
0170: 66 64 0a 0a 63 61 74 63 68 20 7b 0a 09 76 66 73  fd..catch {..vfs
0180: 3a 3a 75 6e 6d 6f 75 6e 74 20 24 74 6d 70 66 69  ::unmount $tmpfi
0190: 6c 65 0a 7d 0a 0a 63 61 74 63 68 20 7b 0a 09 66  le.}..catch {..f
01a0: 69 6c 65 20 64 65 6c 65 74 65 20 2d 66 6f 72 63  ile delete -forc
01b0: 65 20 2d 2d 20 24 74 6d 70 66 69 6c 65 0a 7d 0a  e -- $tmpfile.}.
01c0: 0a 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74  .if {[string mat
01d0: 63 68 20 22 2a 48 65 6c 6c 6f 20 57 6f 72 6c 64  ch "*Hello World
01e0: 2a 22 20 24 64 61 74 61 5d 7d 20 7b 0a 09 65 78  *" $data]} {..ex
01f0: 69 74 20 30 0a 7d 0a 0a 70 75 74 73 20 22 47 6f  it 0.}..puts "Go
0200: 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  t:              
0210: 24 64 61 74 61 22 0a 70 75 74 73 20 22 45 78 70  $data".puts "Exp
0220: 65 63 74 65 64 20 28 6d 61 74 63 68 29 3a 20 2a  ected (match): *
0230: 48 65 6c 6c 6f 20 57 6f 72 6c 64 2a 22 0a 0a 65  Hello World*"..e
0240: 78 69 74 20 31 0a                                xit 1.