System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 55df4aa1e7cf6da503dbda63362373c2c0046ebe:


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 38 30 3b 20              80; 
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 27 20 61 73 73 65 6d 62 6c 79 20 76  Lite' assembly v
0c90: 65 72 73 69 6f 6e 7d 20 2d 62 6f 64 79 20 7b 0d  ersion} -body {.
0ca0: 0a 20 20 73 65 74 20 61 73 73 65 6d 62 6c 79 20  .  set assembly 
0cb0: 5b 6f 62 6a 65 63 74 20 6c 6f 61 64 20 53 79 73  [object load Sys
0cc0: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 5d  tem.Data.SQLite]
0cd0: 0d 0a 0d 0a 20 20 66 6f 72 65 61 63 68 20 61 73  ....  foreach as
0ce0: 73 65 6d 62 6c 79 20 5b 6f 62 6a 65 63 74 20 61  sembly [object a
0cf0: 73 73 65 6d 62 6c 69 65 73 5d 20 7b 0d 0a 20 20  ssemblies] {..  
0d00: 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61    if {[string ma
0d10: 74 63 68 20 53 79 73 74 65 6d 2e 44 61 74 61 2e  tch System.Data.
0d20: 53 51 4c 69 74 65 2c 2a 20 24 61 73 73 65 6d 62  SQLite,* $assemb
0d30: 6c 79 5d 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 20  ly]} then {..   
0d40: 20 20 20 72 65 74 75 72 6e 20 5b 72 65 67 65 78     return [regex
0d50: 70 20 2d 2d 20 5b 61 70 70 65 6e 64 41 72 67 73  p -- [appendArgs
0d60: 20 56 65 72 73 69 6f 6e 3d 20 5b 73 74 72 69 6e   Version= [strin
0d70: 67 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c  g map [list . \\
0d80: 2e 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20 20 20  .] \..          
0d90: 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20  $version(full)] 
0da0: 2c 5d 20 24 61 73 73 65 6d 62 6c 79 5d 0d 0a 20  ,] $assembly].. 
0db0: 20 20 20 7d 0d 0a 20 20 7d 0d 0a 0d 0a 20 20 72     }..  }....  r
0dc0: 65 74 75 72 6e 20 66 61 6c 73 65 0d 0a 7d 20 2d  eturn false..} -
0dd0: 63 6c 65 61 6e 75 70 20 7b 0d 0a 20 20 75 6e 73  cleanup {..  uns
0de0: 65 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 61  et -nocomplain a
0df0: 73 73 65 6d 62 6c 79 0d 0a 7d 20 2d 63 6f 6e 73  ssembly..} -cons
0e00: 74 72 61 69 6e 74 73 20 7b 65 61 67 6c 65 20 53  traints {eagle S
0e10: 51 4c 69 74 65 20 53 79 73 74 65 6d 2e 44 61 74  QLite System.Dat
0e20: 61 2e 53 51 4c 69 74 65 7d 20 2d 72 65 73 75 6c  a.SQLite} -resul
0e30: 74 20 7b 31 7d 7d 0d 0a 0d 0a 23 23 23 23 23 23  t {1}}....######
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 23 23  ################
0e60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0e70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0e80: 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 72 75 6e  #########....run
0e90: 54 65 73 74 20 7b 74 65 73 74 20 76 65 72 73 69  Test {test versi
0ea0: 6f 6e 2d 31 2e 33 20 7b 27 53 79 73 74 65 6d 2e  on-1.3 {'System.
0eb0: 44 61 74 61 2e 53 51 4c 69 74 65 2e 4c 69 6e 71  Data.SQLite.Linq
0ec0: 27 20 62 69 6e 61 72 79 20 76 65 72 73 69 6f 6e  ' binary version
0ed0: 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 66 69 6c  } -body {..  fil
0ee0: 65 20 76 65 72 73 69 6f 6e 20 24 73 79 73 74 65  e version $syste
0ef0: 6d 44 61 74 61 53 51 4c 69 74 65 4c 69 6e 71 44  mDataSQLiteLinqD
0f00: 6c 6c 46 69 6c 65 0d 0a 7d 20 2d 63 6f 6e 73 74  llFile..} -const
0f10: 72 61 69 6e 74 73 20 7b 65 61 67 6c 65 20 66 69  raints {eagle fi
0f20: 6c 65 5f 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  le_System.Data.S
0f30: 51 4c 69 74 65 2e 4c 69 6e 71 2e 64 6c 6c 7d 20  QLite.Linq.dll} 
0f40: 2d 72 65 73 75 6c 74 20 24 76 65 72 73 69 6f 6e  -result $version
0f50: 28 66 75 6c 6c 29 7d 0d 0a 0d 0a 23 23 23 23 23  (full)}....#####
0f60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0f70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0f80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0f90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0fa0: 23 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 72 75  ##########....ru
0fb0: 6e 54 65 73 74 20 7b 74 65 73 74 20 76 65 72 73  nTest {test vers
0fc0: 69 6f 6e 2d 31 2e 34 20 7b 27 53 79 73 74 65 6d  ion-1.4 {'System
0fd0: 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 4c 69 6e  .Data.SQLite.Lin
0fe0: 71 27 20 61 73 73 65 6d 62 6c 79 20 76 65 72 73  q' assembly vers
0ff0: 69 6f 6e 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20  ion} -body {..  
1000: 73 65 74 20 61 73 73 65 6d 62 6c 79 20 5b 6f 62  set assembly [ob
1010: 6a 65 63 74 20 6c 6f 61 64 20 53 79 73 74 65 6d  ject load System
1020: 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 4c 69 6e  .Data.SQLite.Lin
1030: 71 5d 0d 0a 0d 0a 20 20 66 6f 72 65 61 63 68 20  q]....  foreach 
1040: 61 73 73 65 6d 62 6c 79 20 5b 6f 62 6a 65 63 74  assembly [object
1050: 20 61 73 73 65 6d 62 6c 69 65 73 5d 20 7b 0d 0a   assemblies] {..
1060: 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20      if {[string 
1070: 6d 61 74 63 68 20 53 79 73 74 65 6d 2e 44 61 74  match System.Dat
1080: 61 2e 53 51 4c 69 74 65 2e 4c 69 6e 71 2c 2a 20  a.SQLite.Linq,* 
1090: 24 61 73 73 65 6d 62 6c 79 5d 7d 20 74 68 65 6e  $assembly]} then
10a0: 20 7b 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e   {..      return
10b0: 20 5b 72 65 67 65 78 70 20 2d 2d 20 5b 61 70 70   [regexp -- [app
10c0: 65 6e 64 41 72 67 73 20 56 65 72 73 69 6f 6e 3d  endArgs Version=
10d0: 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69   [string map [li
10e0: 73 74 20 2e 20 5c 5c 2e 5d 20 5c 0d 0a 20 20 20  st . \\.] \..   
10f0: 20 20 20 20 20 20 20 24 76 65 72 73 69 6f 6e 28         $version(
1100: 66 75 6c 6c 29 5d 20 2c 5d 20 24 61 73 73 65 6d  full)] ,] $assem
1110: 62 6c 79 5d 0d 0a 20 20 20 20 7d 0d 0a 20 20 7d  bly]..    }..  }
1120: 0d 0a 0d 0a 20 20 72 65 74 75 72 6e 20 66 61 6c  ....  return fal
1130: 73 65 0d 0a 7d 20 2d 63 6c 65 61 6e 75 70 20 7b  se..} -cleanup {
1140: 0d 0a 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d  ..  unset -nocom
1150: 70 6c 61 69 6e 20 61 73 73 65 6d 62 6c 79 0d 0a  plain assembly..
1160: 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b  } -constraints {
1170: 65 61 67 6c 65 20 53 51 4c 69 74 65 20 53 79 73  eagle SQLite Sys
1180: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 20  tem.Data.SQLite 
1190: 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69  System.Data.SQLi
11a0: 74 65 2e 4c 69 6e 71 7d 20 5c 0d 0a 2d 72 65 73  te.Linq} \..-res
11b0: 75 6c 74 20 7b 31 7d 7d 0d 0a 0d 0a 23 23 23 23  ult {1}}....####
11c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
11d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
11e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
11f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1200: 23 23 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 72  ###########....r
1210: 75 6e 54 65 73 74 20 7b 74 65 73 74 20 76 65 72  unTest {test ver
1220: 73 69 6f 6e 2d 31 2e 35 20 7b 27 74 65 73 74 27  sion-1.5 {'test'
1230: 20 62 69 6e 61 72 79 20 76 65 72 73 69 6f 6e 7d   binary version}
1240: 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 66 69 6c 65   -body {..  file
1250: 20 76 65 72 73 69 6f 6e 20 24 74 65 73 74 45 78   version $testEx
1260: 65 46 69 6c 65 0d 0a 7d 20 2d 63 6f 6e 73 74 72  eFile..} -constr
1270: 61 69 6e 74 73 20 7b 65 61 67 6c 65 20 66 69 6c  aints {eagle fil
1280: 65 5f 74 65 73 74 2e 65 78 65 7d 20 2d 72 65 73  e_test.exe} -res
1290: 75 6c 74 20 24 76 65 72 73 69 6f 6e 28 66 75 6c  ult $version(ful
12a0: 6c 29 7d 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23  l)}....#########
12b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
12c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
12d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
12e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
12f0: 23 23 23 23 23 23 0d 0a 0d 0a 72 75 6e 54 65 73  ######....runTes
1300: 74 20 7b 74 65 73 74 20 76 65 72 73 69 6f 6e 2d  t {test version-
1310: 31 2e 36 20 7b 27 74 65 73 74 6c 69 6e 71 27 20  1.6 {'testlinq' 
1320: 62 69 6e 61 72 79 20 76 65 72 73 69 6f 6e 7d 20  binary version} 
1330: 2d 62 6f 64 79 20 7b 0d 0a 20 20 66 69 6c 65 20  -body {..  file 
1340: 76 65 72 73 69 6f 6e 20 24 74 65 73 74 4c 69 6e  version $testLin
1350: 71 45 78 65 46 69 6c 65 0d 0a 7d 20 2d 63 6f 6e  qExeFile..} -con
1360: 73 74 72 61 69 6e 74 73 20 7b 65 61 67 6c 65 20  straints {eagle 
1370: 66 69 6c 65 5f 74 65 73 74 6c 69 6e 71 2e 65 78  file_testlinq.ex
1380: 65 7d 20 2d 72 65 73 75 6c 74 20 24 76 65 72 73  e} -result $vers
1390: 69 6f 6e 28 66 75 6c 6c 29 7d 0d 0a 0d 0a 23 23  ion(full)}....##
13a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
13b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
13c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
13d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
13e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0a 0d  #############...
13f0: 0a 73 65 74 20 70 61 74 74 65 72 6e 73 20 5b 6c  .set patterns [l
1400: 69 73 74 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65  ist \..    [appe
1410: 6e 64 41 72 67 73 20 56 65 72 73 69 6f 6e 3d 20  ndArgs Version= 
1420: 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73  [string map [lis
1430: 74 20 2e 20 5c 5c 2e 5d 20 24 76 65 72 73 69 6f  t . \\.] $versio
1440: 6e 28 66 75 6c 6c 29 5d 20 2c 5d 20 5c 0d 0a 20  n(full)] ,] \.. 
1450: 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20 3c     [appendArgs <
1460: 76 65 72 73 69 6f 6e 3e 20 5b 73 74 72 69 6e 67  version> [string
1470: 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e   map [list . \\.
1480: 5d 20 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29  ] $version(full)
1490: 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20 3c 2f 76  ] \..        </v
14a0: 65 72 73 69 6f 6e 3e 5d 20 5c 0d 0a 20 20 20 20  ersion>] \..    
14b0: 5b 61 70 70 65 6e 64 41 72 67 73 20 3c 76 65 72  [appendArgs <ver
14c0: 73 69 6f 6e 3e 20 5b 73 74 72 69 6e 67 20 6d 61  sion> [string ma
14d0: 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 24  p [list . \\.] $
14e0: 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c  version(full)] \
14f0: 0d 0a 20 20 20 20 20 20 20 20 3c 2f 76 65 72 73  ..        </vers
1500: 69 6f 6e 3e 5d 20 5c 0d 0a 20 20 20 20 5b 61 70  ion>] \..    [ap
1510: 70 65 6e 64 41 72 67 73 20 3c 76 65 72 73 69 6f  pendArgs <versio
1520: 6e 3e 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b  n> [string map [
1530: 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 24 76 65 72  list . \\.] $ver
1540: 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c 0d 0a 20  sion(full)] \.. 
1550: 20 20 20 20 20 20 20 3c 2f 76 65 72 73 69 6f 6e         </version
1560: 3e 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e  >] \..    [appen
1570: 64 41 72 67 73 20 3c 76 65 72 73 69 6f 6e 3e 20  dArgs <version> 
1580: 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73  [string map [lis
1590: 74 20 2e 20 5c 5c 2e 5d 20 24 76 65 72 73 69 6f  t . \\.] $versio
15a0: 6e 28 66 75 6c 6c 29 5d 20 5c 0d 0a 20 20 20 20  n(full)] \..    
15b0: 20 20 20 20 3c 2f 76 65 72 73 69 6f 6e 3e 5d 20      </version>] 
15c0: 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e 64 41 72  \..    [appendAr
15d0: 67 73 20 56 65 72 73 69 6f 6e 3d 20 5b 73 74 72  gs Version= [str
15e0: 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20  ing map [list . 
15f0: 5c 5c 2e 5d 20 24 76 65 72 73 69 6f 6e 28 66 75  \\.] $version(fu
1600: 6c 6c 29 5d 20 2c 5d 20 5c 0d 0a 20 20 20 20 5b  ll)] ,] \..    [
1610: 61 70 70 65 6e 64 41 72 67 73 20 26 71 75 6f 74  appendArgs &quot
1620: 5c 3b 20 5b 66 6f 72 6d 61 74 20 25 30 33 64 20  \; [format %03d 
1630: 24 76 65 72 73 69 6f 6e 28 62 75 69 6c 64 29 5d  $version(build)]
1640: 20 26 71 75 6f 74 5c 3b 5d 20 5c 0d 0a 20 20 20   &quot\;] \..   
1650: 20 5b 61 70 70 65 6e 64 41 72 67 73 20 41 73 73   [appendArgs Ass
1660: 65 6d 62 6c 79 56 65 72 73 69 6f 6e 5c 5c 28 5c  emblyVersion\\(\
1670: 22 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c  " [string map [l
1680: 69 73 74 20 2e 20 5c 5c 2e 5d 20 5c 0d 0a 20 20  ist . \\.] \..  
1690: 20 20 20 20 20 20 24 76 65 72 73 69 6f 6e 28 66        $version(f
16a0: 75 6c 6c 29 5d 20 5c 22 5c 5c 29 5d 20 5c 0d 0a  ull)] \"\\)] \..
16b0: 20 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20      [appendArgs 
16c0: 41 73 73 65 6d 62 6c 79 46 69 6c 65 56 65 72 73  AssemblyFileVers
16d0: 69 6f 6e 5c 5c 28 5c 22 20 5b 73 74 72 69 6e 67  ion\\(\" [string
16e0: 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e   map [list . \\.
16f0: 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20 24 76 65  ] \..        $ve
1700: 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c 22 5c  rsion(full)] \"\
1710: 5c 29 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65  \)] \..    [appe
1720: 6e 64 41 72 67 73 20 41 73 73 65 6d 62 6c 79 56  ndArgs AssemblyV
1730: 65 72 73 69 6f 6e 5c 5c 28 5c 22 20 5b 73 74 72  ersion\\(\" [str
1740: 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20  ing map [list . 
1750: 5c 5c 2e 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20  \\.] \..        
1760: 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20  $version(full)] 
1770: 5c 22 5c 5c 29 5d 20 5c 0d 0a 20 20 20 20 5b 61  \"\\)] \..    [a
1780: 70 70 65 6e 64 41 72 67 73 20 41 73 73 65 6d 62  ppendArgs Assemb
1790: 6c 79 46 69 6c 65 56 65 72 73 69 6f 6e 5c 5c 28  lyFileVersion\\(
17a0: 5c 22 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b  \" [string map [
17b0: 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 5c 0d 0a 20  list . \\.] \.. 
17c0: 20 20 20 20 20 20 20 24 76 65 72 73 69 6f 6e 28         $version(
17d0: 66 75 6c 6c 29 5d 20 5c 22 5c 5c 29 5d 20 5c 0d  full)] \"\\)] \.
17e0: 0a 20 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73  .    [appendArgs
17f0: 20 3c 56 65 72 73 69 6f 6e 3e 20 5b 73 74 72 69   <Version> [stri
1800: 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c  ng map [list . \
1810: 5c 2e 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20 24  \.] \..        $
1820: 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 3c  version(full)] <
1830: 2f 56 65 72 73 69 6f 6e 3e 5d 20 5c 0d 0a 20 20  /Version>] \..  
1840: 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20 56 61    [appendArgs Va
1850: 6c 75 65 3d 5c 22 20 5b 66 6f 72 6d 61 74 20 25  lue=\" [format %
1860: 30 33 64 20 24 76 65 72 73 69 6f 6e 28 62 75 69  03d $version(bui
1870: 6c 64 29 5d 20 5c 22 5d 20 5c 0d 0a 20 20 20 20  ld)] \"] \..    
1880: 5b 61 70 70 65 6e 64 41 72 67 73 20 56 61 6c 75  [appendArgs Valu
1890: 65 3d 5c 22 20 5b 73 74 72 69 6e 67 20 6d 61 70  e=\" [string map
18a0: 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 24 76   [list . \\.] $v
18b0: 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c 22  ersion(full)] \"
18c0: 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e 64  ] \..    [append
18d0: 41 72 67 73 20 56 61 6c 75 65 3d 5c 22 20 5b 73  Args Value=\" [s
18e0: 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20  tring map [list 
18f0: 2e 20 2c 5d 20 24 76 65 72 73 69 6f 6e 28 66 75  . ,] $version(fu
1900: 6c 6c 29 5d 20 5c 22 5d 20 5c 0d 0a 20 20 20 20  ll)] \"] \..    
1910: 5b 61 70 70 65 6e 64 41 72 67 73 20 56 61 6c 75  [appendArgs Valu
1920: 65 3d 5c 22 20 5b 66 6f 72 6d 61 74 20 25 30 33  e=\" [format %03
1930: 64 20 24 76 65 72 73 69 6f 6e 28 62 75 69 6c 64  d $version(build
1940: 29 5d 20 5c 22 5d 20 5c 0d 0a 20 20 20 20 5b 61  )] \"] \..    [a
1950: 70 70 65 6e 64 41 72 67 73 20 56 61 6c 75 65 3d  ppendArgs Value=
1960: 5c 22 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b  \" [string map [
1970: 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 24 76 65 72  list . \\.] $ver
1980: 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c 22 5d 20  sion(full)] \"] 
1990: 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e 64 41 72  \..    [appendAr
19a0: 67 73 20 56 61 6c 75 65 3d 5c 22 20 5b 73 74 72  gs Value=\" [str
19b0: 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20  ing map [list . 
19c0: 2c 5d 20 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c  ,] $version(full
19d0: 29 5d 20 5c 22 5d 20 5c 0d 0a 20 20 20 20 5b 61  )] \"] \..    [a
19e0: 70 70 65 6e 64 41 72 67 73 20 3c 49 4e 54 45 52  ppendArgs <INTER
19f0: 4f 50 5f 42 55 49 4c 44 5f 4e 55 4d 42 45 52 3e  OP_BUILD_NUMBER>
1a00: 20 5b 66 6f 72 6d 61 74 20 25 30 33 64 20 24 76   [format %03d $v
1a10: 65 72 73 69 6f 6e 28 62 75 69 6c 64 29 5d 20 5c  ersion(build)] \
1a20: 0d 0a 20 20 20 20 20 20 20 20 3c 2f 49 4e 54 45  ..        </INTE
1a30: 52 4f 50 5f 42 55 49 4c 44 5f 4e 55 4d 42 45 52  ROP_BUILD_NUMBER
1a40: 3e 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e  >] \..    [appen
1a50: 64 41 72 67 73 20 3c 49 4e 54 45 52 4f 50 5f 4d  dArgs <INTEROP_M
1a60: 41 4e 49 46 45 53 54 5f 56 45 52 53 49 4f 4e 3e  ANIFEST_VERSION>
1a70: 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69   [string map [li
1a80: 73 74 20 2e 20 5c 5c 2e 5d 20 5c 0d 0a 20 20 20  st . \\.] \..   
1a90: 20 20 20 20 20 24 76 65 72 73 69 6f 6e 28 66 75       $version(fu
1aa0: 6c 6c 29 5d 20 3c 2f 49 4e 54 45 52 4f 50 5f 4d  ll)] </INTEROP_M
1ab0: 41 4e 49 46 45 53 54 5f 56 45 52 53 49 4f 4e 3e  ANIFEST_VERSION>
1ac0: 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e 64  ] \..    [append
1ad0: 41 72 67 73 20 3c 49 4e 54 45 52 4f 50 5f 52 43  Args <INTEROP_RC
1ae0: 5f 56 45 52 53 49 4f 4e 3e 20 5b 73 74 72 69 6e  _VERSION> [strin
1af0: 67 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20 2c 5d  g map [list . ,]
1b00: 20 5c 0d 0a 20 20 20 20 20 20 20 20 24 76 65 72   \..        $ver
1b10: 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 3c 2f 49 4e  sion(full)] </IN
1b20: 54 45 52 4f 50 5f 52 43 5f 56 45 52 53 49 4f 4e  TEROP_RC_VERSION
1b30: 3e 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e  >] \..    [appen
1b40: 64 41 72 67 73 20 5c 22 20 5b 73 74 72 69 6e 67  dArgs \" [string
1b50: 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e   map [list . \\.
1b60: 5d 20 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29  ] $version(full)
1b70: 5d 20 5c 22 5d 20 5c 0d 0a 20 20 20 20 5b 61 70  ] \"] \..    [ap
1b80: 70 65 6e 64 41 72 67 73 20 41 73 73 65 6d 62 6c  pendArgs Assembl
1b90: 79 56 65 72 73 69 6f 6e 5c 5c 28 5c 22 20 5b 73  yVersion\\(\" [s
1ba0: 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20  tring map [list 
1bb0: 2e 20 5c 5c 2e 5d 20 5c 0d 0a 20 20 20 20 20 20  . \\.] \..      
1bc0: 20 20 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29    $version(full)
1bd0: 5d 20 5c 22 5c 5c 29 5d 20 5c 0d 0a 20 20 20 20  ] \"\\)] \..    
1be0: 5b 61 70 70 65 6e 64 41 72 67 73 20 41 73 73 65  [appendArgs Asse
1bf0: 6d 62 6c 79 46 69 6c 65 56 65 72 73 69 6f 6e 5c  mblyFileVersion\
1c00: 5c 28 5c 22 20 5b 73 74 72 69 6e 67 20 6d 61 70  \(\" [string map
1c10: 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 5c 0d   [list . \\.] \.
1c20: 0a 20 20 20 20 20 20 20 20 24 76 65 72 73 69 6f  .        $versio
1c30: 6e 28 66 75 6c 6c 29 5d 20 5c 22 5c 5c 29 5d 20  n(full)] \"\\)] 
1c40: 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e 64 41 72  \..    [appendAr
1c50: 67 73 20 5c 22 20 5b 73 74 72 69 6e 67 20 6d 61  gs \" [string ma
1c60: 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 24  p [list . \\.] $
1c70: 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c  version(full)] \
1c80: 22 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e  "] \..    [appen
1c90: 64 41 72 67 73 20 5c 22 53 51 4c 69 74 65 2e 49  dArgs \"SQLite.I
1ca0: 6e 74 65 72 6f 70 2e 20 5b 66 6f 72 6d 61 74 20  nterop. [format 
1cb0: 25 30 33 64 20 24 76 65 72 73 69 6f 6e 28 62 75  %03d $version(bu
1cc0: 69 6c 64 29 5d 20 2e 64 6c 6c 5c 22 5d 20 5c 0d  ild)] .dll\"] \.
1cd0: 0a 20 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73  .    [appendArgs
1ce0: 20 41 73 73 65 6d 62 6c 79 56 65 72 73 69 6f 6e   AssemblyVersion
1cf0: 5c 5c 28 5c 22 20 5b 73 74 72 69 6e 67 20 6d 61  \\(\" [string ma
1d00: 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 5c  p [list . \\.] \
1d10: 0d 0a 20 20 20 20 20 20 20 20 24 76 65 72 73 69  ..        $versi
1d20: 6f 6e 28 66 75 6c 6c 29 5d 20 5c 22 5c 5c 29 5d  on(full)] \"\\)]
1d30: 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e 64 41   \..    [appendA
1d40: 72 67 73 20 41 73 73 65 6d 62 6c 79 46 69 6c 65  rgs AssemblyFile
1d50: 56 65 72 73 69 6f 6e 5c 5c 28 5c 22 20 5b 73 74  Version\\(\" [st
1d60: 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2e  ring map [list .
1d70: 20 5c 5c 2e 5d 20 5c 0d 0a 20 20 20 20 20 20 20   \\.] \..       
1d80: 20 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d   $version(full)]
1d90: 20 5c 22 5c 5c 29 5d 20 5c 0d 0a 20 20 20 20 5b   \"\\)] \..    [
1da0: 61 70 70 65 6e 64 41 72 67 73 20 41 73 73 65 6d  appendArgs Assem
1db0: 62 6c 79 56 65 72 73 69 6f 6e 5c 5c 28 5c 22 20  blyVersion\\(\" 
1dc0: 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73  [string map [lis
1dd0: 74 20 2e 20 5c 5c 2e 5d 20 5c 0d 0a 20 20 20 20  t . \\.] \..    
1de0: 20 20 20 20 24 76 65 72 73 69 6f 6e 28 66 75 6c      $version(ful
1df0: 6c 29 5d 20 5c 22 5c 5c 29 5d 20 5c 0d 0a 20 20  l)] \"\\)] \..  
1e00: 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20 41 73    [appendArgs As
1e10: 73 65 6d 62 6c 79 46 69 6c 65 56 65 72 73 69 6f  semblyFileVersio
1e20: 6e 5c 5c 28 5c 22 20 5b 73 74 72 69 6e 67 20 6d  n\\(\" [string m
1e30: 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20  ap [list . \\.] 
1e40: 5c 0d 0a 20 20 20 20 20 20 20 20 24 76 65 72 73  \..        $vers
1e50: 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c 22 5c 5c 29  ion(full)] \"\\)
1e60: 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e 64  ] \..    [append
1e70: 41 72 67 73 20 56 65 72 73 69 6f 6e 3d 20 5b 73  Args Version= [s
1e80: 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20  tring map [list 
1e90: 2e 20 5c 5c 2e 5d 20 24 76 65 72 73 69 6f 6e 28  . \\.] $version(
1ea0: 66 75 6c 6c 29 5d 20 2c 5d 20 5c 0d 0a 20 20 20  full)] ,] \..   
1eb0: 20 5b 61 70 70 65 6e 64 41 72 67 73 20 41 73 73   [appendArgs Ass
1ec0: 65 6d 62 6c 79 56 65 72 73 69 6f 6e 5c 5c 28 5c  emblyVersion\\(\
1ed0: 22 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c  " [string map [l
1ee0: 69 73 74 20 2e 20 5c 5c 2e 5d 20 5c 0d 0a 20 20  ist . \\.] \..  
1ef0: 20 20 20 20 20 20 24 76 65 72 73 69 6f 6e 28 66        $version(f
1f00: 75 6c 6c 29 5d 20 5c 22 5c 5c 29 5d 20 5c 0d 0a  ull)] \"\\)] \..
1f10: 20 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20      [appendArgs 
1f20: 41 73 73 65 6d 62 6c 79 46 69 6c 65 56 65 72 73  AssemblyFileVers
1f30: 69 6f 6e 5c 5c 28 5c 22 20 5b 73 74 72 69 6e 67  ion\\(\" [string
1f40: 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e   map [list . \\.
1f50: 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20 24 76 65  ] \..        $ve
1f60: 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20 5c 22 5c  rsion(full)] \"\
1f70: 5c 29 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65  \)] \..    [appe
1f80: 6e 64 41 72 67 73 20 56 65 72 73 69 6f 6e 3d 20  ndArgs Version= 
1f90: 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73  [string map [lis
1fa0: 74 20 2e 20 5c 5c 2e 5d 20 24 76 65 72 73 69 6f  t . \\.] $versio
1fb0: 6e 28 66 75 6c 6c 29 5d 20 2c 5d 20 5c 0d 0a 20  n(full)] ,] \.. 
1fc0: 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73 20 56     [appendArgs V
1fd0: 65 72 73 69 6f 6e 3d 20 5b 73 74 72 69 6e 67 20  ersion= [string 
1fe0: 6d 61 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e 5d  map [list . \\.]
1ff0: 20 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d   $version(full)]
2000: 20 2c 5d 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65   ,] \..    [appe
2010: 6e 64 41 72 67 73 20 41 73 73 65 6d 62 6c 79 56  ndArgs AssemblyV
2020: 65 72 73 69 6f 6e 5c 5c 28 5c 22 20 5b 73 74 72  ersion\\(\" [str
2030: 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2e 20  ing map [list . 
2040: 5c 5c 2e 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20  \\.] \..        
2050: 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d 20  $version(full)] 
2060: 5c 22 5c 5c 29 5d 20 5c 0d 0a 20 20 20 20 5b 61  \"\\)] \..    [a
2070: 70 70 65 6e 64 41 72 67 73 20 41 73 73 65 6d 62  ppendArgs Assemb
2080: 6c 79 46 69 6c 65 56 65 72 73 69 6f 6e 5c 5c 28  lyFileVersion\\(
2090: 5c 22 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b  \" [string map [
20a0: 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 5c 0d 0a 20  list . \\.] \.. 
20b0: 20 20 20 20 20 20 20 24 76 65 72 73 69 6f 6e 28         $version(
20c0: 66 75 6c 6c 29 5d 20 5c 22 5c 5c 29 5d 20 5c 0d  full)] \"\\)] \.
20d0: 0a 20 20 20 20 5b 61 70 70 65 6e 64 41 72 67 73  .    [appendArgs
20e0: 20 41 73 73 65 6d 62 6c 79 56 65 72 73 69 6f 6e   AssemblyVersion
20f0: 5c 5c 28 5c 22 20 5b 73 74 72 69 6e 67 20 6d 61  \\(\" [string ma
2100: 70 20 5b 6c 69 73 74 20 2e 20 5c 5c 2e 5d 20 5c  p [list . \\.] \
2110: 0d 0a 20 20 20 20 20 20 20 20 24 76 65 72 73 69  ..        $versi
2120: 6f 6e 28 66 75 6c 6c 29 5d 20 5c 22 5c 5c 29 5d  on(full)] \"\\)]
2130: 20 5c 0d 0a 20 20 20 20 5b 61 70 70 65 6e 64 41   \..    [appendA
2140: 72 67 73 20 41 73 73 65 6d 62 6c 79 46 69 6c 65  rgs AssemblyFile
2150: 56 65 72 73 69 6f 6e 5c 5c 28 5c 22 20 5b 73 74  Version\\(\" [st
2160: 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20 2e  ring map [list .
2170: 20 5c 5c 2e 5d 20 5c 0d 0a 20 20 20 20 20 20 20   \\.] \..       
2180: 20 24 76 65 72 73 69 6f 6e 28 66 75 6c 6c 29 5d   $version(full)]
2190: 20 5c 22 5c 5c 29 5d 5d 0d 0a 0d 0a 73 65 74 20   \"\\)]]....set 
21a0: 66 69 6c 65 4e 61 6d 65 73 20 5b 6c 69 73 74 20  fileNames [list 
21b0: 5c 0d 0a 20 20 20 20 72 65 61 64 6d 65 2e 68 74  \..    readme.ht
21c0: 6d 20 5c 0d 0a 20 20 20 20 53 51 4c 69 74 65 2e  m \..    SQLite.
21d0: 6e 75 73 70 65 63 20 5c 0d 0a 20 20 20 20 53 51  nuspec \..    SQ
21e0: 4c 69 74 65 2e 4d 53 49 4c 2e 6e 75 73 70 65 63  Lite.MSIL.nuspec
21f0: 20 5c 0d 0a 20 20 20 20 53 51 4c 69 74 65 2e 78   \..    SQLite.x
2200: 36 34 2e 6e 75 73 70 65 63 20 5c 0d 0a 20 20 20  64.nuspec \..   
2210: 20 53 51 4c 69 74 65 2e 78 38 36 2e 6e 75 73 70   SQLite.x86.nusp
2220: 65 63 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20  ec \..    [file 
2230: 6a 6f 69 6e 20 44 6f 63 20 45 78 74 72 61 20 64  join Doc Extra d
2240: 62 66 61 63 74 6f 72 79 73 75 70 70 6f 72 74 2e  bfactorysupport.
2250: 68 74 6d 6c 5d 20 5c 0d 0a 20 20 20 20 5b 66 69  html] \..    [fi
2260: 6c 65 20 6a 6f 69 6e 20 44 6f 63 20 45 78 74 72  le join Doc Extr
2270: 61 20 77 65 6c 63 6f 6d 65 2e 68 74 6d 6c 5d 20  a welcome.html] 
2280: 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69  \..    [file joi
2290: 6e 20 4d 65 6d 62 65 72 73 68 69 70 20 50 72 6f  n Membership Pro
22a0: 70 65 72 74 69 65 73 20 41 73 73 65 6d 62 6c 79  perties Assembly
22b0: 49 6e 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20 20 20  Info.cs] \..    
22c0: 5b 66 69 6c 65 20 6a 6f 69 6e 20 4d 65 6d 62 65  [file join Membe
22d0: 72 73 68 69 70 20 50 72 6f 70 65 72 74 69 65 73  rship Properties
22e0: 20 41 73 73 65 6d 62 6c 79 49 6e 66 6f 2e 63 73   AssemblyInfo.cs
22f0: 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a  ] \..    [file j
2300: 6f 69 6e 20 53 51 4c 69 74 65 2e 44 65 73 69 67  oin SQLite.Desig
2310: 6e 65 72 20 41 73 73 65 6d 62 6c 79 49 6e 66 6f  ner AssemblyInfo
2320: 2e 63 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c  .cs] \..    [fil
2330: 65 20 6a 6f 69 6e 20 53 51 4c 69 74 65 2e 44 65  e join SQLite.De
2340: 73 69 67 6e 65 72 20 41 73 73 65 6d 62 6c 79 49  signer AssemblyI
2350: 6e 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20 20 20 5b  nfo.cs] \..    [
2360: 66 69 6c 65 20 6a 6f 69 6e 20 53 51 4c 69 74 65  file join SQLite
2370: 2e 44 65 73 69 67 6e 65 72 20 73 6f 75 72 63 65  .Designer source
2380: 2e 65 78 74 65 6e 73 69 6f 6e 2e 76 73 69 78 6d  .extension.vsixm
2390: 61 6e 69 66 65 73 74 5d 20 5c 0d 0a 20 20 20 20  anifest] \..    
23a0: 5b 66 69 6c 65 20 6a 6f 69 6e 20 53 51 4c 69 74  [file join SQLit
23b0: 65 2e 49 6e 74 65 72 6f 70 20 70 72 6f 70 73 20  e.Interop props 
23c0: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32  SQLite.Interop.2
23d0: 30 30 35 2e 76 73 70 72 6f 70 73 5d 20 5c 0d 0a  005.vsprops] \..
23e0: 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 53      [file join S
23f0: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 20 70 72  QLite.Interop pr
2400: 6f 70 73 20 53 51 4c 69 74 65 2e 49 6e 74 65 72  ops SQLite.Inter
2410: 6f 70 2e 32 30 30 35 2e 76 73 70 72 6f 70 73 5d  op.2005.vsprops]
2420: 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f   \..    [file jo
2430: 69 6e 20 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f  in SQLite.Intero
2440: 70 20 70 72 6f 70 73 20 53 51 4c 69 74 65 2e 49  p props SQLite.I
2450: 6e 74 65 72 6f 70 2e 32 30 30 35 2e 76 73 70 72  nterop.2005.vspr
2460: 6f 70 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c  ops] \..    [fil
2470: 65 20 6a 6f 69 6e 20 53 51 4c 69 74 65 2e 49 6e  e join SQLite.In
2480: 74 65 72 6f 70 20 70 72 6f 70 73 20 53 51 4c 69  terop props SQLi
2490: 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30 30 38 2e  te.Interop.2008.
24a0: 76 73 70 72 6f 70 73 5d 20 5c 0d 0a 20 20 20 20  vsprops] \..    
24b0: 5b 66 69 6c 65 20 6a 6f 69 6e 20 53 51 4c 69 74  [file join SQLit
24c0: 65 2e 49 6e 74 65 72 6f 70 20 70 72 6f 70 73 20  e.Interop props 
24d0: 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 2e 32  SQLite.Interop.2
24e0: 30 30 38 2e 76 73 70 72 6f 70 73 5d 20 5c 0d 0a  008.vsprops] \..
24f0: 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 53      [file join S
2500: 51 4c 69 74 65 2e 49 6e 74 65 72 6f 70 20 70 72  QLite.Interop pr
2510: 6f 70 73 20 53 51 4c 69 74 65 2e 49 6e 74 65 72  ops SQLite.Inter
2520: 6f 70 2e 32 30 30 38 2e 76 73 70 72 6f 70 73 5d  op.2008.vsprops]
2530: 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f   \..    [file jo
2540: 69 6e 20 53 51 4c 69 74 65 2e 49 6e 74 65 72 6f  in SQLite.Intero
2550: 70 20 70 72 6f 70 73 20 53 51 4c 69 74 65 2e 49  p props SQLite.I
2560: 6e 74 65 72 6f 70 2e 32 30 31 30 2e 70 72 6f 70  nterop.2010.prop
2570: 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20  s] \..    [file 
2580: 6a 6f 69 6e 20 53 51 4c 69 74 65 2e 49 6e 74 65  join SQLite.Inte
2590: 72 6f 70 20 70 72 6f 70 73 20 53 51 4c 69 74 65  rop props SQLite
25a0: 2e 49 6e 74 65 72 6f 70 2e 32 30 31 30 2e 70 72  .Interop.2010.pr
25b0: 6f 70 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c  ops] \..    [fil
25c0: 65 20 6a 6f 69 6e 20 53 51 4c 69 74 65 2e 49 6e  e join SQLite.In
25d0: 74 65 72 6f 70 20 70 72 6f 70 73 20 53 51 4c 69  terop props SQLi
25e0: 74 65 2e 49 6e 74 65 72 6f 70 2e 32 30 31 30 2e  te.Interop.2010.
25f0: 70 72 6f 70 73 5d 20 5c 0d 0a 20 20 20 20 5b 66  props] \..    [f
2600: 69 6c 65 20 6a 6f 69 6e 20 53 51 4c 69 74 65 2e  ile join SQLite.
2610: 49 6e 74 65 72 6f 70 20 73 72 63 20 77 69 6e 20  Interop src win 
2620: 69 6e 74 65 72 6f 70 2e 68 5d 20 5c 0d 0a 20 20  interop.h] \..  
2630: 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 53 79 73    [file join Sys
2640: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 20  tem.Data.SQLite 
2650: 41 73 73 65 6d 62 6c 79 49 6e 66 6f 2e 63 73 5d  AssemblyInfo.cs]
2660: 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f   \..    [file jo
2670: 69 6e 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  in System.Data.S
2680: 51 4c 69 74 65 20 41 73 73 65 6d 62 6c 79 49 6e  QLite AssemblyIn
2690: 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20 20 20 5b 66  fo.cs] \..    [f
26a0: 69 6c 65 20 6a 6f 69 6e 20 53 79 73 74 65 6d 2e  ile join System.
26b0: 44 61 74 61 2e 53 51 4c 69 74 65 20 53 51 4c 69  Data.SQLite SQLi
26c0: 74 65 33 2e 63 73 5d 20 5c 0d 0a 20 20 20 20 5b  te3.cs] \..    [
26d0: 66 69 6c 65 20 6a 6f 69 6e 20 53 79 73 74 65 6d  file join System
26e0: 2e 44 61 74 61 2e 53 51 4c 69 74 65 20 55 6e 73  .Data.SQLite Uns
26f0: 61 66 65 4e 61 74 69 76 65 4d 65 74 68 6f 64 73  afeNativeMethods
2700: 2e 63 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c  .cs] \..    [fil
2710: 65 20 6a 6f 69 6e 20 53 79 73 74 65 6d 2e 44 61  e join System.Da
2720: 74 61 2e 53 51 4c 69 74 65 2e 4c 69 6e 71 20 41  ta.SQLite.Linq A
2730: 73 73 65 6d 62 6c 79 49 6e 66 6f 2e 63 73 5d 20  ssemblyInfo.cs] 
2740: 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69  \..    [file joi
2750: 6e 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51  n System.Data.SQ
2760: 4c 69 74 65 2e 4c 69 6e 71 20 41 73 73 65 6d 62  Lite.Linq Assemb
2770: 6c 79 49 6e 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20  lyInfo.cs] \..  
2780: 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 74 65 73    [file join tes
2790: 74 20 41 73 73 65 6d 62 6c 79 49 6e 66 6f 2e 63  t AssemblyInfo.c
27a0: 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20  s] \..    [file 
27b0: 6a 6f 69 6e 20 74 65 73 74 20 41 73 73 65 6d 62  join test Assemb
27c0: 6c 79 49 6e 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20  lyInfo.cs] \..  
27d0: 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 74 65 73    [file join tes
27e0: 74 20 61 70 70 2e 63 6f 6e 66 69 67 5d 20 5c 0d  t app.config] \.
27f0: 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  .    [file join 
2800: 74 65 73 74 63 65 20 41 73 73 65 6d 62 6c 79 49  testce AssemblyI
2810: 6e 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20 20 20 5b  nfo.cs] \..    [
2820: 66 69 6c 65 20 6a 6f 69 6e 20 74 65 73 74 63 65  file join testce
2830: 20 41 73 73 65 6d 62 6c 79 49 6e 66 6f 2e 63 73   AssemblyInfo.cs
2840: 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a  ] \..    [file j
2850: 6f 69 6e 20 74 65 73 74 6c 69 6e 71 20 32 30 30  oin testlinq 200
2860: 38 20 41 70 70 2e 63 6f 6e 66 69 67 5d 20 5c 0d  8 App.config] \.
2870: 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  .    [file join 
2880: 74 65 73 74 6c 69 6e 71 20 32 30 31 30 20 41 70  testlinq 2010 Ap
2890: 70 2e 63 6f 6e 66 69 67 5d 20 5c 0d 0a 20 20 20  p.config] \..   
28a0: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 74 65 73 74   [file join test
28b0: 6c 69 6e 71 20 50 72 6f 70 65 72 74 69 65 73 20  linq Properties 
28c0: 41 73 73 65 6d 62 6c 79 49 6e 66 6f 2e 63 73 5d  AssemblyInfo.cs]
28d0: 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65 20 6a 6f   \..    [file jo
28e0: 69 6e 20 74 65 73 74 6c 69 6e 71 20 50 72 6f 70  in testlinq Prop
28f0: 65 72 74 69 65 73 20 41 73 73 65 6d 62 6c 79 49  erties AssemblyI
2900: 6e 66 6f 2e 63 73 5d 20 5c 0d 0a 20 20 20 20 5b  nfo.cs] \..    [
2910: 66 69 6c 65 20 6a 6f 69 6e 20 74 6f 6f 6c 73 20  file join tools 
2920: 69 6e 73 74 61 6c 6c 20 50 72 6f 70 65 72 74 69  install Properti
2930: 65 73 20 41 73 73 65 6d 62 6c 79 49 6e 66 6f 2e  es AssemblyInfo.
2940: 63 73 5d 20 5c 0d 0a 20 20 20 20 5b 66 69 6c 65  cs] \..    [file
2950: 20 6a 6f 69 6e 20 74 6f 6f 6c 73 20 69 6e 73 74   join tools inst
2960: 61 6c 6c 20 50 72 6f 70 65 72 74 69 65 73 20 41  all Properties A
2970: 73 73 65 6d 62 6c 79 49 6e 66 6f 2e 63 73 5d 5d  ssemblyInfo.cs]]
2980: 0d 0a 0d 0a 66 6f 72 20 7b 73 65 74 20 69 20 31  ....for {set i 1
2990: 7d 20 7b 24 69 20 3c 3d 20 5b 6c 6c 65 6e 67 74  } {$i <= [llengt
29a0: 68 20 24 66 69 6c 65 4e 61 6d 65 73 5d 7d 20 7b  h $fileNames]} {
29b0: 69 6e 63 72 20 69 7d 20 7b 0d 0a 20 20 73 65 74  incr i} {..  set
29c0: 20 70 61 74 74 65 72 6e 20 5b 6c 69 6e 64 65 78   pattern [lindex
29d0: 20 24 70 61 74 74 65 72 6e 73 20 5b 65 78 70 72   $patterns [expr
29e0: 20 7b 24 69 20 2d 20 31 7d 5d 5d 0d 0a 20 20 73   {$i - 1}]]..  s
29f0: 65 74 20 66 69 6c 65 4e 61 6d 65 20 5b 6c 69 6e  et fileName [lin
2a00: 64 65 78 20 24 66 69 6c 65 4e 61 6d 65 73 20 5b  dex $fileNames [
2a10: 65 78 70 72 20 7b 24 69 20 2d 20 31 7d 5d 5d 0d  expr {$i - 1}]].
2a20: 0a 20 20 73 65 74 20 63 6f 6e 73 74 72 61 69 6e  .  set constrain
2a30: 74 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c  t [string map [l
2a40: 69 73 74 20 2f 20 5f 20 5c 5c 20 5f 5d 20 24 66  ist / _ \\ _] $f
2a50: 69 6c 65 4e 61 6d 65 5d 0d 0a 20 20 73 65 74 20  ileName]..  set 
2a60: 66 69 6c 65 4e 61 6d 65 20 5b 66 69 6c 65 20 6a  fileName [file j
2a70: 6f 69 6e 20 24 72 6f 6f 74 5f 70 61 74 68 20 24  oin $root_path $
2a80: 66 69 6c 65 4e 61 6d 65 5d 0d 0a 0d 0a 20 20 69  fileName]....  i
2a90: 66 20 7b 21 5b 68 61 76 65 43 6f 6e 73 74 72 61  f {![haveConstra
2aa0: 69 6e 74 20 5b 61 70 70 65 6e 64 41 72 67 73 20  int [appendArgs 
2ab0: 66 69 6c 65 5f 20 24 63 6f 6e 73 74 72 61 69 6e  file_ $constrain
2ac0: 74 5d 5d 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 20  t]]} then {..   
2ad0: 20 63 68 65 63 6b 46 6f 72 46 69 6c 65 20 24 74   checkForFile $t
2ae0: 65 73 74 5f 63 68 61 6e 6e 65 6c 20 24 66 69 6c  est_channel $fil
2af0: 65 4e 61 6d 65 20 24 63 6f 6e 73 74 72 61 69 6e  eName $constrain
2b00: 74 0d 0a 20 20 7d 0d 0a 0d 0a 20 20 72 75 6e 54  t..  }....  runT
2b10: 65 73 74 20 7b 74 65 73 74 20 5b 61 70 70 65 6e  est {test [appen
2b20: 64 41 72 67 73 20 76 65 72 73 69 6f 6e 2d 31 2e  dArgs version-1.
2b30: 37 2e 20 24 69 5d 20 5c 0d 0a 20 20 20 20 20 20  7. $i] \..      
2b40: 5b 61 70 70 65 6e 64 41 72 67 73 20 22 70 61 74  [appendArgs "pat
2b50: 74 65 72 6e 20 7b 22 20 24 70 61 74 74 65 72 6e  tern {" $pattern
2b60: 20 22 7d 20 69 6e 20 66 69 6c 65 20 5c 22 22 20   "} in file \"" 
2b70: 24 66 69 6c 65 4e 61 6d 65 20 5c 22 5d 20 2d 62  $fileName \"] -b
2b80: 6f 64 79 20 7b 0d 0a 20 20 20 20 72 65 67 65 78  ody {..    regex
2b90: 70 20 2d 2d 20 24 70 61 74 74 65 72 6e 20 5b 72  p -- $pattern [r
2ba0: 65 61 64 46 69 6c 65 20 24 66 69 6c 65 4e 61 6d  eadFile $fileNam
2bb0: 65 5d 0d 0a 20 20 7d 20 2d 63 6f 6e 73 74 72 61  e]..  } -constra
2bc0: 69 6e 74 73 20 5b 6c 69 73 74 20 65 61 67 6c 65  ints [list eagle
2bd0: 20 5b 61 70 70 65 6e 64 41 72 67 73 20 66 69 6c   [appendArgs fil
2be0: 65 5f 20 24 63 6f 6e 73 74 72 61 69 6e 74 5d 5d  e_ $constraint]]
2bf0: 20 2d 72 65 73 75 6c 74 20 7b 31 7d 7d 0d 0a 7d   -result {1}}..}
2c00: 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23  ....############
2c10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2c20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2c30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2c40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2c50: 23 23 23 0d 0a 0d 0a 75 6e 73 65 74 20 2d 6e 6f  ###....unset -no
2c60: 63 6f 6d 70 6c 61 69 6e 20 63 6f 6e 73 74 72 61  complain constra
2c70: 69 6e 74 20 66 69 6c 65 4e 61 6d 65 20 70 61 74  int fileName pat
2c80: 74 65 72 6e 20 66 69 6c 65 4e 61 6d 65 73 20 70  tern fileNames p
2c90: 61 74 74 65 72 6e 73 20 69 20 76 65 72 73 69 6f  atterns i versio
2ca0: 6e 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23  n....###########
2cb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2cc0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2cd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2ce0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2cf0: 23 23 23 23 0d 0a 0d 0a 75 6e 73 65 74 20 2d 6e  ####....unset -n
2d00: 6f 63 6f 6d 70 6c 61 69 6e 20 74 65 73 74 4c 69  ocomplain testLi
2d10: 6e 71 45 78 65 46 69 6c 65 20 74 65 73 74 45 78  nqExeFile testEx
2d20: 65 46 69 6c 65 20 73 79 73 74 65 6d 44 61 74 61  eFile systemData
2d30: 53 51 4c 69 74 65 4c 69 6e 71 44 6c 6c 46 69 6c  SQLiteLinqDllFil
2d40: 65 20 5c 0d 0a 20 20 20 20 73 79 73 74 65 6d 44  e \..    systemD
2d50: 61 74 61 53 51 4c 69 74 65 44 6c 6c 46 69 6c 65  ataSQLiteDllFile
2d60: 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23  ....############
2d70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2d80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2d90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2da0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2db0: 23 23 23 0d 0a 0d 0a 72 75 6e 53 51 4c 69 74 65  ###....runSQLite
2dc0: 54 65 73 74 45 70 69 6c 6f 67 75 65 0d 0a 72 75  TestEpilogue..ru
2dd0: 6e 54 65 73 74 45 70 69 6c 6f 67 75 65 0d 0a     nTestEpilogue..