# 2008 Jan 22
#
# 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.
#
#***********************************************************************
#
# $Id: filectrl.test,v 1.2 2008/11/21 00:10:35 aswift Exp $

set testdir [file dirname $argv0]
source $testdir/tester.tcl


do_test filectrl-1.1 {
  file_control_test db
} {}
do_test filectrl-1.2 {
  db eval {CREATE TEMP TABLE x(y);}
  file_control_test db
} {}
do_test filectrl-1.3 {
  db close
  sqlite3 db :memory:
  file_control_test db
} {}
do_test filectrl-1.4 {
  sqlite3 db test.db
  file_control_lasterrno_test db
} {}
do_test filectrl-1.5 {
  db close
  sqlite3 db test_control_lockproxy.db
  file_control_lockproxy_test db [pwd]
} {}
db close
file delete -force .test_control_lockproxy.db-conch test.proxy
finish_test
