1
0

close.test 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # 2013 May 14
  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. #
  12. # Test some specific circumstances to do with shared cache mode.
  13. #
  14. set testdir [file dirname $argv0]
  15. source $testdir/tester.tcl
  16. set ::testprefix close
  17. do_execsql_test 1.0 {
  18. CREATE TABLE t1(x);
  19. INSERT INTO t1 VALUES('one');
  20. INSERT INTO t1 VALUES('two');
  21. INSERT INTO t1 VALUES('three');
  22. }
  23. db close
  24. do_test 1.1 {
  25. set DB [sqlite3_open test.db]
  26. sqlite3_close_v2 $DB
  27. } {SQLITE_OK}
  28. do_test 1.2.1 {
  29. set DB [sqlite3_open test.db]
  30. set STMT [sqlite3_prepare $DB "SELECT * FROM t1" -1 dummy]
  31. sqlite3_close_v2 $DB
  32. } {SQLITE_OK}
  33. do_test 1.2.2 {
  34. sqlite3_finalize $STMT
  35. } {SQLITE_OK}
  36. do_test 1.3.1 {
  37. set DB [sqlite3_open test.db]
  38. set STMT [sqlite3_prepare $DB "SELECT * FROM t1" -1 dummy]
  39. sqlite3_step $STMT
  40. sqlite3_close_v2 $DB
  41. } {SQLITE_OK}
  42. do_test 1.3.2 {
  43. sqlite3_column_text $STMT 0
  44. } {one}
  45. do_test 1.3.3 {
  46. sqlite3_finalize $STMT
  47. } {SQLITE_OK}
  48. do_test 1.4.1 {
  49. set DB [sqlite3_open test.db]
  50. set STMT [sqlite3_prepare $DB "SELECT * FROM t1" -1 dummy]
  51. sqlite3_step $STMT
  52. sqlite3_close_v2 $DB
  53. } {SQLITE_OK}
  54. do_test 1.4.2 {
  55. list [sqlite3_step $STMT] [sqlite3_column_text $STMT 0]
  56. } {SQLITE_ROW two}
  57. do_test 1.4.3 {
  58. list [catch {
  59. sqlite3_prepare $DB "SELECT * FROM sqlite_master" -1 dummy
  60. } msg] $msg
  61. } {1 {(21) library routine called out of sequence}}
  62. do_test 1.4.4 {
  63. sqlite3_finalize $STMT
  64. } {SQLITE_OK}
  65. finish_test