diff options
| author | bernard <[email protected]> | 2017-11-02 13:50:42 +0800 |
|---|---|---|
| committer | bernard <[email protected]> | 2017-11-02 13:50:42 +0800 |
| commit | b2057f506a09e2adef81fc77efd697d16ae14bec (patch) | |
| tree | 3affefabfe376a0ec1b3ac4a5eef957c1dd58dc8 /components/external/SQLite-3.8.1/test/thread1.test | |
| parent | 23582c8129228b4961ad35319cfd2d270039345f (diff) | |
[External] Remove external from RT-Thread
Diffstat (limited to 'components/external/SQLite-3.8.1/test/thread1.test')
| -rw-r--r-- | components/external/SQLite-3.8.1/test/thread1.test | 173 |
1 files changed, 0 insertions, 173 deletions
diff --git a/components/external/SQLite-3.8.1/test/thread1.test b/components/external/SQLite-3.8.1/test/thread1.test deleted file mode 100644 index 0618f2c66f..0000000000 --- a/components/external/SQLite-3.8.1/test/thread1.test +++ /dev/null @@ -1,173 +0,0 @@ -# 2003 December 18 -# -# 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. -# -#*********************************************************************** -# This file implements regression tests for SQLite library. The -# focus of this script is multithreading behavior -# -# $Id: thread1.test,v 1.8 2008/10/07 15:25:49 drh Exp $ - - -set testdir [file dirname $argv0] -source $testdir/tester.tcl - -# Skip this whole file if the thread testing code is not enabled -# -if {[run_thread_tests]==0} { finish_test ; return } -if {[llength [info command thread_step]]==0 || [sqlite3 -has-codec]} { - finish_test - return -} - -# Create some data to work with -# -do_test thread1-1.1 { - execsql { - CREATE TABLE t1(a,b); - INSERT INTO t1 VALUES(1,'abcdefgh'); - INSERT INTO t1 SELECT a+1, b||b FROM t1; - INSERT INTO t1 SELECT a+2, b||b FROM t1; - INSERT INTO t1 SELECT a+4, b||b FROM t1; - SELECT count(*), max(length(b)) FROM t1; - } -} {8 64} - -# Interleave two threads on read access. Then make sure a third -# thread can write the database. In other words: -# -# read-lock A -# read-lock B -# unlock A -# unlock B -# write-lock C -# -# At one point, the write-lock of C would fail on Linux. -# -do_test thread1-1.2 { - thread_create A test.db - thread_create B test.db - thread_create C test.db - thread_compile A {SELECT a FROM t1} - thread_step A - thread_result A -} SQLITE_ROW -do_test thread1-1.3 { - thread_argc A -} 1 -do_test thread1-1.4 { - thread_argv A 0 -} 1 -do_test thread1-1.5 { - thread_compile B {SELECT b FROM t1} - thread_step B - thread_result B -} SQLITE_ROW -do_test thread1-1.6 { - thread_argc B -} 1 -do_test thread1-1.7 { - thread_argv B 0 -} abcdefgh -do_test thread1-1.8 { - thread_finalize A - thread_result A -} SQLITE_OK -do_test thread1-1.9 { - thread_finalize B - thread_result B -} SQLITE_OK -do_test thread1-1.10 { - thread_compile C {CREATE TABLE t2(x,y)} - thread_step C - thread_result C -} SQLITE_DONE -do_test thread1-1.11 { - thread_finalize C - thread_result C -} SQLITE_OK -do_test thread1-1.12 { - catchsql {SELECT name FROM sqlite_master} - execsql {SELECT name FROM sqlite_master} -} {t1 t2} - - -# -# The following tests - thread1-2.* - test the following scenario: -# -# 1: Read-lock thread A -# 2: Read-lock thread B -# 3: Attempt to write in thread C -> SQLITE_BUSY -# 4: Check db write failed from main thread. -# 5: Unlock from thread A. -# 6: Attempt to write in thread C -> SQLITE_BUSY -# 7: Check db write failed from main thread. -# 8: Unlock from thread B. -# 9: Attempt to write in thread C -> SQLITE_DONE -# 10: Finalize the write from thread C -# 11: Check db write succeeded from main thread. -# -do_test thread1-2.1 { - thread_halt * - thread_create A test.db - thread_compile A {SELECT a FROM t1} - thread_step A - thread_result A -} SQLITE_ROW -do_test thread1-2.2 { - thread_create B test.db - thread_compile B {SELECT b FROM t1} - thread_step B - thread_result B -} SQLITE_ROW -do_test thread1-2.3 { - thread_create C test.db - thread_compile C {INSERT INTO t2 VALUES(98,99)} - thread_step C - thread_result C - thread_finalize C - thread_result C -} SQLITE_BUSY - -do_test thread1-2.4 { - execsql {SELECT * FROM t2} -} {} - -do_test thread1-2.5 { - thread_finalize A - thread_result A -} SQLITE_OK -do_test thread1-2.6 { - thread_compile C {INSERT INTO t2 VALUES(98,99)} - thread_step C - thread_result C - thread_finalize C - thread_result C -} SQLITE_BUSY -do_test thread1-2.7 { - execsql {SELECT * FROM t2} -} {} -do_test thread1-2.8 { - thread_finalize B - thread_result B -} SQLITE_OK -do_test thread1-2.9 { - thread_compile C {INSERT INTO t2 VALUES(98,99)} - thread_step C - thread_result C -} SQLITE_DONE -do_test thread1-2.10 { - thread_finalize C - thread_result C -} SQLITE_OK -do_test thread1-2.11 { - execsql {SELECT * FROM t2} -} {98 99} - -thread_halt * -finish_test |
