System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 04edfadeaab9a72b151d51f43e8a81938fb00870:


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 56 65 72 73 69 6f 6e 3d 20 5b  dArgs Version= [
16e0: 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74  string map [list
16f0: 20 2e 20 5c 5c 2e 5d 20 24 76 65 72 73 69 6f 6e   . \\.] $version
1700: 28 66 75 6c 6c 29 5d 20 2c 5d 20 5c 0d 0a 20 20  (full)] ,] \..  
1710: 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20 56 65    [appendArgs Ve
1720: 72 73 69 6f 6e 3d 20 5b 73 74 72 69 6e 67 20 6d  rsion= [string m
1730: 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20  ap [list . \\.] 
1740: 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20  $version(full)] 
1750: 2c 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e  ,] \..    [appen
1760: 64 41 72 67 73 20 56 65 72 73 69 6f 6e 3d 20 5b  dArgs Version= [
1770: 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74  string map [list
1780: 20 2e 20 5c 5c 2e 5d 20 24 76 65 72 73 69 6f 6e   . \\.] $version
1790: 28 66 75 6c 6c 29 5d 20 2c 5d 5d 0d 0a 0d 0a 73  (full)] ,]]....s
17a0: 65 74 20 66 69 6c 65 4e 61 6d 65 73 20 5b 6c 69  et fileNames [li
17b0: 73 74 20 5c 0d 0a 20 20 20 20 53 51 4c 69 74 65  st \..    SQLite
17c0: 2e 6e 75 73 70 65 63 20 5c 0d 0a 20 20 20 20 53  .nuspec \..    S
17d0: 51 4c 69 74 65 2e 4d 53 49 4c 2e 6e 75 73 70 65  QLite.MSIL.nuspe
17e0: 63 20 5c 0d 0a 20 20 20 20 53 51 4c 69 74 65 2e  c \..    SQLite.
17f0: 78 36 34 2e 6e 75 73 70 65 63 20 5c 0d 0a 20 20  x64.nuspec \..  
1800: 20 20 53 51 4c 69 74 65 2e 78 38 36 2e 6e 75 73    SQLite.x86.nus
1810: 70 65 63 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65  pec \..    [file
1820: 20 6a 6f 69 6e 20 44 6f 63 20 45 78 74 72 61 20   join Doc Extra 
1830: 64 62 66 61 63 74 6f 72 79 73 75 70 70 6f 72 74  dbfactorysupport
1840: 2e 68 74 6d 6c 5d 20 5c 0d 0a 20 20 20 20 5b 66  .html] \..    [f
1850: 69 6c 65 20 6a 6f 69 6e 20 44 6f 63 20 45 78 74  ile join Doc Ext
1860: 72 61 20 77 65 6c 63 6f 6d 65 2e 68 74 6d 6c 5d  ra welcome.html]
1870: 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f   \..    [file jo
1880: 69 6e 20 53 51 4c 69 74 65 2e 44 65 73 69 67 6e  in SQLite.Design
1890: 65 72 20 41 73 73 65 6d 62 6c 79 49 6e 66 6f 2e  er AssemblyInfo.
18a0: 63 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65  cs] \..    [file
18b0: 20 6a 6f 69 6e 20 53 51 4c 69 74 65 2e 44 65 73   join SQLite.Des
18c0: 69 67 6e 65 72 20 41 73 73 65 6d 62 6c 79 49 6e  igner AssemblyIn
18d0: 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20 20 20 5b 66  fo.cs] \..    [f
18e0: 69 6c 65 20 6a 6f 69 6e 20 53 51 4c 69 74 65 2e  ile join SQLite.
18f0: 49 6e 74 65 72 6f 70 20 70 72 6f 70 73 20 53 51  Interop props SQ
1900: 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 76 73 70  Lite.Interop.vsp
1910: 72 6f 70 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69  rops] \..    [fi
1920: 6c 65 20 6a 6f 69 6e 20 53 51 4c 69 74 65 2e 49  le join SQLite.I
1930: 6e 74 65 72 6f 70 20 70 72 6f 70 73 20 53 51 4c  nterop props SQL
1940: 69 74 65 2e 49 6e 74 65 72 6f 70 2e 76 73 70 72  ite.Interop.vspr
1950: 6f 70 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c  ops] \..    [fil
1960: 65 20 6a 6f 69 6e 20 53 51 4c 69 74 65 2e 49 6e  e join SQLite.In
1970: 74 65 72 6f 70 20 70 72 6f 70 73 20 53 51 4c 69  terop props SQLi
1980: 74 65 2e 49 6e 74 65 72 6f 70 2e 76 73 70 72 6f  te.Interop.vspro
1990: 70 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65  ps] \..    [file
19a0: 20 6a 6f 69 6e 20 53 51 4c 69 74 65 2e 49 6e 74   join SQLite.Int
19b0: 65 72 6f 70 20 70 72 6f 70 73 20 53 51 4c 69 74  erop props SQLit
19c0: 65 2e 49 6e 74 65 72 6f 70 2e 70 72 6f 70 73 5d  e.Interop.props]
19d0: 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f   \..    [file jo
19e0: 69 6e 20 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f  in SQLite.Intero
19f0: 70 20 70 72 6f 70 73 20 53 51 4c 69 74 65 2e 49  p props SQLite.I
1a00: 6e 74 65 72 6f 70 2e 70 72 6f 70 73 5d 20 5c 0d  nterop.props] \.
1a10: 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  .    [file join 
1a20: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 20 70  SQLite.Interop p
1a30: 72 6f 70 73 20 53 51 4c 69 74 65 2e 49 6e 74 65  rops SQLite.Inte
1a40: 72 6f 70 2e 70 72 6f 70 73 5d 20 5c 0d 0a 20 20  rop.props] \..  
1a50: 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 53 51 4c    [file join SQL
1a60: 69 74 65 2e 49 6e 74 65 72 6f 70 20 73 72 63 20  ite.Interop src 
1a70: 77 69 6e 20 69 6e 74 65 72 6f 70 2e 68 5d 20 5c  win interop.h] \
1a80: 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e  ..    [file join
1a90: 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c   System.Data.SQL
1aa0: 69 74 65 20 41 73 73 65 6d 62 6c 79 49 6e 66 6f  ite AssemblyInfo
1ab0: 2e 63 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c  .cs] \..    [fil
1ac0: 65 20 6a 6f 69 6e 20 53 79 73 74 65 6d 2e 44 61  e join System.Da
1ad0: 74 61 2e 53 51 4c 69 74 65 20 41 73 73 65 6d 62  ta.SQLite Assemb
1ae0: 6c 79 49 6e 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20  lyInfo.cs] \..  
1af0: 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 53 79 73    [file join Sys
1b00: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 20  tem.Data.SQLite 
1b10: 53 51 4c 69 74 65 33 2e 63 73 5d 20 5c 0d 0a 20  SQLite3.cs] \.. 
1b20: 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 53 79     [file join Sy
1b30: 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65  stem.Data.SQLite
1b40: 20 55 6e 73 61 66 65 4e 61 74 69 76 65 4d 65 74   UnsafeNativeMet
1b50: 68 6f 64 73 2e 63 73 5d 20 5c 0d 0a 20 20 20 20  hods.cs] \..    
1b60: 5b 66 69 6c 65 20 6a 6f 69 6e 20 53 79 73 74 65  [file join Syste
1b70: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 4c 69  m.Data.SQLite.Li
1b80: 6e 71 20 41 73 73 65 6d 62 6c 79 49 6e 66 6f 2e  nq AssemblyInfo.
1b90: 63 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65  cs] \..    [file
1ba0: 20 6a 6f 69 6e 20 53 79 73 74 65 6d 2e 44 61 74   join System.Dat
1bb0: 61 2e 53 51 4c 69 74 65 2e 4c 69 6e 71 20 41 73  a.SQLite.Linq As
1bc0: 73 65 6d 62 6c 79 49 6e 66 6f 2e 63 73 5d 20 5c  semblyInfo.cs] \
1bd0: 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e  ..    [file join
1be0: 20 74 65 73 74 20 61 70 70 2e 63 6f 6e 66 69 67   test app.config
1bf0: 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a  ] \..    [file j
1c00: 6f 69 6e 20 74 65 73 74 6c 69 6e 71 20 32 30 30  oin testlinq 200
1c10: 38 20 41 70 70 2e 63 6f 6e 66 69 67 5d 20 5c 0d  8 App.config] \.
1c20: 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  .    [file join 
1c30: 74 65 73 74 6c 69 6e 71 20 32 30 31 30 20 41 70  testlinq 2010 Ap
1c40: 70 2e 63 6f 6e 66 69 67 5d 5d 0d 0a 0d 0a 66 6f  p.config]]....fo
1c50: 72 20 7b 73 65 74 20 69 20 31 7d 20 7b 24 69 20  r {set i 1} {$i 
1c60: 3c 3d 20 5b 6c 6c 65 6e 67 74 68 20 24 66 69 6c  <= [llength $fil
1c70: 65 4e 61 6d 65 73 5d 7d 20 7b 69 6e 63 72 20 69  eNames]} {incr i
1c80: 7d 20 7b 0d 0a 20 20 73 65 74 20 70 61 74 74 65  } {..  set patte
1c90: 72 6e 20 5b 6c 69 6e 64 65 78 20 24 70 61 74 74  rn [lindex $patt
1ca0: 65 72 6e 73 20 5b 65 78 70 72 20 7b 24 69 20 2d  erns [expr {$i -
1cb0: 20 31 7d 5d 5d 0d 0a 20 20 73 65 74 20 66 69 6c   1}]]..  set fil
1cc0: 65 4e 61 6d 65 20 5b 6c 69 6e 64 65 78 20 24 66  eName [lindex $f
1cd0: 69 6c 65 4e 61 6d 65 73 20 5b 65 78 70 72 20 7b  ileNames [expr {
1ce0: 24 69 20 2d 20 31 7d 5d 5d 0d 0a 20 20 73 65 74  $i - 1}]]..  set
1cf0: 20 63 6f 6e 73 74 72 61 69 6e 74 20 5b 73 74 72   constraint [str
1d00: 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2f 20  ing map [list / 
1d10: 5f 20 5c 5c 20 5f 5d 20 24 66 69 6c 65 4e 61 6d  _ \\ _] $fileNam
1d20: 65 5d 0d 0a 20 20 73 65 74 20 66 69 6c 65 4e 61  e]..  set fileNa
1d30: 6d 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 72  me [file join $r
1d40: 6f 6f 74 5f 70 61 74 68 20 24 66 69 6c 65 4e 61  oot_path $fileNa
1d50: 6d 65 5d 0d 0a 0d 0a 20 20 69 66 20 7b 21 5b 68  me]....  if {![h
1d60: 61 76 65 43 6f 6e 73 74 72 61 69 6e 74 20 5b 61  aveConstraint [a
1d70: 70 70 65 6e 64 41 72 67 73 20 66 69 6c 65 5f 20  ppendArgs file_ 
1d80: 24 63 6f 6e 73 74 72 61 69 6e 74 5d 5d 7d 20 74  $constraint]]} t
1d90: 68 65 6e 20 7b 0d 0a 20 20 20 20 63 68 65 63 6b  hen {..    check
1da0: 46 6f 72 46 69 6c 65 20 24 74 65 73 74 5f 63 68  ForFile $test_ch
1db0: 61 6e 6e 65 6c 20 24 66 69 6c 65 4e 61 6d 65 20  annel $fileName 
1dc0: 24 63 6f 6e 73 74 72 61 69 6e 74 0d 0a 20 20 7d  $constraint..  }
1dd0: 0d 0a 0d 0a 20 20 72 75 6e 54 65 73 74 20 7b 74  ....  runTest {t
1de0: 65 73 74 20 5b 61 70 70 65 6e 64 41 72 67 73 20  est [appendArgs 
1df0: 76 65 72 73 69 6f 6e 2d 31 2e 35 2e 20 24 69 5d  version-1.5. $i]
1e00: 20 5c 0d 0a 20 20 20 20 20 20 5b 61 70 70 65 6e   \..      [appen
1e10: 64 41 72 67 73 20 22 70 61 74 74 65 72 6e 20 7b  dArgs "pattern {
1e20: 22 20 24 70 61 74 74 65 72 6e 20 22 7d 20 69 6e  " $pattern "} in
1e30: 20 66 69 6c 65 20 5c 22 22 20 24 66 69 6c 65 4e   file \"" $fileN
1e40: 61 6d 65 20 5c 22 5d 20 2d 62 6f 64 79 20 7b 0d  ame \"] -body {.
1e50: 0a 20 20 20 20 72 65 67 65 78 70 20 2d 2d 20 24  .    regexp -- $
1e60: 70 61 74 74 65 72 6e 20 5b 72 65 61 64 46 69 6c  pattern [readFil
1e70: 65 20 24 66 69 6c 65 4e 61 6d 65 5d 0d 0a 20 20  e $fileName]..  
1e80: 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 5b  } -constraints [
1e90: 6c 69 73 74 20 65 61 67 6c 65 20 5b 61 70 70 65  list eagle [appe
1ea0: 6e 64 41 72 67 73 20 66 69 6c 65 5f 20 24 63 6f  ndArgs file_ $co
1eb0: 6e 73 74 72 61 69 6e 74 5d 5d 20 2d 72 65 73 75  nstraint]] -resu
1ec0: 6c 74 20 7b 31 7d 7d 0d 0a 7d 0d 0a 0d 0a 23 23  lt {1}}..}....##
1ed0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1ee0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1ef0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1f00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1f10: 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0a 0d  #############...
1f20: 0a 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70 6c 61  .unset -nocompla
1f30: 69 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 66 69  in constraint fi
1f40: 6c 65 4e 61 6d 65 20 70 61 74 74 65 72 6e 20 66  leName pattern f
1f50: 69 6c 65 4e 61 6d 65 73 20 70 61 74 74 65 72 6e  ileNames pattern
1f60: 73 20 69 20 76 65 72 73 69 6f 6e 0d 0a 0d 0a 23  s i version....#
1f70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1f80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1f90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fa0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1fb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0a  ##############..
1fc0: 0d 0a 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70 6c  ..unset -nocompl
1fd0: 61 69 6e 20 74 65 73 74 4c 69 6e 71 45 78 65 46  ain testLinqExeF
1fe0: 69 6c 65 20 74 65 73 74 45 78 65 46 69 6c 65 20  ile testExeFile 
1ff0: 73 79 73 74 65 6d 44 61 74 61 53 51 4c 69 74 65  systemDataSQLite
2000: 4c 69 6e 71 44 6c 6c 46 69 6c 65 20 5c 0d 0a 20  LinqDllFile \.. 
2010: 20 20 20 73 79 73 74 65 6d 44 61 74 61 53 51 4c     systemDataSQL
2020: 69 74 65 44 6c 6c 46 69 6c 65 0d 0a 0d 0a 23 23  iteDllFile....##
2030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2060: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2070: 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0a 0d  #############...
2080: 0a 72 75 6e 53 51 4c 69 74 65 54 65 73 74 45 70  .runSQLiteTestEp
2090: 69 6c 6f 67 75 65 0d 0a 72 75 6e 54 65 73 74 45  ilogue..runTestE
20a0: 70 69 6c 6f 67 75 65 0d 0a                       pilogue..