System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 6af8883acd353db4ff79db1ba9903d024c3c1ac4:


0000: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0010: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d  ###############.
0050: 0a 23 0d 0a 23 20 76 65 72 73 69 6f 6e 2e 65 61  .#..# version.ea
0060: 67 6c 65 20 2d 2d 0d 0a 23 0d 0a 23 20 57 72 69  gle --..#..# Wri
0070: 74 74 65 6e 20 62 79 20 4a 6f 65 20 4d 69 73 74  tten by Joe Mist
0080: 61 63 68 6b 69 6e 2e 0d 0a 23 20 52 65 6c 65 61  achkin...# Relea
0090: 73 65 64 20 74 6f 20 74 68 65 20 70 75 62 6c 69  sed to the publi
00a0: 63 20 64 6f 6d 61 69 6e 2c 20 75 73 65 20 61 74  c domain, use at
00b0: 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 21 0d   your own risk!.
00c0: 0a 23 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23  .#..############
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0110: 23 23 23 0d 0a 0d 0a 70 61 63 6b 61 67 65 20 72  ###....package r
0120: 65 71 75 69 72 65 20 45 61 67 6c 65 0d 0a 70 61  equire Eagle..pa
0130: 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 45 61  ckage require Ea
0140: 67 6c 65 4c 69 62 72 61 72 79 0d 0a 70 61 63 6b  gleLibrary..pack
0150: 61 67 65 20 72 65 71 75 69 72 65 20 45 61 67 6c  age require Eagl
0160: 65 54 65 73 74 0d 0a 0d 0a 72 75 6e 54 65 73 74  eTest....runTest
0170: 50 72 6f 6c 6f 67 75 65 0d 0a 0d 0a 23 23 23 23  Prologue....####
0180: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0190: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01c0: 23 23 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 70  ###########....p
01d0: 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 53  ackage require S
01e0: 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74  ystem.Data.SQLit
01f0: 65 2e 54 65 73 74 0d 0a 72 75 6e 53 51 4c 69 74  e.Test..runSQLit
0200: 65 54 65 73 74 50 72 6f 6c 6f 67 75 65 0d 0a 0d  eTestPrologue...
0210: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
0220: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0230: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0240: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0250: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0260: 0d 0a 23 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ..# ************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 20 42 45 47 49 4e 20 56  ******** BEGIN V
0280: 4f 4c 41 54 49 4c 45 20 56 45 52 53 49 4f 4e 20  OLATILE VERSION 
0290: 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 2a 2a 2a 2a  INFORMATION ****
02a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02b0: 2a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  *..#############
02c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
02d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
02e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
02f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0300: 23 23 0d 0a 0d 0a 23 0d 0a 23 20 4e 4f 54 45 3a  ##....#..# NOTE:
0310: 20 46 6f 72 20 74 68 65 73 65 20 75 6e 69 74 20   For these unit 
0320: 74 65 73 74 73 20 74 6f 20 62 65 20 75 73 65 66  tests to be usef
0330: 75 6c 20 61 6e 64 20 61 63 63 75 72 61 74 65 2c  ul and accurate,
0340: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76   the following v
0350: 65 72 73 69 6f 6e 0d 0a 23 20 20 20 20 20 20 20  ersion..#       
0360: 6e 75 6d 62 65 72 73 20 6d 75 73 74 20 62 65 20  numbers must be 
0370: 6d 61 6e 75 61 6c 6c 79 20 6b 65 70 74 20 73 79  manually kept sy
0380: 6e 63 68 72 6f 6e 69 7a 65 64 20 77 69 74 68 20  nchronized with 
0390: 74 68 65 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62  the version numb
03a0: 65 72 73 20 66 6f 72 0d 0a 23 20 20 20 20 20 20  ers for..#      
03b0: 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65   the source code
03c0: 20 66 69 6c 65 73 2c 20 74 68 65 20 62 75 69 6c   files, the buil
03d0: 74 20 62 69 6e 61 72 69 65 73 2c 20 61 6e 64 20  t binaries, and 
03e0: 74 68 65 20 72 65 6c 65 61 73 65 20 70 61 63 6b  the release pack
03f0: 61 67 65 73 2e 0d 0a 23 0d 0a 73 65 74 20 76 65  ages...#..set ve
0400: 72 73 69 6f 6e 28 6d 61 6a 6f 72 29 20 20 20 20  rsion(major)    
0410: 20 20 20 20 20 20 20 20 20 31 0d 0a 73 65 74 20           1..set 
0420: 76 65 72 73 69 6f 6e 28 6d 69 6e 6f 72 29 20 20  version(minor)  
0430: 20 20 20 20 20 20 20 20 20 20 20 30 0d 0a 73 65             0..se
0440: 74 20 76 65 72 73 69 6f 6e 28 62 75 69 6c 64 29  t version(build)
0450: 20 20 20 20 20 20 20 20 20 20 20 20 37 36 3b 20              76; 
0460: 23 20 4e 4f 54 45 3a 20 49 6e 63 72 65 6d 65 6e  # NOTE: Incremen
0470: 74 65 64 20 77 69 74 68 20 65 61 63 68 20 72 65  ted with each re
0480: 6c 65 61 73 65 2e 0d 0a 73 65 74 20 76 65 72 73  lease...set vers
0490: 69 6f 6e 28 72 65 76 69 73 69 6f 6e 29 20 20 20  ion(revision)   
04a0: 20 20 20 20 20 20 20 30 0d 0a 0d 0a 23 23 23 23         0....####
04b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04f0: 23 23 23 23 23 23 23 23 23 23 23 0d 0a 23 20 2a  ###########..# *
0500: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0510: 2a 2a 2a 2a 20 45 4e 44 20 56 4f 4c 41 54 49 4c  **** END VOLATIL
0520: 45 20 56 45 52 53 49 4f 4e 20 49 4e 46 4f 52 4d  E VERSION INFORM
0530: 41 54 49 4f 4e 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ATION **********
0540: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 23 23  ************..##
0550: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0560: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0570: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0580: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0590: 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0a 0d  #############...
05a0: 0a 23 0d 0a 23 20 4e 4f 54 45 3a 20 42 75 69 6c  .#..# NOTE: Buil
05b0: 64 20 74 68 65 20 66 75 6c 6c 20 76 65 72 73 69  d the full versi
05c0: 6f 6e 20 6e 75 6d 62 65 72 20 75 73 69 6e 67 20  on number using 
05d0: 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 73  the components s
05e0: 65 74 75 70 20 61 62 6f 76 65 2e 20 20 54 68 69  etup above.  Thi
05f0: 73 0d 0a 23 20 20 20 20 20 20 20 73 68 6f 75 6c  s..#       shoul
0600: 64 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 62 65  d not have to be
0610: 20 63 68 61 6e 67 65 64 2e 0d 0a 23 0d 0a 73 65   changed...#..se
0620: 74 20 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 20  t version(full) 
0630: 5b 61 70 70 65 6e 64 41 72 67 73 20 24 76 65 72  [appendArgs $ver
0640: 73 69 6f 6e 28 6d 61 6a 6f 72 29 20 2e 20 24 76  sion(major) . $v
0650: 65 72 73 69 6f 6e 28 6d 69 6e 6f 72 29 20 2e 20  ersion(minor) . 
0660: 5c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  \..             
0670: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0680: 20 24 76 65 72 73 69 6f 6e 28 62 75 69 6c 64 29   $version(build)
0690: 20 2e 20 24 76 65 72 73 69 6f 6e 28 72 65 76 69   . $version(revi
06a0: 73 69 6f 6e 29 5d 0d 0a 0d 0a 23 23 23 23 23 23  sion)]....######
06b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
06c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
06d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
06e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
06f0: 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 23 0d 0a  #########....#..
0700: 23 20 4e 4f 54 45 3a 20 53 65 74 75 70 20 74 68  # NOTE: Setup th
0710: 65 20 76 61 72 69 61 62 6c 65 73 20 74 68 61 74  e variables that
0720: 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 76 61   refer to the va
0730: 72 69 6f 75 73 20 66 69 6c 65 73 20 72 65 71 75  rious files requ
0740: 69 72 65 64 20 62 79 20 74 68 65 0d 0a 23 20 20  ired by the..#  
0750: 20 20 20 20 20 74 65 73 74 73 20 69 6e 20 74 68       tests in th
0760: 69 73 20 66 69 6c 65 2e 0d 0a 23 0d 0a 73 65 74  is file...#..set
0770: 20 73 79 73 74 65 6d 44 61 74 61 53 51 4c 69 74   systemDataSQLit
0780: 65 44 6c 6c 46 69 6c 65 20 5b 67 65 74 42 75 69  eDllFile [getBui
0790: 6c 64 46 69 6c 65 4e 61 6d 65 20 53 79 73 74 65  ldFileName Syste
07a0: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 64 6c  m.Data.SQLite.dl
07b0: 6c 5d 0d 0a 73 65 74 20 73 79 73 74 65 6d 44 61  l]..set systemDa
07c0: 74 61 53 51 4c 69 74 65 4c 69 6e 71 44 6c 6c 46  taSQLiteLinqDllF
07d0: 69 6c 65 20 5b 67 65 74 42 75 69 6c 64 46 69 6c  ile [getBuildFil
07e0: 65 4e 61 6d 65 20 53 79 73 74 65 6d 2e 44 61 74  eName System.Dat
07f0: 61 2e 53 51 4c 69 74 65 2e 4c 69 6e 71 2e 64 6c  a.SQLite.Linq.dl
0800: 6c 5d 0d 0a 73 65 74 20 74 65 73 74 45 78 65 46  l]..set testExeF
0810: 69 6c 65 20 5b 67 65 74 42 75 69 6c 64 46 69 6c  ile [getBuildFil
0820: 65 4e 61 6d 65 20 74 65 73 74 2e 65 78 65 5d 0d  eName test.exe].
0830: 0a 73 65 74 20 74 65 73 74 4c 69 6e 71 45 78 65  .set testLinqExe
0840: 46 69 6c 65 20 5b 67 65 74 42 75 69 6c 64 46 69  File [getBuildFi
0850: 6c 65 4e 61 6d 65 20 74 65 73 74 6c 69 6e 71 2e  leName testlinq.
0860: 65 78 65 5d 0d 0a 0d 0a 23 0d 0a 23 20 4e 4f 54  exe]....#..# NOT
0870: 45 3a 20 53 65 74 75 70 20 74 68 65 20 74 65 73  E: Setup the tes
0880: 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 73 70  t constraints sp
0890: 65 63 69 66 69 63 20 74 6f 20 74 68 65 20 74 65  ecific to the te
08a0: 73 74 73 20 69 6e 20 74 68 69 73 20 66 69 6c 65  sts in this file
08b0: 2e 0d 0a 23 0d 0a 69 66 20 7b 21 5b 68 61 76 65  ...#..if {![have
08c0: 43 6f 6e 73 74 72 61 69 6e 74 20 5b 61 70 70 65  Constraint [appe
08d0: 6e 64 41 72 67 73 20 66 69 6c 65 5f 20 5c 0d 0a  ndArgs file_ \..
08e0: 20 20 20 20 5b 66 69 6c 65 20 74 61 69 6c 20 24      [file tail $
08f0: 73 79 73 74 65 6d 44 61 74 61 53 51 4c 69 74 65  systemDataSQLite
0900: 44 6c 6c 46 69 6c 65 5d 5d 5d 7d 20 74 68 65 6e  DllFile]]]} then
0910: 20 7b 0d 0a 20 20 63 68 65 63 6b 46 6f 72 46 69   {..  checkForFi
0920: 6c 65 20 24 74 65 73 74 5f 63 68 61 6e 6e 65 6c  le $test_channel
0930: 20 24 73 79 73 74 65 6d 44 61 74 61 53 51 4c 69   $systemDataSQLi
0940: 74 65 44 6c 6c 46 69 6c 65 0d 0a 7d 0d 0a 0d 0a  teDllFile..}....
0950: 69 66 20 7b 21 5b 68 61 76 65 43 6f 6e 73 74 72  if {![haveConstr
0960: 61 69 6e 74 20 5b 61 70 70 65 6e 64 41 72 67 73  aint [appendArgs
0970: 20 66 69 6c 65 5f 20 5c 0d 0a 20 20 20 20 5b 66   file_ \..    [f
0980: 69 6c 65 20 74 61 69 6c 20 24 73 79 73 74 65 6d  ile tail $system
0990: 44 61 74 61 53 51 4c 69 74 65 4c 69 6e 71 44 6c  DataSQLiteLinqDl
09a0: 6c 46 69 6c 65 5d 5d 5d 7d 20 74 68 65 6e 20 7b  lFile]]]} then {
09b0: 0d 0a 20 20 63 68 65 63 6b 46 6f 72 46 69 6c 65  ..  checkForFile
09c0: 20 24 74 65 73 74 5f 63 68 61 6e 6e 65 6c 20 24   $test_channel $
09d0: 73 79 73 74 65 6d 44 61 74 61 53 51 4c 69 74 65  systemDataSQLite
09e0: 4c 69 6e 71 44 6c 6c 46 69 6c 65 0d 0a 7d 0d 0a  LinqDllFile..}..
09f0: 0d 0a 69 66 20 7b 21 5b 68 61 76 65 43 6f 6e 73  ..if {![haveCons
0a00: 74 72 61 69 6e 74 20 5b 61 70 70 65 6e 64 41 72  traint [appendAr
0a10: 67 73 20 66 69 6c 65 5f 20 5b 66 69 6c 65 20 74  gs file_ [file t
0a20: 61 69 6c 20 24 74 65 73 74 45 78 65 46 69 6c 65  ail $testExeFile
0a30: 5d 5d 5d 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 63  ]]]} then {..  c
0a40: 68 65 63 6b 46 6f 72 46 69 6c 65 20 24 74 65 73  heckForFile $tes
0a50: 74 5f 63 68 61 6e 6e 65 6c 20 24 74 65 73 74 45  t_channel $testE
0a60: 78 65 46 69 6c 65 0d 0a 7d 0d 0a 0d 0a 69 66 20  xeFile..}....if 
0a70: 7b 21 5b 68 61 76 65 43 6f 6e 73 74 72 61 69 6e  {![haveConstrain
0a80: 74 20 5b 61 70 70 65 6e 64 41 72 67 73 20 66 69  t [appendArgs fi
0a90: 6c 65 5f 20 5b 66 69 6c 65 20 74 61 69 6c 20 24  le_ [file tail $
0aa0: 74 65 73 74 4c 69 6e 71 45 78 65 46 69 6c 65 5d  testLinqExeFile]
0ab0: 5d 5d 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 63 68  ]]} then {..  ch
0ac0: 65 63 6b 46 6f 72 46 69 6c 65 20 24 74 65 73 74  eckForFile $test
0ad0: 5f 63 68 61 6e 6e 65 6c 20 24 74 65 73 74 4c 69  _channel $testLi
0ae0: 6e 71 45 78 65 46 69 6c 65 0d 0a 7d 0d 0a 0d 0a  nqExeFile..}....
0af0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0b00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0b10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0b20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0b30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d  ###############.
0b40: 0a 0d 0a 72 75 6e 54 65 73 74 20 7b 74 65 73 74  ...runTest {test
0b50: 20 76 65 72 73 69 6f 6e 2d 31 2e 31 20 7b 27 53   version-1.1 {'S
0b60: 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74  ystem.Data.SQLit
0b70: 65 27 20 62 69 6e 61 72 79 20 76 65 72 73 69 6f  e' binary versio
0b80: 6e 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 66 69  n} -body {..  fi
0b90: 6c 65 20 76 65 72 73 69 6f 6e 20 24 73 79 73 74  le version $syst
0ba0: 65 6d 44 61 74 61 53 51 4c 69 74 65 44 6c 6c 46  emDataSQLiteDllF
0bb0: 69 6c 65 0d 0a 7d 20 2d 63 6f 6e 73 74 72 61 69  ile..} -constrai
0bc0: 6e 74 73 20 7b 65 61 67 6c 65 20 66 69 6c 65 5f  nts {eagle file_
0bd0: 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69  System.Data.SQLi
0be0: 74 65 2e 64 6c 6c 7d 20 2d 72 65 73 75 6c 74 20  te.dll} -result 
0bf0: 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 7d 0d  $version(full)}.
0c00: 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ...#############
0c10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c50: 23 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b 74  ##....runTest {t
0c60: 65 73 74 20 76 65 72 73 69 6f 6e 2d 31 2e 32 20  est version-1.2 
0c70: 7b 27 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51  {'System.Data.SQ
0c80: 4c 69 74 65 2e 4c 69 6e 71 27 20 62 69 6e 61 72  Lite.Linq' binar
0c90: 79 20 76 65 72 73 69 6f 6e 7d 20 2d 62 6f 64 79  y version} -body
0ca0: 20 7b 0d 0a 20 20 66 69 6c 65 20 76 65 72 73 69   {..  file versi
0cb0: 6f 6e 20 24 73 79 73 74 65 6d 44 61 74 61 53 51  on $systemDataSQ
0cc0: 4c 69 74 65 4c 69 6e 71 44 6c 6c 46 69 6c 65 0d  LiteLinqDllFile.
0cd0: 0a 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  .} -constraints 
0ce0: 7b 65 61 67 6c 65 20 66 69 6c 65 5f 53 79 73 74  {eagle file_Syst
0cf0: 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 4c  em.Data.SQLite.L
0d00: 69 6e 71 2e 64 6c 6c 7d 20 2d 72 65 73 75 6c 74  inq.dll} -result
0d10: 20 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 7d   $version(full)}
0d20: 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23  ....############
0d30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0d40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0d50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0d60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0d70: 23 23 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b  ###....runTest {
0d80: 74 65 73 74 20 76 65 72 73 69 6f 6e 2d 31 2e 33  test version-1.3
0d90: 20 7b 27 74 65 73 74 27 20 62 69 6e 61 72 79 20   {'test' binary 
0da0: 76 65 72 73 69 6f 6e 7d 20 2d 62 6f 64 79 20 7b  version} -body {
0db0: 0d 0a 20 20 66 69 6c 65 20 76 65 72 73 69 6f 6e  ..  file version
0dc0: 20 24 74 65 73 74 45 78 65 46 69 6c 65 0d 0a 7d   $testExeFile..}
0dd0: 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 65   -constraints {e
0de0: 61 67 6c 65 20 66 69 6c 65 5f 74 65 73 74 2e 65  agle file_test.e
0df0: 78 65 7d 20 2d 72 65 73 75 6c 74 20 24 76 65 72  xe} -result $ver
0e00: 73 69 6f 6e 28 66 75 6c 6c 29 7d 0d 0a 0d 0a 23  sion(full)}....#
0e10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0e20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0e30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0e40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0e50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0a  ##############..
0e60: 0d 0a 72 75 6e 54 65 73 74 20 7b 74 65 73 74 20  ..runTest {test 
0e70: 76 65 72 73 69 6f 6e 2d 31 2e 34 20 7b 27 74 65  version-1.4 {'te
0e80: 73 74 6c 69 6e 71 27 20 62 69 6e 61 72 79 20 76  stlinq' binary v
0e90: 65 72 73 69 6f 6e 7d 20 2d 62 6f 64 79 20 7b 0d  ersion} -body {.
0ea0: 0a 20 20 66 69 6c 65 20 76 65 72 73 69 6f 6e 20  .  file version 
0eb0: 24 74 65 73 74 4c 69 6e 71 45 78 65 46 69 6c 65  $testLinqExeFile
0ec0: 0d 0a 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73  ..} -constraints
0ed0: 20 7b 65 61 67 6c 65 20 66 69 6c 65 5f 74 65 73   {eagle file_tes
0ee0: 74 6c 69 6e 71 2e 65 78 65 7d 20 2d 72 65 73 75  tlinq.exe} -resu
0ef0: 6c 74 20 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c  lt $version(full
0f00: 29 7d 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23  )}....##########
0f10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0f20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0f30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0f40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0f50: 23 23 23 23 23 0d 0a 0d 0a 73 65 74 20 70 61 74  #####....set pat
0f60: 74 65 72 6e 73 20 5b 6c 69 73 74 20 5c 0d 0a 20  terns [list \.. 
0f70: 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20 3c     [appendArgs <
0f80: 76 65 72 73 69 6f 6e 3e 20 5b 73 74 72 69 6e 67  version> [string
0f90: 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e   map [list . \\.
0fa0: 5d 20 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29  ] $version(full)
0fb0: 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20 3c 2f 76  ] \..        </v
0fc0: 65 72 73 69 6f 6e 3e 5d 20 5c 0d 0a 20 20 20 20  ersion>] \..    
0fd0: 5b 61 70 70 65 6e 64 41 72 67 73 20 3c 76 65 72  [appendArgs <ver
0fe0: 73 69 6f 6e 3e 20 5b 73 74 72 69 6e 67 20 6d 61  sion> [string ma
0ff0: 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 24  p [list . \\.] $
1000: 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c  version(full)] \
1010: 0d 0a 20 20 20 20 20 20 20 20 3c 2f 76 65 72 73  ..        </vers
1020: 69 6f 6e 3e 5d 20 5c 0d 0a 20 20 20 20 5b 61 70  ion>] \..    [ap
1030: 70 65 6e 64 41 72 67 73 20 3c 76 65 72 73 69 6f  pendArgs <versio
1040: 6e 3e 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b  n> [string map [
1050: 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 24 76 65 72  list . \\.] $ver
1060: 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c 0d 0a 20  sion(full)] \.. 
1070: 20 20 20 20 20 20 20 3c 2f 76 65 72 73 69 6f 6e         </version
1080: 3e 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e  >] \..    [appen
1090: 64 41 72 67 73 20 3c 76 65 72 73 69 6f 6e 3e 20  dArgs <version> 
10a0: 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73  [string map [lis
10b0: 74 20 2e 20 5c 5c 2e 5d 20 24 76 65 72 73 69 6f  t . \\.] $versio
10c0: 6e 28 66 75 6c 6c 29 5d 20 5c 0d 0a 20 20 20 20  n(full)] \..    
10d0: 20 20 20 20 3c 2f 76 65 72 73 69 6f 6e 3e 5d 20      </version>] 
10e0: 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e 64 41 72  \..    [appendAr
10f0: 67 73 20 56 65 72 73 69 6f 6e 3d 20 5b 73 74 72  gs Version= [str
1100: 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20  ing map [list . 
1110: 5c 5c 2e 5d 20 24 76 65 72 73 69 6f 6e 28 66 75  \\.] $version(fu
1120: 6c 6c 29 5d 20 2c 5d 20 5c 0d 0a 20 20 20 20 5b  ll)] ,] \..    [
1130: 61 70 70 65 6e 64 41 72 67 73 20 26 71 75 6f 74  appendArgs &quot
1140: 5c 3b 20 5b 66 6f 72 6d 61 74 20 25 30 33 64 20  \; [format %03d 
1150: 24 76 65 72 73 69 6f 6e 28 62 75 69 6c 64 29 5d  $version(build)]
1160: 20 26 71 75 6f 74 5c 3b 5d 20 5c 0d 0a 20 20 20   &quot\;] \..   
1170: 20 5b 61 70 70 65 6e 64 41 72 67 73 20 41 73 73   [appendArgs Ass
1180: 65 6d 62 6c 79 56 65 72 73 69 6f 6e 5c 5c 28 5c  emblyVersion\\(\
1190: 22 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c  " [string map [l
11a0: 69 73 74 20 2e 20 5c 5c 2e 5d 20 5c 0d 0a 20 20  ist . \\.] \..  
11b0: 20 20 20 20 20 20 24 76 65 72 73 69 6f 6e 28 66        $version(f
11c0: 75 6c 6c 29 5d 20 5c 22 5c 5c 29 5d 20 5c 0d 0a  ull)] \"\\)] \..
11d0: 20 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20      [appendArgs 
11e0: 41 73 73 65 6d 62 6c 79 46 69 6c 65 56 65 72 73  AssemblyFileVers
11f0: 69 6f 6e 5c 5c 28 5c 22 20 5b 73 74 72 69 6e 67  ion\\(\" [string
1200: 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e   map [list . \\.
1210: 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20 24 76 65  ] \..        $ve
1220: 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c 22 5c  rsion(full)] \"\
1230: 5c 29 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65  \)] \..    [appe
1240: 6e 64 41 72 67 73 20 56 61 6c 75 65 3d 5c 22 20  ndArgs Value=\" 
1250: 5b 66 6f 72 6d 61 74 20 25 30 33 64 20 24 76 65  [format %03d $ve
1260: 72 73 69 6f 6e 28 62 75 69 6c 64 29 5d 20 5c 22  rsion(build)] \"
1270: 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e 64  ] \..    [append
1280: 41 72 67 73 20 56 61 6c 75 65 3d 5c 22 20 5b 73  Args Value=\" [s
1290: 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20  tring map [list 
12a0: 2e 20 5c 5c 2e 5d 20 24 76 65 72 73 69 6f 6e 28  . \\.] $version(
12b0: 66 75 6c 6c 29 5d 20 5c 22 5d 20 5c 0d 0a 20 20  full)] \"] \..  
12c0: 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20 56 61    [appendArgs Va
12d0: 6c 75 65 3d 5c 22 20 5b 73 74 72 69 6e 67 20 6d  lue=\" [string m
12e0: 61 70 20 5b 6c 69 73 74 20 2e 20 2c 5d 20 24 76  ap [list . ,] $v
12f0: 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c 22  ersion(full)] \"
1300: 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e 64  ] \..    [append
1310: 41 72 67 73 20 3c 49 4e 54 45 52 4f 50 5f 42 55  Args <INTEROP_BU
1320: 49 4c 44 5f 4e 55 4d 42 45 52 3e 20 5b 66 6f 72  ILD_NUMBER> [for
1330: 6d 61 74 20 25 30 33 64 20 24 76 65 72 73 69 6f  mat %03d $versio
1340: 6e 28 62 75 69 6c 64 29 5d 20 5c 0d 0a 20 20 20  n(build)] \..   
1350: 20 20 20 20 20 3c 2f 49 4e 54 45 52 4f 50 5f 42       </INTEROP_B
1360: 55 49 4c 44 5f 4e 55 4d 42 45 52 3e 5d 20 5c 0d  UILD_NUMBER>] \.
1370: 0a 20 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73  .    [appendArgs
1380: 20 3c 49 4e 54 45 52 4f 50 5f 4d 41 4e 49 46 45   <INTEROP_MANIFE
1390: 53 54 5f 56 45 52 53 49 4f 4e 3e 20 5b 73 74 72  ST_VERSION> [str
13a0: 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20  ing map [list . 
13b0: 5c 5c 2e 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20  \\.] \..        
13c0: 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20  $version(full)] 
13d0: 3c 2f 49 4e 54 45 52 4f 50 5f 4d 41 4e 49 46 45  </INTEROP_MANIFE
13e0: 53 54 5f 56 45 52 53 49 4f 4e 3e 5d 20 5c 0d 0a  ST_VERSION>] \..
13f0: 20 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20      [appendArgs 
1400: 3c 49 4e 54 45 52 4f 50 5f 52 43 5f 56 45 52 53  <INTEROP_RC_VERS
1410: 49 4f 4e 3e 20 5b 73 74 72 69 6e 67 20 6d 61 70  ION> [string map
1420: 20 5b 6c 69 73 74 20 2e 20 2c 5d 20 5c 0d 0a 20   [list . ,] \.. 
1430: 20 20 20 20 20 20 20 24 76 65 72 73 69 6f 6e 28         $version(
1440: 66 75 6c 6c 29 5d 20 3c 2f 49 4e 54 45 52 4f 50  full)] </INTEROP
1450: 5f 52 43 5f 56 45 52 53 49 4f 4e 3e 5d 20 5c 0d  _RC_VERSION>] \.
1460: 0a 20 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73  .    [appendArgs
1470: 20 5c 22 20 5b 73 74 72 69 6e 67 20 6d 61 70 20   \" [string map 
1480: 5b 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 24 76 65  [list . \\.] $ve
1490: 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c 22 5d  rsion(full)] \"]
14a0: 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e 64 41   \..    [appendA
14b0: 72 67 73 20 41 73 73 65 6d 62 6c 79 56 65 72 73  rgs AssemblyVers
14c0: 69 6f 6e 5c 5c 28 5c 22 20 5b 73 74 72 69 6e 67  ion\\(\" [string
14d0: 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e   map [list . \\.
14e0: 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20 24 76 65  ] \..        $ve
14f0: 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c 22 5c  rsion(full)] \"\
1500: 5c 29 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65  \)] \..    [appe
1510: 6e 64 41 72 67 73 20 41 73 73 65 6d 62 6c 79 46  ndArgs AssemblyF
1520: 69 6c 65 56 65 72 73 69 6f 6e 5c 5c 28 5c 22 20  ileVersion\\(\" 
1530: 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73  [string map [lis
1540: 74 20 2e 20 5c 5c 2e 5d 20 5c 0d 0a 20 20 20 20  t . \\.] \..    
1550: 20 20 20 20 24 76 65 72 73 69 6f 6e 28 66 75 6c      $version(ful
1560: 6c 29 5d 20 5c 22 5c 5c 29 5d 20 5c 0d 0a 20 20  l)] \"\\)] \..  
1570: 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20 5c 22    [appendArgs \"
1580: 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69   [string map [li
1590: 73 74 20 2e 20 5c 5c 2e 5d 20 24 76 65 72 73 69  st . \\.] $versi
15a0: 6f 6e 28 66 75 6c 6c 29 5d 20 5c 22 5d 20 5c 0d  on(full)] \"] \.
15b0: 0a 20 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73  .    [appendArgs
15c0: 20 5c 22 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f   \"SQLite.Intero
15d0: 70 2e 20 5b 66 6f 72 6d 61 74 20 25 30 33 64 20  p. [format %03d 
15e0: 24 76 65 72 73 69 6f 6e 28 62 75 69 6c 64 29 5d  $version(build)]
15f0: 20 2e 64 6c 6c 5c 22 5d 20 5c 0d 0a 20 20 20 20   .dll\"] \..    
1600: 5b 61 70 70 65 6e 64 41 72 67 73 20 41 73 73 65  [appendArgs Asse
1610: 6d 62 6c 79 56 65 72 73 69 6f 6e 5c 5c 28 5c 22  mblyVersion\\(\"
1620: 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69   [string map [li
1630: 73 74 20 2e 20 5c 5c 2e 5d 20 5c 0d 0a 20 20 20  st . \\.] \..   
1640: 20 20 20 20 20 24 76 65 72 73 69 6f 6e 28 66 75       $version(fu
1650: 6c 6c 29 5d 20 5c 22 5c 5c 29 5d 20 5c 0d 0a 20  ll)] \"\\)] \.. 
1660: 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20 41     [appendArgs A
1670: 73 73 65 6d 62 6c 79 46 69 6c 65 56 65 72 73 69  ssemblyFileVersi
1680: 6f 6e 5c 5c 28 5c 22 20 5b 73 74 72 69 6e 67 20  on\\(\" [string 
1690: 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e 5d  map [list . \\.]
16a0: 20 5c 0d 0a 20 20 20 20 20 20 20 20 24 76 65 72   \..        $ver
16b0: 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c 22 5c 5c  sion(full)] \"\\
16c0: 29 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e  )] \..    [appen
16d0: 64 41 72 67 73 20 41 73 73 65 6d 62 6c 79 56 65  dArgs AssemblyVe
16e0: 72 73 69 6f 6e 5c 5c 28 5c 22 20 5b 73 74 72 69  rsion\\(\" [stri
16f0: 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c  ng map [list . \
1700: 5c 2e 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20 24  \.] \..        $
1710: 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c  version(full)] \
1720: 22 5c 5c 29 5d 20 5c 0d 0a 20 20 20 20 5b 61 70  "\\)] \..    [ap
1730: 70 65 6e 64 41 72 67 73 20 41 73 73 65 6d 62 6c  pendArgs Assembl
1740: 79 46 69 6c 65 56 65 72 73 69 6f 6e 5c 5c 28 5c  yFileVersion\\(\
1750: 22 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c  " [string map [l
1760: 69 73 74 20 2e 20 5c 5c 2e 5d 20 5c 0d 0a 20 20  ist . \\.] \..  
1770: 20 20 20 20 20 20 24 76 65 72 73 69 6f 6e 28 66        $version(f
1780: 75 6c 6c 29 5d 20 5c 22 5c 5c 29 5d 20 5c 0d 0a  ull)] \"\\)] \..
1790: 20 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20      [appendArgs 
17a0: 56 65 72 73 69 6f 6e 3d 20 5b 73 74 72 69 6e 67  Version= [string
17b0: 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e   map [list . \\.
17c0: 5d 20 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29  ] $version(full)
17d0: 5d 20 2c 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70  ] ,] \..    [app
17e0: 65 6e 64 41 72 67 73 20 56 65 72 73 69 6f 6e 3d  endArgs Version=
17f0: 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69   [string map [li
1800: 73 74 20 2e 20 5c 5c 2e 5d 20 24 76 65 72 73 69  st . \\.] $versi
1810: 6f 6e 28 66 75 6c 6c 29 5d 20 2c 5d 20 5c 0d 0a  on(full)] ,] \..
1820: 20 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20      [appendArgs 
1830: 56 65 72 73 69 6f 6e 3d 20 5b 73 74 72 69 6e 67  Version= [string
1840: 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e   map [list . \\.
1850: 5d 20 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29  ] $version(full)
1860: 5d 20 2c 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70  ] ,] \..    [app
1870: 65 6e 64 41 72 67 73 20 41 73 73 65 6d 62 6c 79  endArgs Assembly
1880: 56 65 72 73 69 6f 6e 5c 5c 28 5c 22 20 5b 73 74  Version\\(\" [st
1890: 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2e  ring map [list .
18a0: 20 5c 5c 2e 5d 20 5c 0d 0a 20 20 20 20 20 20 20   \\.] \..       
18b0: 20 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d   $version(full)]
18c0: 20 5c 22 5c 5c 29 5d 20 5c 0d 0a 20 20 20 20 5b   \"\\)] \..    [
18d0: 61 70 70 65 6e 64 41 72 67 73 20 41 73 73 65 6d  appendArgs Assem
18e0: 62 6c 79 46 69 6c 65 56 65 72 73 69 6f 6e 5c 5c  blyFileVersion\\
18f0: 28 5c 22 20 5b 73 74 72 69 6e 67 20 6d 61 70 20  (\" [string map 
1900: 5b 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 5c 0d 0a  [list . \\.] \..
1910: 20 20 20 20 20 20 20 20 24 76 65 72 73 69 6f 6e          $version
1920: 28 66 75 6c 6c 29 5d 20 5c 22 5c 5c 29 5d 5d 0d  (full)] \"\\)]].
1930: 0a 0d 0a 73 65 74 20 66 69 6c 65 4e 61 6d 65 73  ...set fileNames
1940: 20 5b 6c 69 73 74 20 5c 0d 0a 20 20 20 20 53 51   [list \..    SQ
1950: 4c 69 74 65 2e 6e 75 73 70 65 63 20 5c 0d 0a 20  Lite.nuspec \.. 
1960: 20 20 20 53 51 4c 69 74 65 2e 4d 53 49 4c 2e 6e     SQLite.MSIL.n
1970: 75 73 70 65 63 20 5c 0d 0a 20 20 20 20 53 51 4c  uspec \..    SQL
1980: 69 74 65 2e 78 36 34 2e 6e 75 73 70 65 63 20 5c  ite.x64.nuspec \
1990: 0d 0a 20 20 20 20 53 51 4c 69 74 65 2e 78 38 36  ..    SQLite.x86
19a0: 2e 6e 75 73 70 65 63 20 5c 0d 0a 20 20 20 20 5b  .nuspec \..    [
19b0: 66 69 6c 65 20 6a 6f 69 6e 20 44 6f 63 20 45 78  file join Doc Ex
19c0: 74 72 61 20 64 62 66 61 63 74 6f 72 79 73 75 70  tra dbfactorysup
19d0: 70 6f 72 74 2e 68 74 6d 6c 5d 20 5c 0d 0a 20 20  port.html] \..  
19e0: 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 44 6f 63    [file join Doc
19f0: 20 45 78 74 72 61 20 77 65 6c 63 6f 6d 65 2e 68   Extra welcome.h
1a00: 74 6d 6c 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c  tml] \..    [fil
1a10: 65 20 6a 6f 69 6e 20 53 51 4c 69 74 65 2e 44 65  e join SQLite.De
1a20: 73 69 67 6e 65 72 20 41 73 73 65 6d 62 6c 79 49  signer AssemblyI
1a30: 6e 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20 20 20 5b  nfo.cs] \..    [
1a40: 66 69 6c 65 20 6a 6f 69 6e 20 53 51 4c 69 74 65  file join SQLite
1a50: 2e 44 65 73 69 67 6e 65 72 20 41 73 73 65 6d 62  .Designer Assemb
1a60: 6c 79 49 6e 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20  lyInfo.cs] \..  
1a70: 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 53 51 4c    [file join SQL
1a80: 69 74 65 2e 49 6e 74 65 72 6f 70 20 70 72 6f 70  ite.Interop prop
1a90: 73 20 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70  s SQLite.Interop
1aa0: 2e 76 73 70 72 6f 70 73 5d 20 5c 0d 0a 20 20 20  .vsprops] \..   
1ab0: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 53 51 4c 69   [file join SQLi
1ac0: 74 65 2e 49 6e 74 65 72 6f 70 20 70 72 6f 70 73  te.Interop props
1ad0: 20 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e   SQLite.Interop.
1ae0: 76 73 70 72 6f 70 73 5d 20 5c 0d 0a 20 20 20 20  vsprops] \..    
1af0: 5b 66 69 6c 65 20 6a 6f 69 6e 20 53 51 4c 69 74  [file join SQLit
1b00: 65 2e 49 6e 74 65 72 6f 70 20 70 72 6f 70 73 20  e.Interop props 
1b10: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 76  SQLite.Interop.v
1b20: 73 70 72 6f 70 73 5d 20 5c 0d 0a 20 20 20 20 5b  sprops] \..    [
1b30: 66 69 6c 65 20 6a 6f 69 6e 20 53 51 4c 69 74 65  file join SQLite
1b40: 2e 49 6e 74 65 72 6f 70 20 70 72 6f 70 73 20 53  .Interop props S
1b50: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 70 72  QLite.Interop.pr
1b60: 6f 70 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c  ops] \..    [fil
1b70: 65 20 6a 6f 69 6e 20 53 51 4c 69 74 65 2e 49 6e  e join SQLite.In
1b80: 74 65 72 6f 70 20 70 72 6f 70 73 20 53 51 4c 69  terop props SQLi
1b90: 74 65 2e 49 6e 74 65 72 6f 70 2e 70 72 6f 70 73  te.Interop.props
1ba0: 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a  ] \..    [file j
1bb0: 6f 69 6e 20 53 51 4c 69 74 65 2e 49 6e 74 65 72  oin SQLite.Inter
1bc0: 6f 70 20 70 72 6f 70 73 20 53 51 4c 69 74 65 2e  op props SQLite.
1bd0: 49 6e 74 65 72 6f 70 2e 70 72 6f 70 73 5d 20 5c  Interop.props] \
1be0: 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e  ..    [file join
1bf0: 20 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 20   SQLite.Interop 
1c00: 73 72 63 20 77 69 6e 20 69 6e 74 65 72 6f 70 2e  src win interop.
1c10: 68 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20  h] \..    [file 
1c20: 6a 6f 69 6e 20 53 79 73 74 65 6d 2e 44 61 74 61  join System.Data
1c30: 2e 53 51 4c 69 74 65 20 41 73 73 65 6d 62 6c 79  .SQLite Assembly
1c40: 49 6e 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20 20 20  Info.cs] \..    
1c50: 5b 66 69 6c 65 20 6a 6f 69 6e 20 53 79 73 74 65  [file join Syste
1c60: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 20 41 73  m.Data.SQLite As
1c70: 73 65 6d 62 6c 79 49 6e 66 6f 2e 63 73 5d 20 5c  semblyInfo.cs] \
1c80: 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e  ..    [file join
1c90: 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c   System.Data.SQL
1ca0: 69 74 65 20 53 51 4c 69 74 65 33 2e 63 73 5d 20  ite SQLite3.cs] 
1cb0: 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69  \..    [file joi
1cc0: 6e 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51  n System.Data.SQ
1cd0: 4c 69 74 65 20 55 6e 73 61 66 65 4e 61 74 69 76  Lite UnsafeNativ
1ce0: 65 4d 65 74 68 6f 64 73 2e 63 73 5d 20 5c 0d 0a  eMethods.cs] \..
1cf0: 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 53      [file join S
1d00: 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74  ystem.Data.SQLit
1d10: 65 2e 4c 69 6e 71 20 41 73 73 65 6d 62 6c 79 49  e.Linq AssemblyI
1d20: 6e 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20 20 20 5b  nfo.cs] \..    [
1d30: 66 69 6c 65 20 6a 6f 69 6e 20 53 79 73 74 65 6d  file join System
1d40: 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 4c 69 6e  .Data.SQLite.Lin
1d50: 71 20 41 73 73 65 6d 62 6c 79 49 6e 66 6f 2e 63  q AssemblyInfo.c
1d60: 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20  s] \..    [file 
1d70: 6a 6f 69 6e 20 74 65 73 74 20 41 73 73 65 6d 62  join test Assemb
1d80: 6c 79 49 6e 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20  lyInfo.cs] \..  
1d90: 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 74 65 73    [file join tes
1da0: 74 20 41 73 73 65 6d 62 6c 79 49 6e 66 6f 2e 63  t AssemblyInfo.c
1db0: 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20  s] \..    [file 
1dc0: 6a 6f 69 6e 20 74 65 73 74 20 61 70 70 2e 63 6f  join test app.co
1dd0: 6e 66 69 67 5d 20 5c 0d 0a 20 20 20 20 5b 66 69  nfig] \..    [fi
1de0: 6c 65 20 6a 6f 69 6e 20 74 65 73 74 6c 69 6e 71  le join testlinq
1df0: 20 32 30 30 38 20 41 70 70 2e 63 6f 6e 66 69 67   2008 App.config
1e00: 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a  ] \..    [file j
1e10: 6f 69 6e 20 74 65 73 74 6c 69 6e 71 20 32 30 31  oin testlinq 201
1e20: 30 20 41 70 70 2e 63 6f 6e 66 69 67 5d 20 5c 0d  0 App.config] \.
1e30: 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  .    [file join 
1e40: 74 65 73 74 6c 69 6e 71 20 50 72 6f 70 65 72 74  testlinq Propert
1e50: 69 65 73 20 41 73 73 65 6d 62 6c 79 49 6e 66 6f  ies AssemblyInfo
1e60: 2e 63 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c  .cs] \..    [fil
1e70: 65 20 6a 6f 69 6e 20 74 65 73 74 6c 69 6e 71 20  e join testlinq 
1e80: 50 72 6f 70 65 72 74 69 65 73 20 41 73 73 65 6d  Properties Assem
1e90: 62 6c 79 49 6e 66 6f 2e 63 73 5d 5d 0d 0a 0d 0a  blyInfo.cs]]....
1ea0: 66 6f 72 20 7b 73 65 74 20 69 20 31 7d 20 7b 24  for {set i 1} {$
1eb0: 69 20 3c 3d 20 5b 6c 6c 65 6e 67 74 68 20 24 66  i <= [llength $f
1ec0: 69 6c 65 4e 61 6d 65 73 5d 7d 20 7b 69 6e 63 72  ileNames]} {incr
1ed0: 20 69 7d 20 7b 0d 0a 20 20 73 65 74 20 70 61 74   i} {..  set pat
1ee0: 74 65 72 6e 20 5b 6c 69 6e 64 65 78 20 24 70 61  tern [lindex $pa
1ef0: 74 74 65 72 6e 73 20 5b 65 78 70 72 20 7b 24 69  tterns [expr {$i
1f00: 20 2d 20 31 7d 5d 5d 0d 0a 20 20 73 65 74 20 66   - 1}]]..  set f
1f10: 69 6c 65 4e 61 6d 65 20 5b 6c 69 6e 64 65 78 20  ileName [lindex 
1f20: 24 66 69 6c 65 4e 61 6d 65 73 20 5b 65 78 70 72  $fileNames [expr
1f30: 20 7b 24 69 20 2d 20 31 7d 5d 5d 0d 0a 20 20 73   {$i - 1}]]..  s
1f40: 65 74 20 63 6f 6e 73 74 72 61 69 6e 74 20 5b 73  et constraint [s
1f50: 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20  tring map [list 
1f60: 2f 20 5f 20 5c 5c 20 5f 5d 20 24 66 69 6c 65 4e  / _ \\ _] $fileN
1f70: 61 6d 65 5d 0d 0a 20 20 73 65 74 20 66 69 6c 65  ame]..  set file
1f80: 4e 61 6d 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  Name [file join 
1f90: 24 72 6f 6f 74 5f 70 61 74 68 20 24 66 69 6c 65  $root_path $file
1fa0: 4e 61 6d 65 5d 0d 0a 0d 0a 20 20 69 66 20 7b 21  Name]....  if {!
1fb0: 5b 68 61 76 65 43 6f 6e 73 74 72 61 69 6e 74 20  [haveConstraint 
1fc0: 5b 61 70 70 65 6e 64 41 72 67 73 20 66 69 6c 65  [appendArgs file
1fd0: 5f 20 24 63 6f 6e 73 74 72 61 69 6e 74 5d 5d 7d  _ $constraint]]}
1fe0: 20 74 68 65 6e 20 7b 0d 0a 20 20 20 20 63 68 65   then {..    che
1ff0: 63 6b 46 6f 72 46 69 6c 65 20 24 74 65 73 74 5f  ckForFile $test_
2000: 63 68 61 6e 6e 65 6c 20 24 66 69 6c 65 4e 61 6d  channel $fileNam
2010: 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 0d 0a 20  e $constraint.. 
2020: 20 7d 0d 0a 0d 0a 20 20 72 75 6e 54 65 73 74 20   }....  runTest 
2030: 7b 74 65 73 74 20 5b 61 70 70 65 6e 64 41 72 67  {test [appendArg
2040: 73 20 76 65 72 73 69 6f 6e 2d 31 2e 35 2e 20 24  s version-1.5. $
2050: 69 5d 20 5c 0d 0a 20 20 20 20 20 20 5b 61 70 70  i] \..      [app
2060: 65 6e 64 41 72 67 73 20 22 70 61 74 74 65 72 6e  endArgs "pattern
2070: 20 7b 22 20 24 70 61 74 74 65 72 6e 20 22 7d 20   {" $pattern "} 
2080: 69 6e 20 66 69 6c 65 20 5c 22 22 20 24 66 69 6c  in file \"" $fil
2090: 65 4e 61 6d 65 20 5c 22 5d 20 2d 62 6f 64 79 20  eName \"] -body 
20a0: 7b 0d 0a 20 20 20 20 72 65 67 65 78 70 20 2d 2d  {..    regexp --
20b0: 20 24 70 61 74 74 65 72 6e 20 5b 72 65 61 64 46   $pattern [readF
20c0: 69 6c 65 20 24 66 69 6c 65 4e 61 6d 65 5d 0d 0a  ile $fileName]..
20d0: 20 20 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73    } -constraints
20e0: 20 5b 6c 69 73 74 20 65 61 67 6c 65 20 5b 61 70   [list eagle [ap
20f0: 70 65 6e 64 41 72 67 73 20 66 69 6c 65 5f 20 24  pendArgs file_ $
2100: 63 6f 6e 73 74 72 61 69 6e 74 5d 5d 20 2d 72 65  constraint]] -re
2110: 73 75 6c 74 20 7b 31 7d 7d 0d 0a 7d 0d 0a 0d 0a  sult {1}}..}....
2120: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2130: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2140: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2150: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2160: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d  ###############.
2170: 0a 0d 0a 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70  ...unset -nocomp
2180: 6c 61 69 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20  lain constraint 
2190: 66 69 6c 65 4e 61 6d 65 20 70 61 74 74 65 72 6e  fileName pattern
21a0: 20 66 69 6c 65 4e 61 6d 65 73 20 70 61 74 74 65   fileNames patte
21b0: 72 6e 73 20 69 20 76 65 72 73 69 6f 6e 0d 0a 0d  rns i version...
21c0: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
21d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
21e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
21f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2200: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2210: 0d 0a 0d 0a 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d  ....unset -nocom
2220: 70 6c 61 69 6e 20 74 65 73 74 4c 69 6e 71 45 78  plain testLinqEx
2230: 65 46 69 6c 65 20 74 65 73 74 45 78 65 46 69 6c  eFile testExeFil
2240: 65 20 73 79 73 74 65 6d 44 61 74 61 53 51 4c 69  e systemDataSQLi
2250: 74 65 4c 69 6e 71 44 6c 6c 46 69 6c 65 20 5c 0d  teLinqDllFile \.
2260: 0a 20 20 20 20 73 79 73 74 65 6d 44 61 74 61 53  .    systemDataS
2270: 51 4c 69 74 65 44 6c 6c 46 69 6c 65 0d 0a 0d 0a  QLiteDllFile....
2280: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2290: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
22c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d  ###############.
22d0: 0a 0d 0a 72 75 6e 53 51 4c 69 74 65 54 65 73 74  ...runSQLiteTest
22e0: 45 70 69 6c 6f 67 75 65 0d 0a 72 75 6e 54 65 73  Epilogue..runTes
22f0: 74 45 70 69 6c 6f 67 75 65 0d 0a                 tEpilogue..