]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
In fuzzcheck, activate vdbe_debug for dbsqlfuzz cases when using the -vvvvv
authordrh <drh@noemail.net>
Fri, 25 Jan 2019 13:03:38 +0000 (13:03 +0000)
committerdrh <drh@noemail.net>
Fri, 25 Jan 2019 13:03:38 +0000 (13:03 +0000)
verbosity level or above.

FossilOrigin-Name: 2e6f7c2aced49824a38b3494b796a8ec73aa7a90b51159f670596df15ed1c5ab

manifest
manifest.uuid
test/fuzzcheck.c

index fb82c3f1faa77e7eea20cb9133229d62b470a53f..d073cbd167b3b3317040e778e80582967f200abc 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Improved\sautomatic\sdetection\sof\sdbsqlfuzz\scases\sin\sfuzzcheck.
-D 2019-01-25T04:43:26.372
+C In\sfuzzcheck,\sactivate\svdbe_debug\sfor\sdbsqlfuzz\scases\swhen\susing\sthe\s-vvvvv\nverbosity\slevel\sor\sabove.
+D 2019-01-25T13:03:38.630
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F Makefile.in 9947eae873c07ae894d4c8633b76c0a0daca7b9fd54401096a77d1a6c7b74359
@@ -984,7 +984,7 @@ F test/fuzz3.test 9c813e6613b837cb7a277b0383cd66bfa07042b4cf0317157c35852f30043c
 F test/fuzz4.test c229bcdb45518a89e1d208a21343e061503460ac69fae1539320a89f572eb634
 F test/fuzz_common.tcl a87dfbb88c2a6b08a38e9a070dabd129e617b45b
 F test/fuzz_malloc.test f348276e732e814802e39f042b1f6da6362a610af73a528d8f76898fde6b22f2
-F test/fuzzcheck.c 1a65151681ada94f8543ccfe07fbd2d5ba509efdc74bd144569f8d61f242e707
+F test/fuzzcheck.c b72e92f38747e4fe45b4df41a750a9ee3797f28e808c11b753d91d750a559c51
 F test/fuzzdata1.db 7ee3227bad0e7ccdeb08a9e6822916777073c664
 F test/fuzzdata2.db 128b3feeb78918d075c9b14b48610145a0dd4c8d6f1ca7c2870c7e425f5bf31f
 F test/fuzzdata3.db c6586d3e3cef0fbc18108f9bb649aa77bfc38aba
@@ -1803,7 +1803,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P fb9074ff450a67feaa62ca61d19154de26d5c8a8d147409ee6d1fbd667b2914f
-R 1a930dbefe744ebdcb05eea9b0188b90
+P 1ef24e89c9630fd383ba32f5aefcf9c27907f27f5072f3537a1cfd75a093a8d7
+R 78219aab4a0221491f08b172e31b7d10
 U drh
-Z c5c751ac97a3bb1a31a35d47c24bdd62
+Z 41b8e92f1ee93947404c7576345f9b31
index 698172e5dd38856460b9bcc20474c78d656360ed..fced87f94598c5950f89e7154768ac58f66f2dc8 100644 (file)
@@ -1 +1 @@
-1ef24e89c9630fd383ba32f5aefcf9c27907f27f5072f3537a1cfd75a093a8d7
\ No newline at end of file
+2e6f7c2aced49824a38b3494b796a8ec73aa7a90b51159f670596df15ed1c5ab
\ No newline at end of file
index 3fac76d9a2ab267c9f902ecb8c0c9d56c6430a69..45e2168356d1e66213077da83d703716332a8352 100644 (file)
@@ -793,6 +793,11 @@ int runCombinedDbSqlInput(const uint8_t *aData, size_t nByte){
     sqlite3_file_control(cx.db, "main", SQLITE_FCNTL_SIZE_LIMIT, &x);
   }
 
+  /* For high debugging levels, turn on debug mode */
+  if( eVerbosity>=5 ){
+    sqlite3_exec(cx.db, "PRAGMA vdbe_debug=ON;", 0, 0, 0);
+  }
+
   /* Block debug pragmas and ATTACH/DETACH.  But wait until after
   ** deserialize to do this because deserialize depends on ATTACH */
   sqlite3_set_authorizer(cx.db, block_troublesome_sql, 0);
@@ -1242,6 +1247,19 @@ static int integerValue(const char *zArg){
   return (int)(isNeg? -v : v);
 }
 
+/*
+** Return the number of "v" characters in a string.  Return 0 if there
+** are any characters in the string other than "v".
+*/
+static int numberOfVChar(const char *z){
+  int N = 0;
+  while( z[0] && z[0]=='v' ){
+    z++;
+    N++;
+  }
+  return z[0]==0 ? N : 0;
+}
+
 /*
 ** Print sketchy documentation for this utility program
 */
@@ -1315,6 +1333,7 @@ int main(int argc, char **argv){
   int nativeMalloc = 0;        /* Turn off MEMSYS3/5 and lookaside if true */
   sqlite3_vfs *pDfltVfs;       /* The default VFS */
   int openFlags4Data;          /* Flags for sqlite3_open_v2() */
+  int nV;                      /* How much to increase verbosity with -vvvv */
 
   sqlite3_initialize();
   iBegin = timeOfDay();
@@ -1421,12 +1440,18 @@ int main(int argc, char **argv){
         fatalError("timeout is not available on non-unix systems");
 #endif
       }else
-      if( strcmp(z,"verbose")==0 || strcmp(z,"v")==0 ){
+      if( strcmp(z,"verbose")==0 ){
         quietFlag = 0;
         verboseFlag++;
         eVerbosity++;
         if( verboseFlag>1 ) runFlags |= SQL_TRACE;
       }else
+      if( (nV = numberOfVChar(z))>=1 ){
+        quietFlag = 0;
+        verboseFlag += nV;
+        eVerbosity += nV;
+        if( verboseFlag>1 ) runFlags |= SQL_TRACE;
+      }else
       if( strcmp(z,"version")==0 ){
         int ii;
         const char *z;