From: drh Date: Wed, 17 Jun 2015 18:24:40 +0000 (+0000) Subject: Improved comments on the fuzzcheck.c test program. No changes to code. X-Git-Tag: version-3.8.11~156 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=00452196d86f5a53063c9159b8825b7821ff6a4c;p=thirdparty%2Fsqlite.git Improved comments on the fuzzcheck.c test program. No changes to code. FossilOrigin-Name: a7e27d19280048bcfff6d2e796eed72287b9dabe --- diff --git a/manifest b/manifest index 92201cad16..c4288ba45b 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\suninitialized\svariable\suse\sin\sthe\scommand-line\sshell\swhen\sthe\n".open"\scommand\sis\sinvoked\swithout\sany\sarguments. -D 2015-06-17T17:08:22.680 +C Improved\scomments\son\sthe\sfuzzcheck.c\stest\sprogram.\s\sNo\schanges\sto\scode. +D 2015-06-17T18:24:40.654 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 1063c58075b7400d93326b0eb332b48a54f53025 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -657,7 +657,7 @@ F test/fuzz2.test 76dc35b32b6d6f965259508508abce75a6c4d7e1 F test/fuzz3.test efd384b896c647b61a2c1848ba70d42aad60a7b3 F test/fuzz_common.tcl a87dfbb88c2a6b08a38e9a070dabd129e617b45b F test/fuzz_malloc.test 328f70aaca63adf29b4c6f06505ed0cf57ca7c26 -F test/fuzzcheck.c a60f926e3fa86c8d33908406d75eec868c22b9ca +F test/fuzzcheck.c 5805b2236292f8643d56e727a3a6e4d88e0856a5 F test/fuzzdata1.db b60254eeb6bc11474071b883059662a73c48da7f F test/fuzzdata2.db f03a420d3b822cc82e4f894ca957618fbe9c4973 F test/fuzzdata3.db f4ca6fa92973501cec63ac5d1992ef88f6a78e7f @@ -1286,7 +1286,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P c89d772628564a808173f6f73bc1798ec714276b -R 2be138dcb45d5c718e3a818150a1ac69 +P fc4f4d1eccec2e09b5d2e6c4da082204f4d5a016 +R c899e9b20cb2a89272908946dedc2b9a U drh -Z 1c763b619a4c5a5f5f6d672aa5693e42 +Z 2e60edd59a1d27a41fd4904a20b823dc diff --git a/manifest.uuid b/manifest.uuid index 84708615a5..d97621c54a 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -fc4f4d1eccec2e09b5d2e6c4da082204f4d5a016 \ No newline at end of file +a7e27d19280048bcfff6d2e796eed72287b9dabe \ No newline at end of file diff --git a/test/fuzzcheck.c b/test/fuzzcheck.c index 6dc2a6e7fb..f637e6463c 100644 --- a/test/fuzzcheck.c +++ b/test/fuzzcheck.c @@ -10,8 +10,8 @@ ** ************************************************************************* ** -** This is a utility program designed to aid running regressions tests -** on SQLite library using data from an external fuzzer, such as American +** This is a utility program designed to aid running regressions tests on +** the SQLite library using data from an external fuzzer, such as American ** Fuzzy Lop (AFL) (http://lcamtuf.coredump.cx/afl/). ** ** This program reads content from an SQLite database file with the following @@ -25,16 +25,44 @@ ** sqlid INTEGER PRIMARY KEY, -- SQL script id ** sqltext TEXT -- Text of SQL statements to run ** ); +** CREATE TABLE IF NOT EXISTS readme( +** msg TEXT -- Human-readable description of this test collection +** ); ** ** For each database file in the DB table, the SQL text in the XSQL table -** is run against that database. This program is looking for crashes, -** assertion faults, and/or memory leaks. No attempt is made to verify -** the output. The assumption is that either all of the database files -** or all of the SQL statements are malformed inputs, generated by a fuzzer, -** that need to be checked to make sure they do not present a security risk. +** is run against that database. All README.MSG values are printed prior +** to the start of the test (unless the --quiet option is used). If the +** DB table is empty, then all entries in XSQL are run against an empty +** in-memory database. +** +** This program is looking for crashes, assertion faults, and/or memory leaks. +** No attempt is made to verify the output. The assumption is that either all +** of the database files or all of the SQL statements are malformed inputs, +** generated by a fuzzer, that need to be checked to make sure they do not +** present a security risk. ** ** This program also includes some command-line options to help with -** creation and maintenance of the source content database. +** creation and maintenance of the source content database. The command +** +** ./fuzzcheck database.db --load-sql FILE... +** +** Loads all FILE... arguments into the XSQL table. The --load-db option +** works the same but loads the files into the DB table. The -m option can +** be used to initialize the README table. The "database.db" file is created +** if it does not previously exist. Example: +** +** ./fuzzcheck new.db --load-sql *.sql +** ./fuzzcheck new.db --load-db *.db +** ./fuzzcheck new.db -m 'New test cases' +** +** The three commands above will create the "new.db" file and initialize all +** tables. Then do "./fuzzcheck new.db" to run the tests. +** +** DEBUGGING HINTS: +** +** If fuzzcheck does crash, it can be run in the debugger and the content +** of the global variable g.zTextName[] will identify the specific XSQL and +** DB values that were running when the crash occurred. */ #include #include