| OLD | NEW |
| 1 # 2007 September 10 | 1 # 2007 September 10 |
| 2 # | 2 # |
| 3 # The author disclaims copyright to this source code. In place of | 3 # The author disclaims copyright to this source code. In place of |
| 4 # a legal notice, here is a blessing: | 4 # a legal notice, here is a blessing: |
| 5 # | 5 # |
| 6 # May you do good and not evil. | 6 # May you do good and not evil. |
| 7 # May you find forgiveness for yourself and forgive others. | 7 # May you find forgiveness for yourself and forgive others. |
| 8 # May you share freely, never taking more than you give. | 8 # May you share freely, never taking more than you give. |
| 9 # | 9 # |
| 10 #*********************************************************************** | 10 #*********************************************************************** |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 | 73 |
| 74 proc do_test {name script result} { | 74 proc do_test {name script result} { |
| 75 set res [eval $script] | 75 set res [eval $script] |
| 76 if {$res ne $result} { | 76 if {$res ne $result} { |
| 77 error "$name failed: expected \"$result\" got \"$res\"" | 77 error "$name failed: expected \"$result\" got \"$res\"" |
| 78 } | 78 } |
| 79 } | 79 } |
| 80 } | 80 } |
| 81 | 81 |
| 82 proc thread_spawn {varname args} { | 82 proc thread_spawn {varname args} { |
| 83 sqlthread spawn $varname [join $args ;] | 83 sqlthread spawn $varname [join $args {;}] |
| 84 } | 84 } |
| 85 | 85 |
| 86 # Return true if this build can run the multi-threaded tests. | 86 # Return true if this build can run the multi-threaded tests. |
| 87 # | 87 # |
| 88 proc run_thread_tests {{print_warning 0}} { | 88 proc run_thread_tests {{print_warning 0}} { |
| 89 ifcapable !mutex { | 89 ifcapable !mutex { |
| 90 set zProblem "SQLite build is not threadsafe" | 90 set zProblem "SQLite build is not threadsafe" |
| 91 } | 91 } |
| 92 if {[info commands sqlthread] eq ""} { | 92 if {[info commands sqlthread] eq ""} { |
| 93 set zProblem "SQLite build is not threadsafe" | 93 set zProblem "SQLite build is not threadsafe" |
| 94 } | 94 } |
| 95 if {![info exists ::tcl_platform(threaded)]} { | 95 if {![info exists ::tcl_platform(threaded)]} { |
| 96 set zProblem "Linked against a non-threadsafe Tcl build" | 96 set zProblem "Linked against a non-threadsafe Tcl build" |
| 97 } | 97 } |
| 98 if {[info exists zProblem]} { | 98 if {[info exists zProblem]} { |
| 99 if {$print_warning} { | 99 puts "WARNING: Multi-threaded tests skipped: $zProblem" |
| 100 if {[info exists ::run_thread_tests_failed]} { | |
| 101 puts "WARNING: Multi-threaded tests skipped: $zProblem" | |
| 102 } | |
| 103 } else { | |
| 104 puts "Skipping thread tests: $zProblem" | |
| 105 set ::run_thread_tests_failed 1 | |
| 106 } | |
| 107 return 0 | 100 return 0 |
| 108 } | 101 } |
| 102 set ::run_thread_tests_called 1 |
| 109 return 1; | 103 return 1; |
| 110 } | 104 } |
| 111 | 105 |
| 112 return 0 | 106 return 0 |
| 113 | 107 |
| OLD | NEW |