diff options
| author | Hans-Christoph Steiner <hans@eds.org> | 2014-10-16 22:51:35 -0400 | 
|---|---|---|
| committer | Hans-Christoph Steiner <hans@eds.org> | 2014-10-16 22:51:35 -0400 | 
| commit | 569c6676a6ddb0ff73821d7693b5e18ddef809b9 (patch) | |
| tree | 833538da7bba39105daff45e265aef386a200acd /ext/rtree/rtreeD.test | |
| parent | 08119c361d1181b3e8f1abb429236e488a664753 (diff) | |
Imported Upstream version 3.2.0upstream
Diffstat (limited to 'ext/rtree/rtreeD.test')
| -rw-r--r-- | ext/rtree/rtreeD.test | 57 | 
1 files changed, 57 insertions, 0 deletions
diff --git a/ext/rtree/rtreeD.test b/ext/rtree/rtreeD.test new file mode 100644 index 0000000..c4a7d22 --- /dev/null +++ b/ext/rtree/rtreeD.test @@ -0,0 +1,57 @@ +# 2014 March 11 +# +# The author disclaims copyright to this source code.  In place of +# a legal notice, here is a blessing: +# +#    May you do good and not evil. +#    May you find forgiveness for yourself and forgive others. +#    May you share freely, never taking more than you give. +# +#*********************************************************************** +# +# Miscellaneous tests for errors in the rtree constructor. +# + + +if {![info exists testdir]} { +  set testdir [file join [file dirname [info script]] .. .. test] +}  +source [file join [file dirname [info script]] rtree_util.tcl] +source $testdir/tester.tcl +source $testdir/lock_common.tcl +ifcapable !rtree { +  finish_test +  return +} +set testprefix rtreeD + +#------------------------------------------------------------------------- +# Test that if an SQLITE_BUSY is encountered within the vtable  +# constructor, a relevant error message is returned. +# +do_multiclient_test tn { +  do_test 1.$tn.1 { +    sql1 { +      CREATE TABLE t1(a, b); +      INSERT INTO t1 VALUES(1,2); +      CREATE VIRTUAL TABLE rt USING rtree(id, minx, maxx, miny, maxy); +      INSERT INTO rt VALUES(1,2,3,4,5); +    } +  } {} + +  do_test 1.$tn.2 { +    sql2 { SELECT * FROM t1; } +  } {1 2} + +  do_test 1.$tn.3 { +    sql1 { BEGIN EXCLUSIVE; INSERT INTO t1 VALUES(3, 4); } +  } {} + +  do_test 1.$tn.4 { +    list [catch { sql2 { SELECT * FROM rt } } msg] $msg +  } {1 {database is locked}} +} + +finish_test + +  | 
