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 |