1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-30 19:03:16 +03:00

If the FUZZDB environment variable is set when running testrunner.tcl and

that env-var points to a fuzzcheck database, then suppliment the fuzzcheck
tests with that extra database.

FossilOrigin-Name: c08530dd6a71cb547d164e2313657c917f280e7988211bf199c8776e78a4e2a6
This commit is contained in:
drh
2025-04-28 17:56:23 +00:00
parent 1365bcffbf
commit d4cc3a42e2
3 changed files with 35 additions and 9 deletions

View File

@ -1,5 +1,5 @@
C Enhance\stestrunner.tcl\sso\sthat\sit\sdoes\snot\sbuild\stestfixture\sunnecessarily\s-\nif\sthe\spattern\sdoes\snot\smatch\sany\sTCL\stest. C If\sthe\sFUZZDB\senvironment\svariable\sis\sset\swhen\srunning\stestrunner.tcl\sand\nthat\senv-var\spoints\sto\sa\sfuzzcheck\sdatabase,\sthen\ssuppliment\sthe\sfuzzcheck\ntests\swith\sthat\sextra\sdatabase.
D 2025-04-28T16:28:00.311 D 2025-04-28T17:56:23.974
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@ -1734,7 +1734,7 @@ F test/temptable2.test 76821347810ecc88203e6ef0dd6897b6036ac788e9dd3e6b04fd4d163
F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637 F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc
F test/tester.tcl 463ae33b8bf75ac77451df19bd65e7c415c2e9891227c7c9e657d0a2d8e1074a F test/tester.tcl 463ae33b8bf75ac77451df19bd65e7c415c2e9891227c7c9e657d0a2d8e1074a
F test/testrunner.tcl 9ba1633c0494fde4bc5a15dad7393c96cab5842674d45ae3fedbb73e646e4a8a x F test/testrunner.tcl 7efcd416e2686fc16a479bc7231204ce4b1473e703136cbcbab2091675b4787c x
F test/testrunner_data.tcl 07f2d36a6321bfd196975aca237db6bba1991032809264a1abeb62e697196d20 F test/testrunner_data.tcl 07f2d36a6321bfd196975aca237db6bba1991032809264a1abeb62e697196d20
F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899 F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899
F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502 F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502
@ -2207,8 +2207,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
P 81857474fe90f50b760c22d61a6ad477642dabe1052390cd1614dcec8adb1376 P 896d767f1cba64bda7b91b0daebd60ebe4457a58d762da443bf61cf5b39ad2d9
R 2a7e3de3ac92b862d831bf5772b280f3 R f8483dc6f5ebfe6700dbaa0ae0281899
U drh U drh
Z aaa50756b963ce47265747d8b22c07a0 Z b87e67a4c1863da23f9d9a564632116e
# Remove this line to create a well-formed Fossil manifest. # Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
896d767f1cba64bda7b91b0daebd60ebe4457a58d762da443bf61cf5b39ad2d9 c08530dd6a71cb547d164e2313657c917f280e7988211bf199c8776e78a4e2a6

View File

@ -1163,24 +1163,47 @@ proc add_make_job {bld target} {
} }
proc add_fuzztest_jobs {buildname patternlist} { proc add_fuzztest_jobs {buildname patternlist} {
global env TRG
foreach {interpreter scripts} [trd_fuzztest_data] { foreach {interpreter scripts} [trd_fuzztest_data] {
set bldDone 0 set bldDone 0
set subcmd [lrange $interpreter 1 end] set subcmd [lrange $interpreter 1 end]
set interpreter [lindex $interpreter 0] set interpreter [lindex $interpreter 0]
if {$interpreter=="fuzzcheck"
&& [info exists env(FUZZDB)]
&& [file readable $env(FUZZDB)]
} {
set TRG(FUZZDB) $env(FUZZDB)
set fname [file normalize $env(FUZZDB)]
set N [expr {([file size $fname]+4999999)/5000000}]
for {set i 0} {$i<$N} {incr i} {
lappend scripts [list --slice $i $N $fname]
}
}
foreach s $scripts { foreach s $scripts {
# Fuzz data files fuzzdata1.db and fuzzdata2.db are larger than # Fuzz data files fuzzdata1.db and fuzzdata2.db are larger than
# the others. So ensure that these are run as a higher priority. # the others. So ensure that these are run as a higher priority.
set tail [file tail $s] if {[llength $s]==1} {
set tail [file tail $s]
} else {
set fname [lindex $s end]
set tail [lrange $s 0 end-1]
lappend tail [file tail $fname]
}
if {![job_matches_any_pattern $patternlist "fuzzcheck $tail"]} continue if {![job_matches_any_pattern $patternlist "fuzzcheck $tail"]} continue
if {!$bldDone} { if {!$bldDone} {
set bld [add_build_job $buildname $interpreter] set bld [add_build_job $buildname $interpreter]
foreach {depid dirname displayname} $bld {} foreach {depid dirname displayname} $bld {}
set bldDone 1 set bldDone 1
} }
if {$tail=="fuzzdata1.db" || $tail=="fuzzdata2.db"} { if {[string match ?-slice* $tail]} {
set priority 15
} elseif {$tail=="fuzzdata1.db"
|| $tail=="fuzzdata2.db"
|| $tail=="fuzzdata8.db"} {
set priority 5 set priority 5
} else { } else {
set priority 1 set priority 1
@ -1618,6 +1641,9 @@ proc run_testset {} {
puts "\nTest database is $TRG(dbname)" puts "\nTest database is $TRG(dbname)"
puts "Test log is $TRG(logname)" puts "Test log is $TRG(logname)"
if {[info exists TRG(FUZZDB)]} {
puts "Extra fuzztest data taken from $TRG(FUZZDB)"
}
trdb eval { trdb eval {
SELECT sum(ntest) AS totaltest, SELECT sum(ntest) AS totaltest,
sum(nerr) AS totalerr sum(nerr) AS totalerr