mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
Add the "#/value-list/" style of results for approximate value matching
in the do_test command of the test infrastructure. Use this new result style to make the SQLITE_DBSTATUS_CACHE_SIZE_SHARED tests cross-platform. FossilOrigin-Name: c869bf34a8ee42ac6542862e59c7a4b89b042f79
This commit is contained in:
14
manifest
14
manifest
@ -1,5 +1,5 @@
|
|||||||
C Fix\sa\scompiler\swarning\sin\stest\scode\s-\sin\sthe\sint64array_addr\sTCL\scommand.
|
C Add\sthe\s"#/value-list/"\sstyle\sof\sresults\sfor\sapproximate\svalue\smatching\nin\sthe\sdo_test\scommand\sof\sthe\stest\sinfrastructure.\s\sUse\sthis\snew\sresult\sstyle\nto\smake\sthe\sSQLITE_DBSTATUS_CACHE_SIZE_SHARED\stests\scross-platform.
|
||||||
D 2016-07-09T17:15:05.420
|
D 2016-07-09T17:47:01.013
|
||||||
F Makefile.in 6c20d44f72d4564f11652b26291a214c8367e5db
|
F Makefile.in 6c20d44f72d4564f11652b26291a214c8367e5db
|
||||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||||
F Makefile.msc d66d0395c38571aab3804f8db0fa20707ae4609a
|
F Makefile.msc d66d0395c38571aab3804f8db0fa20707ae4609a
|
||||||
@ -621,7 +621,7 @@ F test/ctime.test 0b995accd44a52914bd4744d5c1b6e1a56c7897c
|
|||||||
F test/cursorhint.test 7bc346788390475e77a345da2b92270d04d35856
|
F test/cursorhint.test 7bc346788390475e77a345da2b92270d04d35856
|
||||||
F test/cursorhint2.test 2b45341d32d1aae9991a00ef31ebca339b274255
|
F test/cursorhint2.test 2b45341d32d1aae9991a00ef31ebca339b274255
|
||||||
F test/date.test 984ac1e3e5e031386866f034006148d3972b4a65
|
F test/date.test 984ac1e3e5e031386866f034006148d3972b4a65
|
||||||
F test/dbstatus.test 254427f026b55ab6eba99bd8493f4edbc370bb13
|
F test/dbstatus.test 85833ba5bc95262749d080dcd40af87072ea8d5b
|
||||||
F test/dbstatus2.test e93ab03bfae6d62d4d935f20de928c19ca0ed0ab
|
F test/dbstatus2.test e93ab03bfae6d62d4d935f20de928c19ca0ed0ab
|
||||||
F test/default.test 0cb49b1c315a0d81c81d775e407f66906a2a604d
|
F test/default.test 0cb49b1c315a0d81c81d775e407f66906a2a604d
|
||||||
F test/delete.test e1bcdf8926234e27aac24b346ad83d3329ec8b6f
|
F test/delete.test e1bcdf8926234e27aac24b346ad83d3329ec8b6f
|
||||||
@ -1128,7 +1128,7 @@ F test/temptable.test d2c9b87a54147161bcd1822e30c1d1cd891e5b30
|
|||||||
F test/temptable2.test cd396beb41117a5302fff61767c35fa4270a0d5e
|
F test/temptable2.test cd396beb41117a5302fff61767c35fa4270a0d5e
|
||||||
F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
|
F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
|
||||||
F test/temptrigger.test 8ec228b0db5d7ebc4ee9b458fc28cb9e7873f5e1
|
F test/temptrigger.test 8ec228b0db5d7ebc4ee9b458fc28cb9e7873f5e1
|
||||||
F test/tester.tcl 3ace46dee55f07e28a1e3ab03258b929fefcee5b
|
F test/tester.tcl a52b5be1bb586afa1c8bcdcd4b86588645e1ae52
|
||||||
F test/thread001.test 9f22fd3525a307ff42a326b6bc7b0465be1745a5
|
F test/thread001.test 9f22fd3525a307ff42a326b6bc7b0465be1745a5
|
||||||
F test/thread002.test e630504f8a06c00bf8bbe68528774dd96aeb2e58
|
F test/thread002.test e630504f8a06c00bf8bbe68528774dd96aeb2e58
|
||||||
F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
|
F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
|
||||||
@ -1505,7 +1505,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
|||||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||||
P 8b22f777a11438ab0baadc7d9e471f415b734d1f
|
P 29fb988f1afc3fe623097acee1a5d08bf8386626
|
||||||
R 8809172c97ecd2789d873e485f1080c5
|
R 767a7d8abd9b9525d1b45069b4c3dba2
|
||||||
U drh
|
U drh
|
||||||
Z b4d622f88577c8bb575918451a798624
|
Z df36acb2648e26f22b53c52b73476f6c
|
||||||
|
@ -1 +1 @@
|
|||||||
29fb988f1afc3fe623097acee1a5d08bf8386626
|
c869bf34a8ee42ac6542862e59c7a4b89b042f79
|
@ -69,16 +69,12 @@ ifcapable stat4||stat3 {
|
|||||||
set STAT3 0
|
set STAT3 0
|
||||||
}
|
}
|
||||||
|
|
||||||
ifcapable malloc_usable_size {
|
|
||||||
finish_test
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# Run the dbstatus-2 and dbstatus-3 tests with several of different
|
# Run the dbstatus-2 and dbstatus-3 tests with several of different
|
||||||
# lookaside buffer sizes.
|
# lookaside buffer sizes.
|
||||||
#
|
#
|
||||||
foreach ::lookaside_buffer_size {0 64 120} {
|
foreach ::lookaside_buffer_size {0 64 120} {
|
||||||
|
ifcapable malloc_usable_size break
|
||||||
|
|
||||||
# Do not run any of these tests if there is SQL configured to run
|
# Do not run any of these tests if there is SQL configured to run
|
||||||
# as part of the [sqlite3] command. This prevents the script from
|
# as part of the [sqlite3] command. This prevents the script from
|
||||||
@ -388,7 +384,7 @@ ifcapable shared_cache {
|
|||||||
set pcu [sqlite3_db_status $db SQLITE_DBSTATUS_CACHE_USED_SHARED 0]
|
set pcu [sqlite3_db_status $db SQLITE_DBSTATUS_CACHE_USED_SHARED 0]
|
||||||
set cu [lindex $cu 1]
|
set cu [lindex $cu 1]
|
||||||
set pcu [lindex $pcu 1]
|
set pcu [lindex $pcu 1]
|
||||||
uplevel [list do_test $tn [list list $cu $pcu] [list {*}$res]]
|
uplevel [list do_test $tn [list list $cu $pcu] "#/$res/"]
|
||||||
}
|
}
|
||||||
reset_db
|
reset_db
|
||||||
sqlite3 db file:test.db?cache=shared
|
sqlite3 db file:test.db?cache=shared
|
||||||
|
@ -720,6 +720,17 @@ proc puts {args} { uplevel puts_override $args }
|
|||||||
|
|
||||||
# Invoke the do_test procedure to run a single test
|
# Invoke the do_test procedure to run a single test
|
||||||
#
|
#
|
||||||
|
# The $expected parameter is the expected result. The result is the return
|
||||||
|
# value from the last TCL command in $cmd.
|
||||||
|
#
|
||||||
|
# Normally, $expected must match exactly. But if $expected is of the form
|
||||||
|
# "/regexp/" then regular expression matching is used. If $expected is
|
||||||
|
# "~/regexp/" then the regular expression must NOT match. If $expected is
|
||||||
|
# of the form "#/value-list/" then each term in value-list must be numeric
|
||||||
|
# and must approximately match the corresponding numeric term in $result.
|
||||||
|
# Values must match within 10%. Or if the $expected term is A..B then the
|
||||||
|
# $result term must be in between A and B.
|
||||||
|
#
|
||||||
proc do_test {name cmd expected} {
|
proc do_test {name cmd expected} {
|
||||||
global argv cmdlinearg
|
global argv cmdlinearg
|
||||||
|
|
||||||
@ -753,7 +764,7 @@ proc do_test {name cmd expected} {
|
|||||||
output2 "\nError: $result"
|
output2 "\nError: $result"
|
||||||
fail_test $name
|
fail_test $name
|
||||||
} else {
|
} else {
|
||||||
if {[regexp {^~?/.*/$} $expected]} {
|
if {[regexp {^[~#]?/.*/$} $expected]} {
|
||||||
# "expected" is of the form "/PATTERN/" then the result if correct if
|
# "expected" is of the form "/PATTERN/" then the result if correct if
|
||||||
# regular expression PATTERN matches the result. "~/PATTERN/" means
|
# regular expression PATTERN matches the result. "~/PATTERN/" means
|
||||||
# the regular expression must not match.
|
# the regular expression must not match.
|
||||||
@ -767,6 +778,21 @@ proc do_test {name cmd expected} {
|
|||||||
set ok [regexp $re $result]
|
set ok [regexp $re $result]
|
||||||
}
|
}
|
||||||
set ok [expr {!$ok}]
|
set ok [expr {!$ok}]
|
||||||
|
} elseif {[string index $expected 0]=="#"} {
|
||||||
|
# Numeric range value comparison. Each term of the $result is matched
|
||||||
|
# against one term of $expect. Both $result and $expected terms must be
|
||||||
|
# numeric. The values must match within 10%. Or if $expected is of the
|
||||||
|
# form A..B then the $result term must be between A and B.
|
||||||
|
set e2 [string range $expected 2 end-1]
|
||||||
|
foreach i $result j $e2 {
|
||||||
|
if {[regexp {^(-?\d+)\.\.(-?\d)$} $j all A B]} {
|
||||||
|
set ok [expr {$i+0>=$A && $i+0<=$B}]
|
||||||
|
} else {
|
||||||
|
set ok [expr {$i+0>=0.9*$j && $i+0<=1.1*$j}]
|
||||||
|
}
|
||||||
|
if {!$ok} break
|
||||||
|
}
|
||||||
|
if {$ok && [llength $result]!=[llength $e2]} {set ok 0}
|
||||||
} else {
|
} else {
|
||||||
set re [string range $expected 1 end-1]
|
set re [string range $expected 1 end-1]
|
||||||
if {[string index $re 0]=="*"} {
|
if {[string index $re 0]=="*"} {
|
||||||
|
Reference in New Issue
Block a user