wasCSharpSQLite – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 # 2010 August 27
2 #
3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing:
5 #
6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give.
9 #
10 #***********************************************************************
11 # This file implements regression tests for SQLite library. The
12 # focus of this file is testing that destructor functions associated
13 # with functions created using sqlite3_create_function_v2() is
14 # correctly invoked.
15 #
16 set testdir [file dirname $argv0]
17 source $testdir/tester.tcl
18  
19  
20 do_test func3-1.1 {
21 set destroyed 0
22 proc destroy {} { set ::destroyed 1 }
23 sqlite3_create_function_v2 db f2 -1 any -func f2 -destroy destroy
24 set destroyed
25 } 0
26 do_test func3-1.2 {
27 sqlite3_create_function_v2 db f2 -1 utf8 -func f2
28 set destroyed
29 } 0
30 do_test func3-1.3 {
31 sqlite3_create_function_v2 db f2 -1 utf16le -func f2
32 set destroyed
33 } 0
34 do_test func3-1.4 {
35 set destroyed 1
36 sqlite3_create_function_v2 db f2 -1 utf16be -func f2
37 set destroyed
38 } 1
39  
40 do_test func3-2.1 {
41 set destroyed 0
42 proc destroy {} { set ::destroyed 1 }
43 sqlite3_create_function_v2 db f3 -1 utf8 -func f3 -destroy destroy
44 set destroyed
45 } 0
46 do_test func3-2.2 {
47 set destroyed 1
48 sqlite3_create_function_v2 db f3 -1 utf8 -func f3
49 set destroyed
50 } 1
51  
52 do_test func3-3.1 {
53 set destroyed 0
54 proc destroy {} { set ::destroyed 1 }
55 sqlite3_create_function_v2 db f3 -1 any -func f3 -destroy destroy
56 set destroyed
57 } 0
58 do_test func3-3.2 {
59 set destroyed 1
60 db close
61 set destroyed
62 } 1
63  
64 sqlite3 db test.db
65 do_test func3-4.1 {
66 set destroyed 1
67 set rc [catch {
68 sqlite3_create_function_v2 db f3 -1 any -func f3 -step f3 -destroy destroy
69 } msg]
70 list $rc $msg
71 } {1 SQLITE_MISUSE}
72 do_test func3-4.2 { set destroyed } 1
73  
74 finish_test