System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact aff615c66c5532d6d0d0949924128b1ac0ef499a:


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 74 6b 74 2d 35 39 65 64 63 31  .#..# tkt-59edc1
0060: 30 31 38 62 2e 65 61 67 6c 65 20 2d 2d 0d 0a 23  018b.eagle --..#
0070: 0d 0a 23 20 57 72 69 74 74 65 6e 20 62 79 20 4a  ..# Written by J
0080: 6f 65 20 4d 69 73 74 61 63 68 6b 69 6e 2e 0d 0a  oe Mistachkin...
0090: 23 20 52 65 6c 65 61 73 65 64 20 74 6f 20 74 68  # Released to th
00a0: 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2c  e public domain,
00b0: 20 75 73 65 20 61 74 20 79 6f 75 72 20 6f 77 6e   use at your own
00c0: 20 72 69 73 6b 21 0d 0a 23 0d 0a 23 23 23 23 23   risk!..#..#####
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 23 23 23 23 23 23 23 0d 0a 0d 0a 70 61  ##########....pa
0120: 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 45 61  ckage require Ea
0130: 67 6c 65 0d 0a 70 61 63 6b 61 67 65 20 72 65 71  gle..package req
0140: 75 69 72 65 20 45 61 67 6c 65 2e 4c 69 62 72 61  uire Eagle.Libra
0150: 72 79 0d 0a 70 61 63 6b 61 67 65 20 72 65 71 75  ry..package requ
0160: 69 72 65 20 45 61 67 6c 65 2e 54 65 73 74 0d 0a  ire Eagle.Test..
0170: 0d 0a 72 75 6e 54 65 73 74 50 72 6f 6c 6f 67 75  ..runTestPrologu
0180: 65 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23  e....###########
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 23 23 23 23 23  ################
01d0: 23 23 23 23 0d 0a 0d 0a 70 61 63 6b 61 67 65 20  ####....package 
01e0: 72 65 71 75 69 72 65 20 53 79 73 74 65 6d 2e 44  require System.D
01f0: 61 74 61 2e 53 51 4c 69 74 65 2e 54 65 73 74 0d  ata.SQLite.Test.
0200: 0a 72 75 6e 53 51 4c 69 74 65 54 65 73 74 50 72  .runSQLiteTestPr
0210: 6f 6c 6f 67 75 65 0d 0a 72 75 6e 53 51 4c 69 74  ologue..runSQLit
0220: 65 54 65 73 74 46 69 6c 65 73 50 72 6f 6c 6f 67  eTestFilesProlog
0230: 75 65 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23  ue....##########
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: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0270: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0280: 23 23 23 23 23 0d 0a 0d 0a 72 75 6e 54 65 73 74  #####....runTest
0290: 20 7b 74 65 73 74 20 74 6b 74 2d 35 39 65 64 63   {test tkt-59edc
02a0: 31 30 31 38 62 2d 31 2e 31 20 7b 4c 49 4e 51 20  1018b-1.1 {LINQ 
02b0: 77 69 74 68 20 45 6e 64 73 57 69 74 68 7d 20 2d  with EndsWith} -
02c0: 62 6f 64 79 20 7b 0d 0a 20 20 63 6f 70 79 53 61  body {..  copySa
02d0: 6d 70 6c 65 44 61 74 61 62 61 73 65 46 69 6c 65  mpleDatabaseFile
02e0: 73 0d 0a 0d 0a 20 20 73 65 74 20 72 65 73 75 6c  s....  set resul
02f0: 74 20 5b 6c 69 73 74 5d 0d 0a 0d 0a 20 20 66 6f  t [list]....  fo
0300: 72 65 61 63 68 20 76 61 6c 75 65 20 5b 6c 69 73  reach value [lis
0310: 74 20 22 22 20 61 20 62 20 7a 20 31 2b 31 20 64  t "" a b z 1+1 d
0320: 6f 6e 20 6e 6f 74 74 68 65 72 65 5d 20 7b 0d 0a  on notthere] {..
0330: 20 20 20 20 73 65 74 20 6f 75 74 70 75 74 20 22      set output "
0340: 22 0d 0a 0d 0a 20 20 20 20 73 65 74 20 63 6f 64  "....    set cod
0350: 65 20 5b 63 61 74 63 68 20 7b 0d 0a 20 20 20 20  e [catch {..    
0360: 20 20 74 65 73 74 43 6c 72 45 78 65 63 20 24 74    testClrExec $t
0370: 65 73 74 4c 69 6e 71 45 78 65 46 69 6c 65 20 5b  estLinqExeFile [
0380: 6c 69 73 74 20 2d 65 76 65 6e 74 66 6c 61 67 73  list -eventflags
0390: 20 57 61 69 74 20 2d 64 69 72 65 63 74 6f 72 79   Wait -directory
03a0: 20 5c 0d 0a 20 20 20 20 20 20 20 20 20 20 5b 66   \..          [f
03b0: 69 6c 65 20 64 69 72 6e 61 6d 65 20 24 74 65 73  ile dirname $tes
03c0: 74 4c 69 6e 71 45 78 65 46 69 6c 65 5d 20 2d 6e  tLinqExeFile] -n
03d0: 6f 63 61 72 72 69 61 67 65 72 65 74 75 72 6e 73  ocarriagereturns
03e0: 20 2d 73 74 64 6f 75 74 20 6f 75 74 70 75 74 20   -stdout output 
03f0: 5c 0d 0a 20 20 20 20 20 20 20 20 20 20 2d 73 75  \..          -su
0400: 63 63 65 73 73 20 53 75 63 63 65 73 73 5d 20 2d  ccess Success] -
0410: 65 6e 64 73 57 69 74 68 20 24 76 61 6c 75 65 0d  endsWith $value.
0420: 0a 20 20 20 20 7d 20 65 72 72 6f 72 5d 0d 0a 0d  .    } error]...
0430: 0a 20 20 20 20 74 6c 6f 67 20 22 2d 2d 2d 2d 20  .    tlog "---- 
0440: 42 45 47 49 4e 20 53 54 44 4f 55 54 20 4f 55 54  BEGIN STDOUT OUT
0450: 50 55 54 5c 6e 22 0d 0a 20 20 20 20 74 6c 6f 67  PUT\n"..    tlog
0460: 20 24 6f 75 74 70 75 74 0d 0a 20 20 20 20 74 6c   $output..    tl
0470: 6f 67 20 22 5c 6e 2d 2d 2d 2d 20 45 4e 44 20 53  og "\n---- END S
0480: 54 44 4f 55 54 20 4f 55 54 50 55 54 5c 6e 22 0d  TDOUT OUTPUT\n".
0490: 0a 0d 0a 20 20 20 20 6c 61 70 70 65 6e 64 20 72  ...    lappend r
04a0: 65 73 75 6c 74 20 24 63 6f 64 65 0d 0a 0d 0a 20  esult $code.... 
04b0: 20 20 20 69 66 20 7b 24 63 6f 64 65 20 3d 3d 20     if {$code == 
04c0: 30 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 20 20 20  0} then {..     
04d0: 20 6c 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20   lappend result 
04e0: 5b 73 74 72 69 6e 67 20 74 72 69 6d 20 24 6f 75  [string trim $ou
04f0: 74 70 75 74 5d 0d 0a 20 20 20 20 7d 20 65 6c 73  tput]..    } els
0500: 65 20 7b 0d 0a 20 20 20 20 20 20 6c 61 70 70 65  e {..      lappe
0510: 6e 64 20 72 65 73 75 6c 74 20 5b 73 74 72 69 6e  nd result [strin
0520: 67 20 74 72 69 6d 20 24 65 72 72 6f 72 5d 0d 0a  g trim $error]..
0530: 20 20 20 20 7d 0d 0a 20 20 7d 0d 0a 0d 0a 20 20      }..  }....  
0540: 73 65 74 20 72 65 73 75 6c 74 0d 0a 7d 20 2d 63  set result..} -c
0550: 6c 65 61 6e 75 70 20 7b 0d 0a 20 20 75 6e 73 65  leanup {..  unse
0560: 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 63 6f  t -nocomplain co
0570: 64 65 20 6f 75 74 70 75 74 20 65 72 72 6f 72 20  de output error 
0580: 72 65 73 75 6c 74 20 76 61 6c 75 65 0d 0a 7d 20  result value..} 
0590: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 5c 0d 0a  -constraints \..
05a0: 7b 65 61 67 6c 65 20 6d 6f 6e 6f 54 6f 44 6f 20  {eagle monoToDo 
05b0: 64 65 66 69 6e 65 43 6f 6e 73 74 61 6e 74 2e 53  defineConstant.S
05c0: 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74  ystem.Data.SQLit
05d0: 65 2e 55 53 45 5f 49 4e 54 45 52 4f 50 5f 44 4c  e.USE_INTEROP_DL
05e0: 4c 5c 0d 0a 64 65 66 69 6e 65 43 6f 6e 73 74 61  L\..defineConsta
05f0: 6e 74 2e 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  nt.System.Data.S
0600: 51 4c 69 74 65 2e 49 4e 54 45 52 4f 50 5f 45 58  QLite.INTEROP_EX
0610: 54 45 4e 53 49 4f 4e 5f 46 55 4e 43 54 49 4f 4e  TENSION_FUNCTION
0620: 53 20 53 51 4c 69 74 65 20 74 65 73 74 45 78 65  S SQLite testExe
0630: 63 5c 0d 0a 66 69 6c 65 5f 53 79 73 74 65 6d 2e  c\..file_System.
0640: 44 61 74 61 2e 53 51 4c 69 74 65 2e 64 6c 6c 20  Data.SQLite.dll 
0650: 66 69 6c 65 5f 53 79 73 74 65 6d 2e 44 61 74 61  file_System.Data
0660: 2e 53 51 4c 69 74 65 2e 4c 69 6e 71 2e 64 6c 6c  .SQLite.Linq.dll
0670: 20 66 69 6c 65 5f 74 65 73 74 6c 69 6e 71 2e 65   file_testlinq.e
0680: 78 65 5c 0d 0a 66 69 6c 65 5f 6e 6f 72 74 68 77  xe\..file_northw
0690: 69 6e 64 45 46 2e 64 62 7d 20 2d 72 65 73 75 6c  indEF.db} -resul
06a0: 74 20 7b 30 20 7b 7d 20 30 20 7b 46 55 52 49 42  t {0 {} 0 {FURIB
06b0: 20 47 41 4c 45 44 20 47 4f 44 4f 53 20 4c 41 5a   GALED GODOS LAZ
06c0: 59 4b 20 4c 49 4e 4f 44 20 50 52 49 4e 49 20 52  YK LINOD PRINI R
06d0: 45 47 47 43 5c 0d 0a 57 4f 4c 5a 41 7d 20 30 20  EGGC\..WOLZA} 0 
06e0: 7b 7d 20 30 20 45 52 4e 53 48 20 30 20 7b 7d 20  {} 0 ERNSH 0 {} 
06f0: 30 20 7b 41 52 4f 55 54 20 42 53 42 45 56 20 43  0 {AROUT BSBEV C
0700: 4f 4e 53 48 20 45 41 53 54 43 20 4e 4f 52 54 53  ONSH EASTC NORTS
0710: 20 53 45 56 45 53 7d 20 30 20 7b 7d 7d 7d 0d 0a   SEVES} 0 {}}}..
0720: 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ..##############
0730: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0740: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0750: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0760: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0770: 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b 74 65  #....runTest {te
0780: 73 74 20 74 6b 74 2d 35 39 65 64 63 31 30 31 38  st tkt-59edc1018
0790: 62 2d 31 2e 32 20 7b 45 46 36 20 77 69 74 68 20  b-1.2 {EF6 with 
07a0: 45 6e 64 73 57 69 74 68 7d 20 2d 62 6f 64 79 20  EndsWith} -body 
07b0: 7b 0d 0a 20 20 63 6f 70 79 53 61 6d 70 6c 65 44  {..  copySampleD
07c0: 61 74 61 62 61 73 65 46 69 6c 65 73 0d 0a 0d 0a  atabaseFiles....
07d0: 20 20 73 65 74 20 72 65 73 75 6c 74 20 5b 6c 69    set result [li
07e0: 73 74 5d 0d 0a 0d 0a 20 20 66 6f 72 65 61 63 68  st]....  foreach
07f0: 20 76 61 6c 75 65 20 5b 6c 69 73 74 20 22 22 20   value [list "" 
0800: 61 20 62 20 7a 20 31 2b 31 20 64 6f 6e 20 6e 6f  a b z 1+1 don no
0810: 74 74 68 65 72 65 5d 20 7b 0d 0a 20 20 20 20 73  tthere] {..    s
0820: 65 74 20 6f 75 74 70 75 74 20 22 22 0d 0a 0d 0a  et output ""....
0830: 20 20 20 20 73 65 74 20 63 6f 64 65 20 5b 63 61      set code [ca
0840: 74 63 68 20 7b 0d 0a 20 20 20 20 20 20 74 65 73  tch {..      tes
0850: 74 43 6c 72 45 78 65 63 20 24 74 65 73 74 45 66  tClrExec $testEf
0860: 36 45 78 65 46 69 6c 65 20 5b 6c 69 73 74 20 2d  6ExeFile [list -
0870: 65 76 65 6e 74 66 6c 61 67 73 20 57 61 69 74 20  eventflags Wait 
0880: 2d 64 69 72 65 63 74 6f 72 79 20 5c 0d 0a 20 20  -directory \..  
0890: 20 20 20 20 20 20 20 20 5b 66 69 6c 65 20 64 69          [file di
08a0: 72 6e 61 6d 65 20 24 74 65 73 74 45 66 36 45 78  rname $testEf6Ex
08b0: 65 46 69 6c 65 5d 20 2d 6e 6f 63 61 72 72 69 61  eFile] -nocarria
08c0: 67 65 72 65 74 75 72 6e 73 20 2d 73 74 64 6f 75  gereturns -stdou
08d0: 74 20 6f 75 74 70 75 74 20 5c 0d 0a 20 20 20 20  t output \..    
08e0: 20 20 20 20 20 20 2d 73 75 63 63 65 73 73 20 53        -success S
08f0: 75 63 63 65 73 73 5d 20 2d 65 6e 64 73 57 69 74  uccess] -endsWit
0900: 68 20 24 76 61 6c 75 65 0d 0a 20 20 20 20 7d 20  h $value..    } 
0910: 65 72 72 6f 72 5d 0d 0a 0d 0a 20 20 20 20 74 6c  error]....    tl
0920: 6f 67 20 22 2d 2d 2d 2d 20 42 45 47 49 4e 20 53  og "---- BEGIN S
0930: 54 44 4f 55 54 20 4f 55 54 50 55 54 5c 6e 22 0d  TDOUT OUTPUT\n".
0940: 0a 20 20 20 20 74 6c 6f 67 20 24 6f 75 74 70 75  .    tlog $outpu
0950: 74 0d 0a 20 20 20 20 74 6c 6f 67 20 22 5c 6e 2d  t..    tlog "\n-
0960: 2d 2d 2d 20 45 4e 44 20 53 54 44 4f 55 54 20 4f  --- END STDOUT O
0970: 55 54 50 55 54 5c 6e 22 0d 0a 0d 0a 20 20 20 20  UTPUT\n"....    
0980: 6c 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20 24  lappend result $
0990: 63 6f 64 65 0d 0a 0d 0a 20 20 20 20 69 66 20 7b  code....    if {
09a0: 24 63 6f 64 65 20 3d 3d 20 30 7d 20 74 68 65 6e  $code == 0} then
09b0: 20 7b 0d 0a 20 20 20 20 20 20 6c 61 70 70 65 6e   {..      lappen
09c0: 64 20 72 65 73 75 6c 74 20 5b 73 74 72 69 6e 67  d result [string
09d0: 20 74 72 69 6d 20 24 6f 75 74 70 75 74 5d 0d 0a   trim $output]..
09e0: 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20      } else {..  
09f0: 20 20 20 20 6c 61 70 70 65 6e 64 20 72 65 73 75      lappend resu
0a00: 6c 74 20 5b 73 74 72 69 6e 67 20 74 72 69 6d 20  lt [string trim 
0a10: 24 65 72 72 6f 72 5d 0d 0a 20 20 20 20 7d 0d 0a  $error]..    }..
0a20: 20 20 7d 0d 0a 0d 0a 20 20 73 65 74 20 72 65 73    }....  set res
0a30: 75 6c 74 0d 0a 7d 20 2d 63 6c 65 61 6e 75 70 20  ult..} -cleanup 
0a40: 7b 0d 0a 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f  {..  unset -noco
0a50: 6d 70 6c 61 69 6e 20 63 6f 64 65 20 6f 75 74 70  mplain code outp
0a60: 75 74 20 65 72 72 6f 72 20 72 65 73 75 6c 74 20  ut error result 
0a70: 76 61 6c 75 65 0d 0a 7d 20 2d 63 6f 6e 73 74 72  value..} -constr
0a80: 61 69 6e 74 73 20 5c 0d 0a 7b 65 61 67 6c 65 20  aints \..{eagle 
0a90: 6d 6f 6e 6f 54 6f 44 6f 20 64 65 66 69 6e 65 43  monoToDo defineC
0aa0: 6f 6e 73 74 61 6e 74 2e 53 79 73 74 65 6d 2e 44  onstant.System.D
0ab0: 61 74 61 2e 53 51 4c 69 74 65 2e 55 53 45 5f 49  ata.SQLite.USE_I
0ac0: 4e 54 45 52 4f 50 5f 44 4c 4c 5c 0d 0a 64 65 66  NTEROP_DLL\..def
0ad0: 69 6e 65 43 6f 6e 73 74 61 6e 74 2e 53 79 73 74  ineConstant.Syst
0ae0: 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 49  em.Data.SQLite.I
0af0: 4e 54 45 52 4f 50 5f 45 58 54 45 4e 53 49 4f 4e  NTEROP_EXTENSION
0b00: 5f 46 55 4e 43 54 49 4f 4e 53 20 53 51 4c 69 74  _FUNCTIONS SQLit
0b10: 65 20 74 65 73 74 45 78 65 63 5c 0d 0a 66 69 6c  e testExec\..fil
0b20: 65 5f 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51  e_System.Data.SQ
0b30: 4c 69 74 65 2e 64 6c 6c 20 66 69 6c 65 5f 53 79  Lite.dll file_Sy
0b40: 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65  stem.Data.SQLite
0b50: 2e 45 46 36 2e 64 6c 6c 20 66 69 6c 65 5f 74 65  .EF6.dll file_te
0b60: 73 74 65 66 36 2e 65 78 65 5c 0d 0a 66 69 6c 65  stef6.exe\..file
0b70: 5f 6e 6f 72 74 68 77 69 6e 64 45 46 2e 64 62 7d  _northwindEF.db}
0b80: 20 2d 72 65 73 75 6c 74 20 7b 30 20 7b 7d 20 30   -result {0 {} 0
0b90: 20 7b 46 55 52 49 42 20 47 41 4c 45 44 20 47 4f   {FURIB GALED GO
0ba0: 44 4f 53 20 4c 41 5a 59 4b 20 4c 49 4e 4f 44 20  DOS LAZYK LINOD 
0bb0: 50 52 49 4e 49 20 52 45 47 47 43 5c 0d 0a 57 4f  PRINI REGGC\..WO
0bc0: 4c 5a 41 7d 20 30 20 7b 7d 20 30 20 45 52 4e 53  LZA} 0 {} 0 ERNS
0bd0: 48 20 30 20 7b 7d 20 30 20 7b 41 52 4f 55 54 20  H 0 {} 0 {AROUT 
0be0: 42 53 42 45 56 20 43 4f 4e 53 48 20 45 41 53 54  BSBEV CONSH EAST
0bf0: 43 20 4e 4f 52 54 53 20 53 45 56 45 53 7d 20 30  C NORTS SEVES} 0
0c00: 20 7b 7d 7d 7d 0d 0a 0d 0a 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 23 23 23 23 23 23 0d 0a 0d 0a 72 75 6e 53  ########....runS
0c60: 51 4c 69 74 65 54 65 73 74 46 69 6c 65 73 45 70  QLiteTestFilesEp
0c70: 69 6c 6f 67 75 65 0d 0a 72 75 6e 53 51 4c 69 74  ilogue..runSQLit
0c80: 65 54 65 73 74 45 70 69 6c 6f 67 75 65 0d 0a 72  eTestEpilogue..r
0c90: 75 6e 54 65 73 74 45 70 69 6c 6f 67 75 65 0d 0a  unTestEpilogue..