System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 22e7755d8bd74e829bfde8b3b1d4e9f711542963:


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 62 34 61 37 64 64  .#..# tkt-b4a7dd
0060: 63 38 33 66 2e 65 61 67 6c 65 20 2d 2d 0d 0a 23  c83f.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 4c 69 62 72 61 72  uire EagleLibrar
0150: 79 0d 0a 70 61 63 6b 61 67 65 20 72 65 71 75 69  y..package requi
0160: 72 65 20 45 61 67 6c 65 54 65 73 74 0d 0a 0d 0a  re EagleTest....
0170: 72 75 6e 54 65 73 74 50 72 6f 6c 6f 67 75 65 0d  runTestPrologue.
0180: 0a 0d 0a 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 23 23 23 23 23  ################
01d0: 23 23 0d 0a 0d 0a 70 61 63 6b 61 67 65 20 72 65  ##....package re
01e0: 71 75 69 72 65 20 53 79 73 74 65 6d 2e 44 61 74  quire System.Dat
01f0: 61 2e 53 51 4c 69 74 65 2e 54 65 73 74 0d 0a 72  a.SQLite.Test..r
0200: 75 6e 53 51 4c 69 74 65 54 65 73 74 50 72 6f 6c  unSQLiteTestProl
0210: 6f 67 75 65 0d 0a 0d 0a 23 23 23 23 23 23 23 23  ogue....########
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: 23 23 23 23 23 23 23 0d 0a 0d 0a 23 0d 0a 23 20  #######....#..# 
0270: 4e 4f 54 45 3a 20 4d 61 6b 65 20 73 75 72 65 20  NOTE: Make sure 
0280: 74 68 61 74 20 53 51 4c 69 74 65 20 63 6f 72 65  that SQLite core
0290: 20 6c 69 62 72 61 72 79 20 69 73 20 63 6f 6d 70   library is comp
02a0: 6c 65 74 65 6c 79 20 73 68 75 74 64 6f 77 6e 20  letely shutdown 
02b0: 70 72 69 6f 72 20 74 6f 0d 0a 23 20 20 20 20 20  prior to..#     
02c0: 20 20 73 74 61 72 74 69 6e 67 20 61 6e 79 20 6f    starting any o
02d0: 66 20 74 68 65 20 74 65 73 74 73 20 69 6e 20 74  f the tests in t
02e0: 68 69 73 20 66 69 6c 65 2e 0d 0a 23 0d 0a 69 66  his file...#..if
02f0: 20 7b 5b 68 61 76 65 43 6f 6e 73 74 72 61 69 6e   {[haveConstrain
0300: 74 20 53 51 4c 69 74 65 5d 7d 20 74 68 65 6e 20  t SQLite]} then 
0310: 7b 0d 0a 20 20 6f 62 6a 65 63 74 20 69 6e 76 6f  {..  object invo
0320: 6b 65 20 2d 66 6c 61 67 73 20 2b 4e 6f 6e 50 75  ke -flags +NonPu
0330: 62 6c 69 63 20 53 79 73 74 65 6d 2e 44 61 74 61  blic System.Data
0340: 2e 53 51 4c 69 74 65 2e 55 6e 73 61 66 65 4e 61  .SQLite.UnsafeNa
0350: 74 69 76 65 4d 65 74 68 6f 64 73 20 5c 0d 0a 20  tiveMethods \.. 
0360: 20 20 20 20 20 73 71 6c 69 74 65 33 5f 73 68 75       sqlite3_shu
0370: 74 64 6f 77 6e 0d 0a 7d 0d 0a 0d 0a 23 23 23 23  tdown..}....####
0380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0390: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
03a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
03b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
03c0: 23 23 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 66  ###########....f
03d0: 6f 72 20 7b 73 65 74 20 69 20 31 7d 20 7b 24 69  or {set i 1} {$i
03e0: 20 3c 20 33 7d 20 7b 69 6e 63 72 20 69 7d 20 7b   < 3} {incr i} {
03f0: 0d 0a 20 20 72 75 6e 54 65 73 74 20 7b 74 65 73  ..  runTest {tes
0400: 74 20 74 6b 74 2d 62 34 61 37 64 64 63 38 33 66  t tkt-b4a7ddc83f
0410: 2d 31 2e 24 69 20 7b 6c 6f 67 67 69 6e 67 20 73  -1.$i {logging s
0420: 68 75 74 64 6f 77 6e 7d 20 2d 73 65 74 75 70 20  hutdown} -setup 
0430: 5c 0d 0a 20 20 20 20 20 20 5b 67 65 74 41 70 70  \..      [getApp
0440: 44 6f 6d 61 69 6e 50 72 65 61 6d 62 6c 65 20 7b  DomainPreamble {
0450: 0d 0a 20 20 20 20 73 65 74 20 61 70 70 44 6f 6d  ..    set appDom
0460: 61 69 6e 49 64 28 31 29 20 7b 5b 6f 62 6a 65 63  ainId(1) {[objec
0470: 74 20 69 6e 76 6f 6b 65 20 41 70 70 44 6f 6d 61  t invoke AppDoma
0480: 69 6e 2e 43 75 72 72 65 6e 74 44 6f 6d 61 69 6e  in.CurrentDomain
0490: 20 49 64 5d 7d 0d 0a 20 20 20 20 73 65 74 20 66   Id]}..    set f
04a0: 69 6c 65 4e 61 6d 65 20 7b 74 6b 74 2d 62 34 61  ileName {tkt-b4a
04b0: 37 64 64 63 38 33 66 2d 31 2e 24 69 2e 64 62 7d  7ddc83f-1.$i.db}
04c0: 0d 0a 20 20 7d 5d 20 2d 62 6f 64 79 20 7b 0d 0a  ..  }] -body {..
04d0: 20 20 20 20 73 65 74 20 61 70 70 44 6f 6d 61 69      set appDomai
04e0: 6e 49 64 28 32 29 20 5b 6f 62 6a 65 63 74 20 69  nId(2) [object i
04f0: 6e 76 6f 6b 65 20 41 70 70 44 6f 6d 61 69 6e 2e  nvoke AppDomain.
0500: 43 75 72 72 65 6e 74 44 6f 6d 61 69 6e 20 49 64  CurrentDomain Id
0510: 5d 0d 0a 0d 0a 20 20 20 20 70 61 63 6b 61 67 65  ]....    package
0520: 20 72 65 71 75 69 72 65 20 45 61 67 6c 65 4c 69   require EagleLi
0530: 62 72 61 72 79 0d 0a 20 20 20 20 70 61 63 6b 61  brary..    packa
0540: 67 65 20 72 65 71 75 69 72 65 20 45 61 67 6c 65  ge require Eagle
0550: 54 65 73 74 0d 0a 20 20 20 20 70 61 63 6b 61 67  Test..    packag
0560: 65 20 72 65 71 75 69 72 65 20 53 79 73 74 65 6d  e require System
0570: 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 54 65 73  .Data.SQLite.Tes
0580: 74 0d 0a 0d 0a 20 20 20 20 6f 62 6a 65 63 74 20  t....    object 
0590: 6c 6f 61 64 20 2d 6c 6f 61 64 74 79 70 65 20 46  load -loadtype F
05a0: 69 6c 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 5b  ile [file join [
05b0: 67 65 74 42 69 6e 61 72 79 44 69 72 65 63 74 6f  getBinaryDirecto
05c0: 72 79 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20 53  ry] \..        S
05d0: 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74  ystem.Data.SQLit
05e0: 65 2e 64 6c 6c 5d 0d 0a 0d 0a 20 20 20 20 6f 62  e.dll]....    ob
05f0: 6a 65 63 74 20 69 6e 76 6f 6b 65 20 53 79 73 74  ject invoke Syst
0600: 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 53  em.Data.SQLite.S
0610: 51 4c 69 74 65 4c 6f 67 20 49 6e 69 74 69 61 6c  QLiteLog Initial
0620: 69 7a 65 0d 0a 0d 0a 20 20 20 20 6c 69 73 74 20  ize....    list 
0630: 24 61 70 70 44 6f 6d 61 69 6e 49 64 28 31 29 20  $appDomainId(1) 
0640: 24 61 70 70 44 6f 6d 61 69 6e 49 64 28 32 29 20  $appDomainId(2) 
0650: 5c 0d 0a 20 20 20 20 20 20 20 20 5b 65 78 70 72  \..        [expr
0660: 20 7b 24 61 70 70 44 6f 6d 61 69 6e 49 64 28 31   {$appDomainId(1
0670: 29 20 21 3d 20 24 61 70 70 44 6f 6d 61 69 6e 49  ) != $appDomainI
0680: 64 28 32 29 7d 5d 20 5b 73 65 74 75 70 44 62 20  d(2)}] [setupDb 
0690: 24 66 69 6c 65 4e 61 6d 65 5d 0d 0a 20 20 7d 20  $fileName]..  } 
06a0: 2d 63 6c 65 61 6e 75 70 20 7b 0d 0a 20 20 20 20  -cleanup {..    
06b0: 63 6c 65 61 6e 75 70 44 62 20 24 66 69 6c 65 4e  cleanupDb $fileN
06c0: 61 6d 65 0d 0a 20 20 20 20 75 6e 73 65 74 20 2d  ame..    unset -
06d0: 6e 6f 63 6f 6d 70 6c 61 69 6e 20 61 70 70 44 6f  nocomplain appDo
06e0: 6d 61 69 6e 49 64 20 64 62 20 66 69 6c 65 4e 61  mainId db fileNa
06f0: 6d 65 0d 0a 20 20 7d 20 2d 63 6f 6e 73 74 72 61  me..  } -constra
0700: 69 6e 74 73 20 7b 65 61 67 6c 65 20 6d 6f 6e 6f  ints {eagle mono
0710: 42 75 67 32 38 20 63 6f 6d 6d 61 6e 64 2e 73 71  Bug28 command.sq
0720: 6c 20 63 6f 6d 70 69 6c 65 2e 44 41 54 41 5c 0d  l compile.DATA\.
0730: 0a 63 6f 6d 70 69 6c 65 2e 49 53 4f 4c 41 54 45  .compile.ISOLATE
0740: 44 5f 49 4e 54 45 52 50 52 45 54 45 52 53 20 53  D_INTERPRETERS S
0750: 51 4c 69 74 65 20 53 79 73 74 65 6d 2e 44 61 74  QLite System.Dat
0760: 61 2e 53 51 4c 69 74 65 7d 20 2d 69 73 6f 6c 61  a.SQLite} -isola
0770: 74 69 6f 6e 4c 65 76 65 6c 20 5c 0d 0a 41 70 70  tionLevel \..App
0780: 44 6f 6d 61 69 6e 20 2d 6d 61 74 63 68 20 72 65  Domain -match re
0790: 67 65 78 70 20 2d 72 65 73 75 6c 74 20 7b 5e 5c  gexp -result {^\
07a0: 64 2b 20 5c 64 2b 20 54 72 75 65 20 53 51 4c 69  d+ \d+ True SQLi
07b0: 74 65 43 6f 6e 6e 65 63 74 69 6f 6e 23 5c 64 2b  teConnection#\d+
07c0: 24 7d 7d 0d 0a 7d 0d 0a 0d 0a 23 23 23 23 23 23  $}}..}....######
07d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
07e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
07f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0800: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0810: 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 75 6e 73  #########....uns
0820: 65 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 69  et -nocomplain i
0830: 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23  ....############
0840: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0850: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0860: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0870: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0880: 23 23 23 0d 0a 0d 0a 72 75 6e 53 51 4c 69 74 65  ###....runSQLite
0890: 54 65 73 74 45 70 69 6c 6f 67 75 65 0d 0a 72 75  TestEpilogue..ru
08a0: 6e 54 65 73 74 45 70 69 6c 6f 67 75 65 0d 0a     nTestEpilogue..