System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 6213f824806dc5b5dc18d53bd7df576cd312b83d:


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 31 63 34 35 36 61  .#..# tkt-1c456a
0060: 65 37 35 66 2e 65 61 67 6c 65 20 2d 2d 0d 0a 23  e75f.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 0d 0a 23 23 23 23 23 23  ologue....######
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 23 23 0d 0a 0d 0a 72 75 6e  #########....run
0270: 54 65 73 74 20 7b 74 65 73 74 20 74 6b 74 2d 31  Test {test tkt-1
0280: 63 34 35 36 61 65 37 35 66 2d 31 2e 31 20 7b 75  c456ae75f-1.1 {u
0290: 6e 65 6e 63 72 79 70 74 65 64 20 64 61 74 61 62  nencrypted datab
02a0: 61 73 65 2c 20 68 65 78 20 70 61 73 73 77 6f 72  ase, hex passwor
02b0: 64 7d 20 2d 73 65 74 75 70 20 7b 0d 0a 20 20 73  d} -setup {..  s
02c0: 65 74 75 70 44 62 20 5b 73 65 74 20 66 69 6c 65  etupDb [set file
02d0: 4e 61 6d 65 20 74 6b 74 2d 31 63 34 35 36 61 65  Name tkt-1c456ae
02e0: 37 35 66 2d 31 2e 31 2e 64 62 5d 0d 0a 7d 20 2d  75f-1.1.db]..} -
02f0: 62 6f 64 79 20 7b 0d 0a 20 20 73 71 6c 20 65 78  body {..  sql ex
0300: 65 63 75 74 65 20 24 64 62 20 22 43 52 45 41 54  ecute $db "CREAT
0310: 45 20 54 41 42 4c 45 20 74 31 28 78 29 3b 22 0d  E TABLE t1(x);".
0320: 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20 24  .  sql execute $
0330: 64 62 20 22 49 4e 53 45 52 54 20 49 4e 54 4f 20  db "INSERT INTO 
0340: 74 31 20 28 78 29 20 56 41 4c 55 45 53 28 31 29  t1 (x) VALUES(1)
0350: 3b 22 0d 0a 0d 0a 20 20 63 6c 65 61 6e 75 70 44  ;"....  cleanupD
0360: 62 20 24 66 69 6c 65 4e 61 6d 65 20 64 62 20 74  b $fileName db t
0370: 72 75 65 20 66 61 6c 73 65 20 66 61 6c 73 65 0d  rue false false.
0380: 0a 20 20 73 65 74 75 70 44 62 20 24 66 69 6c 65  .  setupDb $file
0390: 4e 61 6d 65 20 22 22 20 22 22 20 22 22 20 22 22  Name "" "" "" ""
03a0: 20 22 48 65 78 50 61 73 73 77 6f 72 64 3d 33 31   "HexPassword=31
03b0: 33 32 33 33 33 34 33 35 3b 22 20 74 72 75 65 20  32333435;" true 
03c0: 66 61 6c 73 65 0d 0a 0d 0a 20 20 73 65 74 20 72  false....  set r
03d0: 65 73 75 6c 74 20 5b 6c 69 73 74 5d 0d 0a 0d 0a  esult [list]....
03e0: 20 20 6c 61 70 70 65 6e 64 20 72 65 73 75 6c 74    lappend result
03f0: 20 5b 63 61 74 63 68 20 7b 73 71 6c 20 65 78 65   [catch {sql exe
0400: 63 75 74 65 20 2d 65 78 65 63 75 74 65 20 73 63  cute -execute sc
0410: 61 6c 61 72 20 24 64 62 20 5c 0d 0a 20 20 20 20  alar $db \..    
0420: 20 20 22 53 45 4c 45 43 54 20 43 4f 55 4e 54 28    "SELECT COUNT(
0430: 2a 29 20 46 52 4f 4d 20 74 31 3b 22 7d 20 65 72  *) FROM t1;"} er
0440: 72 6f 72 5d 20 24 65 72 72 6f 72 0d 0a 0d 0a 20  ror] $error.... 
0450: 20 6c 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20   lappend result 
0460: 5b 63 61 74 63 68 20 7b 73 71 6c 20 65 78 65 63  [catch {sql exec
0470: 75 74 65 20 24 64 62 20 5c 0d 0a 20 20 20 20 20  ute $db \..     
0480: 20 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31   "INSERT INTO t1
0490: 20 28 78 29 20 56 41 4c 55 45 53 28 31 29 3b 22   (x) VALUES(1);"
04a0: 7d 20 65 72 72 6f 72 5d 20 24 65 72 72 6f 72 0d  } error] $error.
04b0: 0a 0d 0a 20 20 63 6c 65 61 6e 75 70 44 62 20 24  ...  cleanupDb $
04c0: 66 69 6c 65 4e 61 6d 65 20 64 62 20 74 72 75 65  fileName db true
04d0: 20 66 61 6c 73 65 20 66 61 6c 73 65 0d 0a 20 20   false false..  
04e0: 73 65 74 75 70 44 62 20 24 66 69 6c 65 4e 61 6d  setupDb $fileNam
04f0: 65 20 22 22 20 22 22 20 22 22 20 22 22 20 22 22  e "" "" "" "" ""
0500: 20 74 72 75 65 20 66 61 6c 73 65 0d 0a 0d 0a 20   true false.... 
0510: 20 6c 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20   lappend result 
0520: 5b 63 61 74 63 68 20 7b 73 71 6c 20 65 78 65 63  [catch {sql exec
0530: 75 74 65 20 24 64 62 20 5c 0d 0a 20 20 20 20 20  ute $db \..     
0540: 20 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31   "INSERT INTO t1
0550: 20 28 78 29 20 56 41 4c 55 45 53 28 31 29 3b 22   (x) VALUES(1);"
0560: 7d 20 65 72 72 6f 72 5d 20 24 65 72 72 6f 72 0d  } error] $error.
0570: 0a 0d 0a 20 20 6c 61 70 70 65 6e 64 20 72 65 73  ...  lappend res
0580: 75 6c 74 20 5b 63 61 74 63 68 20 7b 73 71 6c 20  ult [catch {sql 
0590: 65 78 65 63 75 74 65 20 2d 65 78 65 63 75 74 65  execute -execute
05a0: 20 73 63 61 6c 61 72 20 24 64 62 20 5c 0d 0a 20   scalar $db \.. 
05b0: 20 20 20 20 20 22 53 45 4c 45 43 54 20 43 4f 55       "SELECT COU
05c0: 4e 54 28 2a 29 20 46 52 4f 4d 20 74 31 3b 22 7d  NT(*) FROM t1;"}
05d0: 20 65 72 72 6f 72 5d 20 24 65 72 72 6f 72 0d 0a   error] $error..
05e0: 0d 0a 20 20 73 65 74 20 72 65 73 75 6c 74 0d 0a  ..  set result..
05f0: 7d 20 2d 63 6c 65 61 6e 75 70 20 7b 0d 0a 20 20  } -cleanup {..  
0600: 63 6c 65 61 6e 75 70 44 62 20 24 66 69 6c 65 4e  cleanupDb $fileN
0610: 61 6d 65 0d 0a 0d 0a 20 20 75 6e 73 65 74 20 2d  ame....  unset -
0620: 6e 6f 63 6f 6d 70 6c 61 69 6e 20 65 72 72 6f 72  nocomplain error
0630: 20 72 65 73 75 6c 74 20 64 62 20 66 69 6c 65 4e   result db fileN
0640: 61 6d 65 0d 0a 7d 20 2d 63 6f 6e 73 74 72 61 69  ame..} -constrai
0650: 6e 74 73 20 7b 65 61 67 6c 65 20 64 65 66 69 6e  nts {eagle defin
0660: 65 43 6f 6e 73 74 61 6e 74 2e 53 79 73 74 65 6d  eConstant.System
0670: 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 49 4e 54  .Data.SQLite.INT
0680: 45 52 4f 50 5f 43 4f 44 45 43 20 6d 6f 6e 6f 42  EROP_CODEC monoB
0690: 75 67 32 38 5c 0d 0a 63 6f 6d 6d 61 6e 64 2e 73  ug28\..command.s
06a0: 71 6c 20 63 6f 6d 70 69 6c 65 2e 44 41 54 41 20  ql compile.DATA 
06b0: 53 51 4c 69 74 65 20 53 79 73 74 65 6d 2e 44 61  SQLite System.Da
06c0: 74 61 2e 53 51 4c 69 74 65 7d 20 2d 6d 61 74 63  ta.SQLite} -matc
06d0: 68 20 72 65 67 65 78 70 20 2d 72 65 73 75 6c 74  h regexp -result
06e0: 20 7b 5e 31 5c 0d 0a 5c 7b 53 79 73 74 65 6d 5c   {^1\..\{System\
06f0: 2e 44 61 74 61 5c 2e 53 51 4c 69 74 65 5c 2e 53  .Data\.SQLite\.S
0700: 51 4c 69 74 65 45 78 63 65 70 74 69 6f 6e 20 5c  QLiteException \
0710: 28 30 78 38 30 30 30 34 30 30 35 5c 29 3a 20 66  (0x80004005\): f
0720: 69 6c 65 20 69 73 20 65 6e 63 72 79 70 74 65 64  ile is encrypted
0730: 20 6f 72 20 69 73 5c 0d 0a 6e 6f 74 20 61 20 64   or is\..not a d
0740: 61 74 61 62 61 73 65 2e 2a 3f 5c 7d 20 31 20 5c  atabase.*?\} 1 \
0750: 7b 53 79 73 74 65 6d 5c 2e 44 61 74 61 5c 2e 53  {System\.Data\.S
0760: 51 4c 69 74 65 5c 2e 53 51 4c 69 74 65 45 78 63  QLite\.SQLiteExc
0770: 65 70 74 69 6f 6e 20 5c 28 30 78 38 30 30 30 34  eption \(0x80004
0780: 30 30 35 5c 29 3a 5c 0d 0a 66 69 6c 65 20 69 73  005\):\..file is
0790: 20 65 6e 63 72 79 70 74 65 64 20 6f 72 20 69 73   encrypted or is
07a0: 20 6e 6f 74 20 61 20 64 61 74 61 62 61 73 65 2e   not a database.
07b0: 2a 3f 5c 7d 20 30 20 31 20 30 20 32 24 7d 7d 0d  *?\} 0 1 0 2$}}.
07c0: 0a 0d 0a 23 23 23 23 23 23 23 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 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b 74  ##....runTest {t
0820: 65 73 74 20 74 6b 74 2d 31 63 34 35 36 61 65 37  est tkt-1c456ae7
0830: 35 66 2d 31 2e 32 20 7b 64 61 74 61 62 61 73 65  5f-1.2 {database
0840: 2c 20 68 65 78 20 70 61 73 73 77 6f 72 64 7d 20  , hex password} 
0850: 2d 73 65 74 75 70 20 7b 0d 0a 20 20 73 65 74 75  -setup {..  setu
0860: 70 44 62 20 5b 73 65 74 20 66 69 6c 65 4e 61 6d  pDb [set fileNam
0870: 65 20 74 6b 74 2d 31 63 34 35 36 61 65 37 35 66  e tkt-1c456ae75f
0880: 2d 31 2e 32 2e 64 62 5d 20 22 22 20 22 22 20 22  -1.2.db] "" "" "
0890: 22 20 22 22 20 5c 0d 0a 20 20 20 20 20 20 22 48  " "" \..      "H
08a0: 65 78 50 61 73 73 77 6f 72 64 3d 33 31 33 32 33  exPassword=31323
08b0: 33 33 34 33 35 3b 22 0d 0a 7d 20 2d 62 6f 64 79  33435;"..} -body
08c0: 20 7b 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74   {..  sql execut
08d0: 65 20 24 64 62 20 22 43 52 45 41 54 45 20 54 41  e $db "CREATE TA
08e0: 42 4c 45 20 74 31 28 78 29 3b 22 0d 0a 20 20 73  BLE t1(x);"..  s
08f0: 71 6c 20 65 78 65 63 75 74 65 20 24 64 62 20 22  ql execute $db "
0900: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20 28  INSERT INTO t1 (
0910: 78 29 20 56 41 4c 55 45 53 28 31 29 3b 22 0d 0a  x) VALUES(1);"..
0920: 0d 0a 20 20 63 6c 65 61 6e 75 70 44 62 20 24 66  ..  cleanupDb $f
0930: 69 6c 65 4e 61 6d 65 20 64 62 20 74 72 75 65 20  ileName db true 
0940: 66 61 6c 73 65 20 66 61 6c 73 65 0d 0a 20 20 73  false false..  s
0950: 65 74 75 70 44 62 20 24 66 69 6c 65 4e 61 6d 65  etupDb $fileName
0960: 20 22 22 20 22 22 20 22 22 20 22 22 20 22 50 61   "" "" "" "" "Pa
0970: 73 73 77 6f 72 64 3d 31 32 33 34 35 3b 22 20 74  ssword=12345;" t
0980: 72 75 65 20 66 61 6c 73 65 0d 0a 0d 0a 20 20 73  rue false....  s
0990: 65 74 20 72 65 73 75 6c 74 20 5b 6c 69 73 74 5d  et result [list]
09a0: 0d 0a 0d 0a 20 20 6c 61 70 70 65 6e 64 20 72 65  ....  lappend re
09b0: 73 75 6c 74 20 5b 63 61 74 63 68 20 7b 73 71 6c  sult [catch {sql
09c0: 20 65 78 65 63 75 74 65 20 2d 65 78 65 63 75 74   execute -execut
09d0: 65 20 73 63 61 6c 61 72 20 24 64 62 20 5c 0d 0a  e scalar $db \..
09e0: 20 20 20 20 20 20 22 53 45 4c 45 43 54 20 43 4f        "SELECT CO
09f0: 55 4e 54 28 2a 29 20 46 52 4f 4d 20 74 31 3b 22  UNT(*) FROM t1;"
0a00: 7d 20 65 72 72 6f 72 5d 20 24 65 72 72 6f 72 0d  } error] $error.
0a10: 0a 0d 0a 20 20 6c 61 70 70 65 6e 64 20 72 65 73  ...  lappend res
0a20: 75 6c 74 20 5b 63 61 74 63 68 20 7b 73 71 6c 20  ult [catch {sql 
0a30: 65 78 65 63 75 74 65 20 24 64 62 20 5c 0d 0a 20  execute $db \.. 
0a40: 20 20 20 20 20 22 49 4e 53 45 52 54 20 49 4e 54       "INSERT INT
0a50: 4f 20 74 31 20 28 78 29 20 56 41 4c 55 45 53 28  O t1 (x) VALUES(
0a60: 31 29 3b 22 7d 20 65 72 72 6f 72 5d 20 24 65 72  1);"} error] $er
0a70: 72 6f 72 0d 0a 0d 0a 20 20 63 6c 65 61 6e 75 70  ror....  cleanup
0a80: 44 62 20 24 66 69 6c 65 4e 61 6d 65 20 64 62 20  Db $fileName db 
0a90: 74 72 75 65 20 66 61 6c 73 65 20 66 61 6c 73 65  true false false
0aa0: 0d 0a 20 20 73 65 74 75 70 44 62 20 24 66 69 6c  ..  setupDb $fil
0ab0: 65 4e 61 6d 65 20 22 22 20 22 22 20 22 22 20 22  eName "" "" "" "
0ac0: 22 20 22 48 65 78 50 61 73 73 77 6f 72 64 3d 33  " "HexPassword=3
0ad0: 31 33 32 33 33 33 34 33 35 3b 22 20 74 72 75 65  132333435;" true
0ae0: 20 66 61 6c 73 65 0d 0a 0d 0a 20 20 6c 61 70 70   false....  lapp
0af0: 65 6e 64 20 72 65 73 75 6c 74 20 5b 63 61 74 63  end result [catc
0b00: 68 20 7b 73 71 6c 20 65 78 65 63 75 74 65 20 24  h {sql execute $
0b10: 64 62 20 5c 0d 0a 20 20 20 20 20 20 22 49 4e 53  db \..      "INS
0b20: 45 52 54 20 49 4e 54 4f 20 74 31 20 28 78 29 20  ERT INTO t1 (x) 
0b30: 56 41 4c 55 45 53 28 31 29 3b 22 7d 20 65 72 72  VALUES(1);"} err
0b40: 6f 72 5d 20 24 65 72 72 6f 72 0d 0a 0d 0a 20 20  or] $error....  
0b50: 6c 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20 5b  lappend result [
0b60: 63 61 74 63 68 20 7b 73 71 6c 20 65 78 65 63 75  catch {sql execu
0b70: 74 65 20 2d 65 78 65 63 75 74 65 20 73 63 61 6c  te -execute scal
0b80: 61 72 20 24 64 62 20 5c 0d 0a 20 20 20 20 20 20  ar $db \..      
0b90: 22 53 45 4c 45 43 54 20 43 4f 55 4e 54 28 2a 29  "SELECT COUNT(*)
0ba0: 20 46 52 4f 4d 20 74 31 3b 22 7d 20 65 72 72 6f   FROM t1;"} erro
0bb0: 72 5d 20 24 65 72 72 6f 72 0d 0a 0d 0a 20 20 73  r] $error....  s
0bc0: 65 74 20 72 65 73 75 6c 74 0d 0a 7d 20 2d 63 6c  et result..} -cl
0bd0: 65 61 6e 75 70 20 7b 0d 0a 20 20 63 6c 65 61 6e  eanup {..  clean
0be0: 75 70 44 62 20 24 66 69 6c 65 4e 61 6d 65 0d 0a  upDb $fileName..
0bf0: 0d 0a 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d  ..  unset -nocom
0c00: 70 6c 61 69 6e 20 65 72 72 6f 72 20 72 65 73 75  plain error resu
0c10: 6c 74 20 64 62 20 66 69 6c 65 4e 61 6d 65 0d 0a  lt db fileName..
0c20: 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b  } -constraints {
0c30: 65 61 67 6c 65 20 64 65 66 69 6e 65 43 6f 6e 73  eagle defineCons
0c40: 74 61 6e 74 2e 53 79 73 74 65 6d 2e 44 61 74 61  tant.System.Data
0c50: 2e 53 51 4c 69 74 65 2e 49 4e 54 45 52 4f 50 5f  .SQLite.INTEROP_
0c60: 43 4f 44 45 43 20 6d 6f 6e 6f 42 75 67 32 38 5c  CODEC monoBug28\
0c70: 0d 0a 63 6f 6d 6d 61 6e 64 2e 73 71 6c 20 63 6f  ..command.sql co
0c80: 6d 70 69 6c 65 2e 44 41 54 41 20 53 51 4c 69 74  mpile.DATA SQLit
0c90: 65 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51  e System.Data.SQ
0ca0: 4c 69 74 65 7d 20 2d 72 65 73 75 6c 74 20 7b 30  Lite} -result {0
0cb0: 20 31 20 30 20 31 20 30 20 31 20 30 20 33 7d 7d   1 0 1 0 1 0 3}}
0cc0: 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23  ....############
0cd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0ce0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0cf0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0d00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0d10: 23 23 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b  ###....runTest {
0d20: 74 65 73 74 20 74 6b 74 2d 31 63 34 35 36 61 65  test tkt-1c456ae
0d30: 37 35 66 2d 31 2e 33 20 7b 64 61 74 61 62 61 73  75f-1.3 {databas
0d40: 65 2c 20 77 72 6f 6e 67 20 68 65 78 20 70 61 73  e, wrong hex pas
0d50: 73 77 6f 72 64 7d 20 2d 73 65 74 75 70 20 7b 0d  sword} -setup {.
0d60: 0a 20 20 73 65 74 75 70 44 62 20 5b 73 65 74 20  .  setupDb [set 
0d70: 66 69 6c 65 4e 61 6d 65 20 74 6b 74 2d 31 63 34  fileName tkt-1c4
0d80: 35 36 61 65 37 35 66 2d 31 2e 33 2e 64 62 5d 20  56ae75f-1.3.db] 
0d90: 22 22 20 22 22 20 22 22 20 22 22 20 5c 0d 0a 20  "" "" "" "" \.. 
0da0: 20 20 20 20 20 22 48 65 78 50 61 73 73 77 6f 72       "HexPasswor
0db0: 64 3d 33 31 33 32 33 33 33 34 33 35 3b 22 0d 0a  d=3132333435;"..
0dc0: 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 73 71 6c  } -body {..  sql
0dd0: 20 65 78 65 63 75 74 65 20 24 64 62 20 22 43 52   execute $db "CR
0de0: 45 41 54 45 20 54 41 42 4c 45 20 74 31 28 78 29  EATE TABLE t1(x)
0df0: 3b 22 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74  ;"..  sql execut
0e00: 65 20 24 64 62 20 22 49 4e 53 45 52 54 20 49 4e  e $db "INSERT IN
0e10: 54 4f 20 74 31 20 28 78 29 20 56 41 4c 55 45 53  TO t1 (x) VALUES
0e20: 28 31 29 3b 22 0d 0a 0d 0a 20 20 63 6c 65 61 6e  (1);"....  clean
0e30: 75 70 44 62 20 24 66 69 6c 65 4e 61 6d 65 20 64  upDb $fileName d
0e40: 62 20 74 72 75 65 20 66 61 6c 73 65 20 66 61 6c  b true false fal
0e50: 73 65 0d 0a 20 20 73 65 74 75 70 44 62 20 24 66  se..  setupDb $f
0e60: 69 6c 65 4e 61 6d 65 20 22 22 20 22 22 20 22 22  ileName "" "" ""
0e70: 20 22 22 20 22 48 65 78 50 61 73 73 77 6f 72 64   "" "HexPassword
0e80: 3d 33 31 33 32 33 33 33 34 33 36 3b 22 20 74 72  =3132333436;" tr
0e90: 75 65 20 66 61 6c 73 65 0d 0a 0d 0a 20 20 73 65  ue false....  se
0ea0: 74 20 72 65 73 75 6c 74 20 5b 6c 69 73 74 5d 0d  t result [list].
0eb0: 0a 0d 0a 20 20 6c 61 70 70 65 6e 64 20 72 65 73  ...  lappend res
0ec0: 75 6c 74 20 5b 63 61 74 63 68 20 7b 73 71 6c 20  ult [catch {sql 
0ed0: 65 78 65 63 75 74 65 20 2d 65 78 65 63 75 74 65  execute -execute
0ee0: 20 73 63 61 6c 61 72 20 24 64 62 20 5c 0d 0a 20   scalar $db \.. 
0ef0: 20 20 20 20 20 22 53 45 4c 45 43 54 20 43 4f 55       "SELECT COU
0f00: 4e 54 28 2a 29 20 46 52 4f 4d 20 74 31 3b 22 7d  NT(*) FROM t1;"}
0f10: 20 65 72 72 6f 72 5d 20 24 65 72 72 6f 72 0d 0a   error] $error..
0f20: 0d 0a 20 20 6c 61 70 70 65 6e 64 20 72 65 73 75  ..  lappend resu
0f30: 6c 74 20 5b 63 61 74 63 68 20 7b 73 71 6c 20 65  lt [catch {sql e
0f40: 78 65 63 75 74 65 20 24 64 62 20 5c 0d 0a 20 20  xecute $db \..  
0f50: 20 20 20 20 22 49 4e 53 45 52 54 20 49 4e 54 4f      "INSERT INTO
0f60: 20 74 31 20 28 78 29 20 56 41 4c 55 45 53 28 31   t1 (x) VALUES(1
0f70: 29 3b 22 7d 20 65 72 72 6f 72 5d 20 24 65 72 72  );"} error] $err
0f80: 6f 72 0d 0a 0d 0a 20 20 63 6c 65 61 6e 75 70 44  or....  cleanupD
0f90: 62 20 24 66 69 6c 65 4e 61 6d 65 20 64 62 20 74  b $fileName db t
0fa0: 72 75 65 20 66 61 6c 73 65 20 66 61 6c 73 65 0d  rue false false.
0fb0: 0a 20 20 73 65 74 75 70 44 62 20 24 66 69 6c 65  .  setupDb $file
0fc0: 4e 61 6d 65 20 22 22 20 22 22 20 22 22 20 22 22  Name "" "" "" ""
0fd0: 20 22 48 65 78 50 61 73 73 77 6f 72 64 3d 33 31   "HexPassword=31
0fe0: 33 32 33 33 33 34 33 35 3b 22 20 74 72 75 65 20  32333435;" true 
0ff0: 66 61 6c 73 65 0d 0a 0d 0a 20 20 6c 61 70 70 65  false....  lappe
1000: 6e 64 20 72 65 73 75 6c 74 20 5b 63 61 74 63 68  nd result [catch
1010: 20 7b 73 71 6c 20 65 78 65 63 75 74 65 20 24 64   {sql execute $d
1020: 62 20 5c 0d 0a 20 20 20 20 20 20 22 49 4e 53 45  b \..      "INSE
1030: 52 54 20 49 4e 54 4f 20 74 31 20 28 78 29 20 56  RT INTO t1 (x) V
1040: 41 4c 55 45 53 28 31 29 3b 22 7d 20 65 72 72 6f  ALUES(1);"} erro
1050: 72 5d 20 24 65 72 72 6f 72 0d 0a 0d 0a 20 20 6c  r] $error....  l
1060: 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20 5b 63  append result [c
1070: 61 74 63 68 20 7b 73 71 6c 20 65 78 65 63 75 74  atch {sql execut
1080: 65 20 2d 65 78 65 63 75 74 65 20 73 63 61 6c 61  e -execute scala
1090: 72 20 24 64 62 20 5c 0d 0a 20 20 20 20 20 20 22  r $db \..      "
10a0: 53 45 4c 45 43 54 20 43 4f 55 4e 54 28 2a 29 20  SELECT COUNT(*) 
10b0: 46 52 4f 4d 20 74 31 3b 22 7d 20 65 72 72 6f 72  FROM t1;"} error
10c0: 5d 20 24 65 72 72 6f 72 0d 0a 0d 0a 20 20 73 65  ] $error....  se
10d0: 74 20 72 65 73 75 6c 74 0d 0a 7d 20 2d 63 6c 65  t result..} -cle
10e0: 61 6e 75 70 20 7b 0d 0a 20 20 63 6c 65 61 6e 75  anup {..  cleanu
10f0: 70 44 62 20 24 66 69 6c 65 4e 61 6d 65 0d 0a 0d  pDb $fileName...
1100: 0a 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70  .  unset -nocomp
1110: 6c 61 69 6e 20 65 72 72 6f 72 20 72 65 73 75 6c  lain error resul
1120: 74 20 64 62 20 66 69 6c 65 4e 61 6d 65 0d 0a 7d  t db fileName..}
1130: 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 65   -constraints {e
1140: 61 67 6c 65 20 64 65 66 69 6e 65 43 6f 6e 73 74  agle defineConst
1150: 61 6e 74 2e 53 79 73 74 65 6d 2e 44 61 74 61 2e  ant.System.Data.
1160: 53 51 4c 69 74 65 2e 49 4e 54 45 52 4f 50 5f 43  SQLite.INTEROP_C
1170: 4f 44 45 43 20 6d 6f 6e 6f 42 75 67 32 38 5c 0d  ODEC monoBug28\.
1180: 0a 63 6f 6d 6d 61 6e 64 2e 73 71 6c 20 63 6f 6d  .command.sql com
1190: 70 69 6c 65 2e 44 41 54 41 20 53 51 4c 69 74 65  pile.DATA SQLite
11a0: 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c   System.Data.SQL
11b0: 69 74 65 7d 20 2d 6d 61 74 63 68 20 72 65 67 65  ite} -match rege
11c0: 78 70 20 2d 72 65 73 75 6c 74 20 7b 5e 31 5c 0d  xp -result {^1\.
11d0: 0a 5c 7b 53 79 73 74 65 6d 5c 2e 44 61 74 61 5c  .\{System\.Data\
11e0: 2e 53 51 4c 69 74 65 5c 2e 53 51 4c 69 74 65 45  .SQLite\.SQLiteE
11f0: 78 63 65 70 74 69 6f 6e 20 5c 28 30 78 38 30 30  xception \(0x800
1200: 30 34 30 30 35 5c 29 3a 20 66 69 6c 65 20 69 73  04005\): file is
1210: 20 65 6e 63 72 79 70 74 65 64 20 6f 72 20 69 73   encrypted or is
1220: 5c 0d 0a 6e 6f 74 20 61 20 64 61 74 61 62 61 73  \..not a databas
1230: 65 2e 2a 3f 5c 7d 20 31 20 5c 7b 53 79 73 74 65  e.*?\} 1 \{Syste
1240: 6d 5c 2e 44 61 74 61 5c 2e 53 51 4c 69 74 65 5c  m\.Data\.SQLite\
1250: 2e 53 51 4c 69 74 65 45 78 63 65 70 74 69 6f 6e  .SQLiteException
1260: 20 5c 28 30 78 38 30 30 30 34 30 30 35 5c 29 3a   \(0x80004005\):
1270: 5c 0d 0a 66 69 6c 65 20 69 73 20 65 6e 63 72 79  \..file is encry
1280: 70 74 65 64 20 6f 72 20 69 73 20 6e 6f 74 20 61  pted or is not a
1290: 20 64 61 74 61 62 61 73 65 2e 2a 3f 5c 7d 20 30   database.*?\} 0
12a0: 20 31 20 30 20 32 24 7d 7d 0d 0a 0d 0a 23 23 23   1 0 2$}}....###
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 23 23 23 23 23 23 0d 0a 0d 0a  ############....
1300: 72 75 6e 54 65 73 74 20 7b 74 65 73 74 20 74 6b  runTest {test tk
1310: 74 2d 31 63 34 35 36 61 65 37 35 66 2d 31 2e 34  t-1c456ae75f-1.4
1320: 20 7b 64 61 74 61 62 61 73 65 2c 20 68 65 78 20   {database, hex 
1330: 70 61 73 73 77 6f 72 64 20 76 69 61 20 62 75 69  password via bui
1340: 6c 64 65 72 7d 20 2d 73 65 74 75 70 20 7b 0d 0a  lder} -setup {..
1350: 20 20 73 65 74 75 70 44 62 20 5b 73 65 74 20 66    setupDb [set f
1360: 69 6c 65 4e 61 6d 65 20 74 6b 74 2d 31 63 34 35  ileName tkt-1c45
1370: 36 61 65 37 35 66 2d 31 2e 34 2e 64 62 5d 20 22  6ae75f-1.4.db] "
1380: 22 20 22 22 20 22 22 20 22 22 20 5c 0d 0a 20 20  " "" "" "" \..  
1390: 20 20 20 20 22 48 65 78 50 61 73 73 77 6f 72 64      "HexPassword
13a0: 3d 33 31 33 32 33 33 33 34 33 35 3b 22 0d 0a 7d  =3132333435;"..}
13b0: 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 73 71 6c 20   -body {..  sql 
13c0: 65 78 65 63 75 74 65 20 24 64 62 20 22 43 52 45  execute $db "CRE
13d0: 41 54 45 20 54 41 42 4c 45 20 74 31 28 78 29 3b  ATE TABLE t1(x);
13e0: 22 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65  "..  sql execute
13f0: 20 24 64 62 20 22 49 4e 53 45 52 54 20 49 4e 54   $db "INSERT INT
1400: 4f 20 74 31 20 28 78 29 20 56 41 4c 55 45 53 28  O t1 (x) VALUES(
1410: 31 29 3b 22 0d 0a 0d 0a 20 20 63 6c 65 61 6e 75  1);"....  cleanu
1420: 70 44 62 20 24 66 69 6c 65 4e 61 6d 65 20 64 62  pDb $fileName db
1430: 20 74 72 75 65 20 66 61 6c 73 65 20 66 61 6c 73   true false fals
1440: 65 0d 0a 0d 0a 20 20 73 65 74 20 63 6f 6e 6e 65  e....  set conne
1450: 63 74 69 6f 6e 53 74 72 69 6e 67 42 75 69 6c 64  ctionStringBuild
1460: 65 72 20 5b 6f 62 6a 65 63 74 20 63 72 65 61 74  er [object creat
1470: 65 20 2d 61 6c 69 61 73 20 5c 0d 0a 20 20 20 20  e -alias \..    
1480: 20 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51    System.Data.SQ
1490: 4c 69 74 65 2e 53 51 4c 69 74 65 43 6f 6e 6e 65  Lite.SQLiteConne
14a0: 63 74 69 6f 6e 53 74 72 69 6e 67 42 75 69 6c 64  ctionStringBuild
14b0: 65 72 5d 0d 0a 0d 0a 20 20 24 63 6f 6e 6e 65 63  er]....  $connec
14c0: 74 69 6f 6e 53 74 72 69 6e 67 42 75 69 6c 64 65  tionStringBuilde
14d0: 72 20 44 61 74 61 53 6f 75 72 63 65 20 5c 0d 0a  r DataSource \..
14e0: 20 20 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69 6e        [file join
14f0: 20 5b 67 65 74 44 61 74 61 62 61 73 65 44 69 72   [getDatabaseDir
1500: 65 63 74 6f 72 79 5d 20 24 66 69 6c 65 4e 61 6d  ectory] $fileNam
1510: 65 5d 0d 0a 0d 0a 20 20 24 63 6f 6e 6e 65 63 74  e]....  $connect
1520: 69 6f 6e 53 74 72 69 6e 67 42 75 69 6c 64 65 72  ionStringBuilder
1530: 20 48 65 78 50 61 73 73 77 6f 72 64 20 5b 6c 69   HexPassword [li
1540: 73 74 20 30 78 33 31 20 30 78 33 32 20 30 78 33  st 0x31 0x32 0x3
1550: 33 20 30 78 33 34 20 30 78 33 35 5d 0d 0a 0d 0a  3 0x34 0x35]....
1560: 20 20 73 65 74 20 63 6f 6e 6e 65 63 74 69 6f 6e    set connection
1570: 20 5b 6f 62 6a 65 63 74 20 63 72 65 61 74 65 20   [object create 
1580: 2d 61 6c 69 61 73 20 5c 0d 0a 20 20 20 20 20 20  -alias \..      
1590: 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69  System.Data.SQLi
15a0: 74 65 2e 53 51 4c 69 74 65 43 6f 6e 6e 65 63 74  te.SQLiteConnect
15b0: 69 6f 6e 20 5c 0d 0a 20 20 20 20 20 20 5b 24 63  ion \..      [$c
15c0: 6f 6e 6e 65 63 74 69 6f 6e 53 74 72 69 6e 67 42  onnectionStringB
15d0: 75 69 6c 64 65 72 20 54 6f 53 74 72 69 6e 67 5d  uilder ToString]
15e0: 20 74 72 75 65 5d 0d 0a 0d 0a 20 20 24 63 6f 6e   true]....  $con
15f0: 6e 65 63 74 69 6f 6e 20 4f 70 65 6e 3b 20 61 64  nection Open; ad
1600: 64 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 20 24 63  dDbConnection $c
1610: 6f 6e 6e 65 63 74 69 6f 6e 0d 0a 0d 0a 20 20 73  onnection....  s
1620: 65 74 20 72 65 73 75 6c 74 20 5b 6c 69 73 74 5d  et result [list]
1630: 0d 0a 0d 0a 20 20 6c 61 70 70 65 6e 64 20 72 65  ....  lappend re
1640: 73 75 6c 74 20 5b 63 61 74 63 68 20 7b 73 71 6c  sult [catch {sql
1650: 20 65 78 65 63 75 74 65 20 2d 65 78 65 63 75 74   execute -execut
1660: 65 20 73 63 61 6c 61 72 20 24 64 62 20 5c 0d 0a  e scalar $db \..
1670: 20 20 20 20 20 20 22 53 45 4c 45 43 54 20 43 4f        "SELECT CO
1680: 55 4e 54 28 2a 29 20 46 52 4f 4d 20 74 31 3b 22  UNT(*) FROM t1;"
1690: 7d 20 65 72 72 6f 72 5d 20 24 65 72 72 6f 72 0d  } error] $error.
16a0: 0a 0d 0a 20 20 6c 61 70 70 65 6e 64 20 72 65 73  ...  lappend res
16b0: 75 6c 74 20 5b 63 61 74 63 68 20 7b 73 71 6c 20  ult [catch {sql 
16c0: 65 78 65 63 75 74 65 20 24 64 62 20 5c 0d 0a 20  execute $db \.. 
16d0: 20 20 20 20 20 22 49 4e 53 45 52 54 20 49 4e 54       "INSERT INT
16e0: 4f 20 74 31 20 28 78 29 20 56 41 4c 55 45 53 28  O t1 (x) VALUES(
16f0: 31 29 3b 22 7d 20 65 72 72 6f 72 5d 20 24 65 72  1);"} error] $er
1700: 72 6f 72 0d 0a 0d 0a 20 20 63 6c 65 61 6e 75 70  ror....  cleanup
1710: 44 62 20 24 66 69 6c 65 4e 61 6d 65 20 64 62 20  Db $fileName db 
1720: 74 72 75 65 20 66 61 6c 73 65 20 66 61 6c 73 65  true false false
1730: 0d 0a 20 20 73 65 74 75 70 44 62 20 24 66 69 6c  ..  setupDb $fil
1740: 65 4e 61 6d 65 20 22 22 20 22 22 20 22 22 20 22  eName "" "" "" "
1750: 22 20 22 50 61 73 73 77 6f 72 64 3d 5c 22 31 32  " "Password=\"12
1760: 33 34 35 5c 22 3b 22 20 74 72 75 65 20 66 61 6c  345\";" true fal
1770: 73 65 0d 0a 0d 0a 20 20 6c 61 70 70 65 6e 64 20  se....  lappend 
1780: 72 65 73 75 6c 74 20 5b 63 61 74 63 68 20 7b 73  result [catch {s
1790: 71 6c 20 65 78 65 63 75 74 65 20 24 64 62 20 5c  ql execute $db \
17a0: 0d 0a 20 20 20 20 20 20 22 49 4e 53 45 52 54 20  ..      "INSERT 
17b0: 49 4e 54 4f 20 74 31 20 28 78 29 20 56 41 4c 55  INTO t1 (x) VALU
17c0: 45 53 28 31 29 3b 22 7d 20 65 72 72 6f 72 5d 20  ES(1);"} error] 
17d0: 24 65 72 72 6f 72 0d 0a 0d 0a 20 20 6c 61 70 70  $error....  lapp
17e0: 65 6e 64 20 72 65 73 75 6c 74 20 5b 63 61 74 63  end result [catc
17f0: 68 20 7b 73 71 6c 20 65 78 65 63 75 74 65 20 2d  h {sql execute -
1800: 65 78 65 63 75 74 65 20 73 63 61 6c 61 72 20 24  execute scalar $
1810: 64 62 20 5c 0d 0a 20 20 20 20 20 20 22 53 45 4c  db \..      "SEL
1820: 45 43 54 20 43 4f 55 4e 54 28 2a 29 20 46 52 4f  ECT COUNT(*) FRO
1830: 4d 20 74 31 3b 22 7d 20 65 72 72 6f 72 5d 20 24  M t1;"} error] $
1840: 65 72 72 6f 72 0d 0a 0d 0a 20 20 73 65 74 20 72  error....  set r
1850: 65 73 75 6c 74 0d 0a 7d 20 2d 63 6c 65 61 6e 75  esult..} -cleanu
1860: 70 20 7b 0d 0a 20 20 75 6e 73 65 74 20 2d 6e 6f  p {..  unset -no
1870: 63 6f 6d 70 6c 61 69 6e 20 63 6f 6e 6e 65 63 74  complain connect
1880: 69 6f 6e 0d 0a 0d 0a 20 20 63 6c 65 61 6e 75 70  ion....  cleanup
1890: 44 62 20 24 66 69 6c 65 4e 61 6d 65 3b 20 23 20  Db $fileName; # 
18a0: 4e 4f 54 45 3a 20 41 66 74 65 72 20 6f 62 6a 65  NOTE: After obje
18b0: 63 74 20 64 69 73 70 6f 73 61 6c 2e 0d 0a 0d 0a  ct disposal.....
18c0: 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70 6c    unset -nocompl
18d0: 61 69 6e 20 63 6f 6e 6e 65 63 74 69 6f 6e 53 74  ain connectionSt
18e0: 72 69 6e 67 42 75 69 6c 64 65 72 20 65 72 72 6f  ringBuilder erro
18f0: 72 20 72 65 73 75 6c 74 20 64 62 20 66 69 6c 65  r result db file
1900: 4e 61 6d 65 0d 0a 7d 20 2d 63 6f 6e 73 74 72 61  Name..} -constra
1910: 69 6e 74 73 20 7b 65 61 67 6c 65 20 64 65 66 69  ints {eagle defi
1920: 6e 65 43 6f 6e 73 74 61 6e 74 2e 53 79 73 74 65  neConstant.Syste
1930: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 49 4e  m.Data.SQLite.IN
1940: 54 45 52 4f 50 5f 43 4f 44 45 43 20 6d 6f 6e 6f  TEROP_CODEC mono
1950: 42 75 67 32 38 5c 0d 0a 63 6f 6d 6d 61 6e 64 2e  Bug28\..command.
1960: 73 71 6c 20 63 6f 6d 70 69 6c 65 2e 44 41 54 41  sql compile.DATA
1970: 20 53 51 4c 69 74 65 20 53 79 73 74 65 6d 2e 44   SQLite System.D
1980: 61 74 61 2e 53 51 4c 69 74 65 7d 20 2d 72 65 73  ata.SQLite} -res
1990: 75 6c 74 20 7b 30 20 31 20 30 20 31 20 30 20 31  ult {0 1 0 1 0 1
19a0: 20 30 20 33 7d 7d 0d 0a 0d 0a 23 23 23 23 23 23   0 3}}....######
19b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19f0: 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 72 75 6e  #########....run
1a00: 53 51 4c 69 74 65 54 65 73 74 45 70 69 6c 6f 67  SQLiteTestEpilog
1a10: 75 65 0d 0a 72 75 6e 54 65 73 74 45 70 69 6c 6f  ue..runTestEpilo
1a20: 67 75 65 0d 0a                                   gue..