System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 2e62048e1c9a5dfa158406f3f98a42f059385bd3:


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 63 63 66 61 36 39  .#..# tkt-ccfa69
0060: 66 63 33 32 2e 65 61 67 6c 65 20 2d 2d 0d 0a 23  fc32.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 63 63 66 61 36   {test tkt-ccfa6
02a0: 39 66 63 33 32 2d 31 2e 31 20 7b 4c 49 4e 51 20  9fc32-1.1 {LINQ 
02b0: 54 72 61 6e 73 61 63 74 69 6f 6e 20 53 63 6f 70  Transaction Scop
02c0: 65 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 63 6f  e} -body {..  co
02d0: 70 79 53 61 6d 70 6c 65 44 61 74 61 62 61 73 65  pySampleDatabase
02e0: 46 69 6c 65 73 0d 0a 0d 0a 20 20 73 65 74 20 72  Files....  set r
02f0: 65 73 75 6c 74 20 5b 6c 69 73 74 5d 0d 0a 0d 0a  esult [list]....
0300: 20 20 66 6f 72 65 61 63 68 20 61 64 64 20 5b 6c    foreach add [l
0310: 69 73 74 20 66 61 6c 73 65 20 74 72 75 65 20 66  ist false true f
0320: 61 6c 73 65 5d 20 7b 0d 0a 20 20 20 20 73 65 74  alse] {..    set
0330: 20 6f 75 74 70 75 74 20 22 22 0d 0a 0d 0a 20 20   output ""....  
0340: 20 20 73 65 74 20 63 6f 64 65 20 5b 63 61 74 63    set code [catc
0350: 68 20 7b 0d 0a 20 20 20 20 20 20 74 65 73 74 43  h {..      testC
0360: 6c 72 45 78 65 63 20 24 74 65 73 74 4c 69 6e 71  lrExec $testLinq
0370: 45 78 65 46 69 6c 65 20 5b 6c 69 73 74 20 2d 65  ExeFile [list -e
0380: 76 65 6e 74 66 6c 61 67 73 20 57 61 69 74 20 2d  ventflags Wait -
0390: 64 69 72 65 63 74 6f 72 79 20 5c 0d 0a 20 20 20  directory \..   
03a0: 20 20 20 20 20 20 20 5b 66 69 6c 65 20 64 69 72         [file dir
03b0: 6e 61 6d 65 20 24 74 65 73 74 4c 69 6e 71 45 78  name $testLinqEx
03c0: 65 46 69 6c 65 5d 20 2d 6e 6f 63 61 72 72 69 61  eFile] -nocarria
03d0: 67 65 72 65 74 75 72 6e 73 20 2d 73 74 64 6f 75  gereturns -stdou
03e0: 74 20 6f 75 74 70 75 74 20 5c 0d 0a 20 20 20 20  t output \..    
03f0: 20 20 20 20 20 20 2d 73 75 63 63 65 73 73 20 53        -success S
0400: 75 63 63 65 73 73 5d 20 2d 65 66 54 72 61 6e 73  uccess] -efTrans
0410: 61 63 74 69 6f 6e 20 24 61 64 64 0d 0a 20 20 20  action $add..   
0420: 20 7d 20 65 72 72 6f 72 5d 0d 0a 0d 0a 20 20 20   } error]....   
0430: 20 74 6c 6f 67 20 22 2d 2d 2d 2d 20 42 45 47 49   tlog "---- BEGI
0440: 4e 20 53 54 44 4f 55 54 20 4f 55 54 50 55 54 5c  N STDOUT OUTPUT\
0450: 6e 22 0d 0a 20 20 20 20 74 6c 6f 67 20 24 6f 75  n"..    tlog $ou
0460: 74 70 75 74 0d 0a 20 20 20 20 74 6c 6f 67 20 22  tput..    tlog "
0470: 5c 6e 2d 2d 2d 2d 20 45 4e 44 20 53 54 44 4f 55  \n---- END STDOU
0480: 54 20 4f 55 54 50 55 54 5c 6e 22 0d 0a 0d 0a 20  T OUTPUT\n".... 
0490: 20 20 20 6c 61 70 70 65 6e 64 20 72 65 73 75 6c     lappend resul
04a0: 74 20 24 63 6f 64 65 0d 0a 0d 0a 20 20 20 20 69  t $code....    i
04b0: 66 20 7b 24 63 6f 64 65 20 3d 3d 20 30 7d 20 74  f {$code == 0} t
04c0: 68 65 6e 20 7b 0d 0a 20 20 20 20 20 20 6c 61 70  hen {..      lap
04d0: 70 65 6e 64 20 72 65 73 75 6c 74 20 5b 73 74 72  pend result [str
04e0: 69 6e 67 20 74 72 69 6d 20 5c 0d 0a 20 20 20 20  ing trim \..    
04f0: 20 20 20 20 20 20 5b 65 78 74 72 61 63 74 53 79        [extractSy
0500: 73 74 65 6d 44 61 74 61 53 51 4c 69 74 65 45 78  stemDataSQLiteEx
0510: 63 65 70 74 69 6f 6e 4d 65 73 73 61 67 65 20 24  ceptionMessage $
0520: 6f 75 74 70 75 74 5d 5d 0d 0a 20 20 20 20 7d 20  output]]..    } 
0530: 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20 20 6c 61  else {..      la
0540: 70 70 65 6e 64 20 72 65 73 75 6c 74 20 5b 73 74  ppend result [st
0550: 72 69 6e 67 20 74 72 69 6d 20 5c 0d 0a 20 20 20  ring trim \..   
0560: 20 20 20 20 20 20 20 5b 65 78 74 72 61 63 74 53         [extractS
0570: 79 73 74 65 6d 44 61 74 61 53 51 4c 69 74 65 45  ystemDataSQLiteE
0580: 78 63 65 70 74 69 6f 6e 4d 65 73 73 61 67 65 20  xceptionMessage 
0590: 24 65 72 72 6f 72 5d 5d 0d 0a 20 20 20 20 7d 0d  $error]]..    }.
05a0: 0a 20 20 7d 0d 0a 0d 0a 20 20 73 65 74 20 72 65  .  }....  set re
05b0: 73 75 6c 74 0d 0a 7d 20 2d 63 6c 65 61 6e 75 70  sult..} -cleanup
05c0: 20 7b 0d 0a 20 20 75 6e 73 65 74 20 2d 6e 6f 63   {..  unset -noc
05d0: 6f 6d 70 6c 61 69 6e 20 63 6f 64 65 20 6f 75 74  omplain code out
05e0: 70 75 74 20 65 72 72 6f 72 20 72 65 73 75 6c 74  put error result
05f0: 20 61 64 64 0d 0a 7d 20 2d 63 6f 6e 73 74 72 61   add..} -constra
0600: 69 6e 74 73 20 7b 65 61 67 6c 65 20 6d 6f 6e 6f  ints {eagle mono
0610: 54 6f 44 6f 20 53 51 4c 69 74 65 20 66 69 6c 65  ToDo SQLite file
0620: 5f 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c  _System.Data.SQL
0630: 69 74 65 2e 64 6c 6c 20 74 65 73 74 45 78 65 63  ite.dll testExec
0640: 5c 0d 0a 66 69 6c 65 5f 53 79 73 74 65 6d 2e 44  \..file_System.D
0650: 61 74 61 2e 53 51 4c 69 74 65 2e 4c 69 6e 71 2e  ata.SQLite.Linq.
0660: 64 6c 6c 20 66 69 6c 65 5f 74 65 73 74 6c 69 6e  dll file_testlin
0670: 71 2e 65 78 65 20 66 69 6c 65 5f 6e 6f 72 74 68  q.exe file_north
0680: 77 69 6e 64 45 46 2e 64 62 7d 20 5c 0d 0a 2d 72  windEF.db} \..-r
0690: 65 73 75 6c 74 20 7b 30 20 7b 31 35 38 31 20 31  esult {0 {1581 1
06a0: 37 33 30 20 31 38 33 33 20 32 31 31 36 20 32 31  730 1833 2116 21
06b0: 33 39 7d 20 30 20 7b 63 6f 6e 73 74 72 61 69 6e  39} 0 {constrain
06c0: 74 20 66 61 69 6c 65 64 20 2d 2d 20 55 4e 49 51  t failed -- UNIQ
06d0: 55 45 20 63 6f 6e 73 74 72 61 69 6e 74 5c 0d 0a  UE constraint\..
06e0: 66 61 69 6c 65 64 3a 20 54 65 72 72 69 74 6f 72  failed: Territor
06f0: 69 65 73 2e 54 65 72 72 69 74 6f 72 79 49 44 7d  ies.TerritoryID}
0700: 20 30 20 7b 31 20 32 20 33 20 34 20 35 20 36 20   0 {1 2 3 4 5 6 
0710: 37 20 38 20 39 20 31 30 20 31 35 37 36 20 31 35  7 8 9 10 1576 15
0720: 37 37 20 31 35 37 38 20 31 35 37 39 5c 0d 0a 31  77 1578 1579\..1
0730: 35 38 30 20 31 35 38 31 20 31 37 33 30 20 31 38  580 1581 1730 18
0740: 33 33 20 32 31 31 36 20 32 31 33 39 7d 7d 7d 0d  33 2116 2139}}}.
0750: 0a 0d 0a 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 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0780: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0790: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
07a0: 23 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b 74  ##....runTest {t
07b0: 65 73 74 20 74 6b 74 2d 63 63 66 61 36 39 66 63  est tkt-ccfa69fc
07c0: 33 32 2d 31 2e 32 20 7b 45 46 36 20 54 72 61 6e  32-1.2 {EF6 Tran
07d0: 73 61 63 74 69 6f 6e 20 53 63 6f 70 65 7d 20 2d  saction Scope} -
07e0: 62 6f 64 79 20 7b 0d 0a 20 20 63 6f 70 79 53 61  body {..  copySa
07f0: 6d 70 6c 65 44 61 74 61 62 61 73 65 46 69 6c 65  mpleDatabaseFile
0800: 73 0d 0a 0d 0a 20 20 73 65 74 20 72 65 73 75 6c  s....  set resul
0810: 74 20 5b 6c 69 73 74 5d 0d 0a 0d 0a 20 20 66 6f  t [list]....  fo
0820: 72 65 61 63 68 20 61 64 64 20 5b 6c 69 73 74 20  reach add [list 
0830: 66 61 6c 73 65 20 74 72 75 65 20 66 61 6c 73 65  false true false
0840: 5d 20 7b 0d 0a 20 20 20 20 73 65 74 20 6f 75 74  ] {..    set out
0850: 70 75 74 20 22 22 0d 0a 0d 0a 20 20 20 20 73 65  put ""....    se
0860: 74 20 63 6f 64 65 20 5b 63 61 74 63 68 20 7b 0d  t code [catch {.
0870: 0a 20 20 20 20 20 20 74 65 73 74 43 6c 72 45 78  .      testClrEx
0880: 65 63 20 24 74 65 73 74 45 66 36 45 78 65 46 69  ec $testEf6ExeFi
0890: 6c 65 20 5b 6c 69 73 74 20 2d 65 76 65 6e 74 66  le [list -eventf
08a0: 6c 61 67 73 20 57 61 69 74 20 2d 64 69 72 65 63  lags Wait -direc
08b0: 74 6f 72 79 20 5c 0d 0a 20 20 20 20 20 20 20 20  tory \..        
08c0: 20 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20    [file dirname 
08d0: 24 74 65 73 74 45 66 36 45 78 65 46 69 6c 65 5d  $testEf6ExeFile]
08e0: 20 2d 6e 6f 63 61 72 72 69 61 67 65 72 65 74 75   -nocarriageretu
08f0: 72 6e 73 20 2d 73 74 64 6f 75 74 20 6f 75 74 70  rns -stdout outp
0900: 75 74 20 5c 0d 0a 20 20 20 20 20 20 20 20 20 20  ut \..          
0910: 2d 73 75 63 63 65 73 73 20 53 75 63 63 65 73 73  -success Success
0920: 5d 20 2d 65 66 54 72 61 6e 73 61 63 74 69 6f 6e  ] -efTransaction
0930: 20 24 61 64 64 0d 0a 20 20 20 20 7d 20 65 72 72   $add..    } err
0940: 6f 72 5d 0d 0a 0d 0a 20 20 20 20 74 6c 6f 67 20  or]....    tlog 
0950: 22 2d 2d 2d 2d 20 42 45 47 49 4e 20 53 54 44 4f  "---- BEGIN STDO
0960: 55 54 20 4f 55 54 50 55 54 5c 6e 22 0d 0a 20 20  UT OUTPUT\n"..  
0970: 20 20 74 6c 6f 67 20 24 6f 75 74 70 75 74 0d 0a    tlog $output..
0980: 20 20 20 20 74 6c 6f 67 20 22 5c 6e 2d 2d 2d 2d      tlog "\n----
0990: 20 45 4e 44 20 53 54 44 4f 55 54 20 4f 55 54 50   END STDOUT OUTP
09a0: 55 54 5c 6e 22 0d 0a 0d 0a 20 20 20 20 6c 61 70  UT\n"....    lap
09b0: 70 65 6e 64 20 72 65 73 75 6c 74 20 24 63 6f 64  pend result $cod
09c0: 65 0d 0a 0d 0a 20 20 20 20 69 66 20 7b 24 63 6f  e....    if {$co
09d0: 64 65 20 3d 3d 20 30 7d 20 74 68 65 6e 20 7b 0d  de == 0} then {.
09e0: 0a 20 20 20 20 20 20 6c 61 70 70 65 6e 64 20 72  .      lappend r
09f0: 65 73 75 6c 74 20 5b 73 74 72 69 6e 67 20 74 72  esult [string tr
0a00: 69 6d 20 5c 0d 0a 20 20 20 20 20 20 20 20 20 20  im \..          
0a10: 5b 65 78 74 72 61 63 74 53 79 73 74 65 6d 44 61  [extractSystemDa
0a20: 74 61 53 51 4c 69 74 65 45 78 63 65 70 74 69 6f  taSQLiteExceptio
0a30: 6e 4d 65 73 73 61 67 65 20 24 6f 75 74 70 75 74  nMessage $output
0a40: 5d 5d 0d 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b  ]]..    } else {
0a50: 0d 0a 20 20 20 20 20 20 6c 61 70 70 65 6e 64 20  ..      lappend 
0a60: 72 65 73 75 6c 74 20 5b 73 74 72 69 6e 67 20 74  result [string t
0a70: 72 69 6d 20 5c 0d 0a 20 20 20 20 20 20 20 20 20  rim \..         
0a80: 20 5b 65 78 74 72 61 63 74 53 79 73 74 65 6d 44   [extractSystemD
0a90: 61 74 61 53 51 4c 69 74 65 45 78 63 65 70 74 69  ataSQLiteExcepti
0aa0: 6f 6e 4d 65 73 73 61 67 65 20 24 65 72 72 6f 72  onMessage $error
0ab0: 5d 5d 0d 0a 20 20 20 20 7d 0d 0a 20 20 7d 0d 0a  ]]..    }..  }..
0ac0: 0d 0a 20 20 73 65 74 20 72 65 73 75 6c 74 0d 0a  ..  set result..
0ad0: 7d 20 2d 63 6c 65 61 6e 75 70 20 7b 0d 0a 20 20  } -cleanup {..  
0ae0: 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69  unset -nocomplai
0af0: 6e 20 63 6f 64 65 20 6f 75 74 70 75 74 20 65 72  n code output er
0b00: 72 6f 72 20 72 65 73 75 6c 74 20 61 64 64 0d 0a  ror result add..
0b10: 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b  } -constraints {
0b20: 65 61 67 6c 65 20 6d 6f 6e 6f 54 6f 44 6f 20 53  eagle monoToDo S
0b30: 51 4c 69 74 65 20 66 69 6c 65 5f 53 79 73 74 65  QLite file_Syste
0b40: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 64 6c  m.Data.SQLite.dl
0b50: 6c 20 74 65 73 74 45 78 65 63 5c 0d 0a 66 69 6c  l testExec\..fil
0b60: 65 5f 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51  e_System.Data.SQ
0b70: 4c 69 74 65 2e 45 46 36 2e 64 6c 6c 20 66 69 6c  Lite.EF6.dll fil
0b80: 65 5f 74 65 73 74 65 66 36 2e 65 78 65 20 66 69  e_testef6.exe fi
0b90: 6c 65 5f 6e 6f 72 74 68 77 69 6e 64 45 46 2e 64  le_northwindEF.d
0ba0: 62 7d 20 5c 0d 0a 2d 72 65 73 75 6c 74 20 7b 30  b} \..-result {0
0bb0: 20 7b 31 35 38 31 20 31 37 33 30 20 31 38 33 33   {1581 1730 1833
0bc0: 20 32 31 31 36 20 32 31 33 39 7d 20 30 20 7b 63   2116 2139} 0 {c
0bd0: 6f 6e 73 74 72 61 69 6e 74 20 66 61 69 6c 65 64  onstraint failed
0be0: 20 2d 2d 20 55 4e 49 51 55 45 20 63 6f 6e 73 74   -- UNIQUE const
0bf0: 72 61 69 6e 74 5c 0d 0a 66 61 69 6c 65 64 3a 20  raint\..failed: 
0c00: 54 65 72 72 69 74 6f 72 69 65 73 2e 54 65 72 72  Territories.Terr
0c10: 69 74 6f 72 79 49 44 7d 20 30 20 7b 31 20 32 20  itoryID} 0 {1 2 
0c20: 33 20 34 20 35 20 36 20 37 20 38 20 39 20 31 30  3 4 5 6 7 8 9 10
0c30: 20 31 35 37 36 20 31 35 37 37 20 31 35 37 38 20   1576 1577 1578 
0c40: 31 35 37 39 5c 0d 0a 31 35 38 30 20 31 35 38 31  1579\..1580 1581
0c50: 20 31 37 33 30 20 31 38 33 33 20 32 31 31 36 20   1730 1833 2116 
0c60: 32 31 33 39 7d 7d 7d 0d 0a 0d 0a 23 23 23 23 23  2139}}}....#####
0c70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0ca0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0cb0: 23 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 72 75  ##########....ru
0cc0: 6e 53 51 4c 69 74 65 54 65 73 74 46 69 6c 65 73  nSQLiteTestFiles
0cd0: 45 70 69 6c 6f 67 75 65 0d 0a 72 75 6e 53 51 4c  Epilogue..runSQL
0ce0: 69 74 65 54 65 73 74 45 70 69 6c 6f 67 75 65 0d  iteTestEpilogue.
0cf0: 0a 72 75 6e 54 65 73 74 45 70 69 6c 6f 67 75 65  .runTestEpilogue
0d00: 0d 0a                                            ..