From: drh Date: Tue, 7 Apr 2020 13:08:56 +0000 (+0000) Subject: Add the --spinner option to the fuzzcheck test program. X-Git-Tag: version-3.32.0~82 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aa0696ee9a0b7ec3f9451520eb3bdcd3e7872b30;p=thirdparty%2Fsqlite.git Add the --spinner option to the fuzzcheck test program. FossilOrigin-Name: b1eae2686f03a6e20a49ca2b3a654b3019506d4941708ee3919c339cd093a57d --- diff --git a/manifest b/manifest index 57765085e0..73f306b088 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C The\sALTER\sTABLE\sfix\sof\scheck-in\s[7e5ad8e0ab7ee91a]\sis\sno\slonger\sneeded\sdue\nto\sthe\schanges\sat\scheck-in\s[4cf8721f5ceb1fda].\s\sBut,\swe\skeep\sthe\sdefense\nin\splace\sas\san\sassert()\sfor\sextra\ssafety. -D 2020-04-07T01:18:23.360 +C Add\sthe\s--spinner\soption\sto\sthe\sfuzzcheck\stest\sprogram. +D 2020-04-07T13:08:56.300 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -1016,7 +1016,7 @@ F test/fuzz3.test 9c813e6613b837cb7a277b0383cd66bfa07042b4cf0317157c35852f30043c F test/fuzz4.test c229bcdb45518a89e1d208a21343e061503460ac69fae1539320a89f572eb634 F test/fuzz_common.tcl b7197de6ed1ee8250a4f82d67876f4561b42ee8cbbfc6160dcb66331bad3f830 F test/fuzz_malloc.test f348276e732e814802e39f042b1f6da6362a610af73a528d8f76898fde6b22f2 -F test/fuzzcheck.c 1ead09510c7bb3475675e499feb721790544e57e00168d687124d9d94ea843ac +F test/fuzzcheck.c a738e69ba6c743c3ed24ecd27ed2867b7c339b2db07b259f341cc9d982113583 F test/fuzzdata1.db d36e88741b4f23bcbaaf55b006290669d03c6c891cf13c7b3a53bc1b097b693f F test/fuzzdata2.db 128b3feeb78918d075c9b14b48610145a0dd4c8d6f1ca7c2870c7e425f5bf31f F test/fuzzdata3.db c6586d3e3cef0fbc18108f9bb649aa77bfc38aba @@ -1860,7 +1860,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 c95c4cda4640f05d61b13b4e60494dec07d4483734fc41ffcce73fb5163cbb0d -R 8efe08123193d0ec7b4ac8c33faea4db +P 230556e859536bbadf0daf8133a9a01ef4f03148b3296723e37bad66e3fc3d82 +R 5a2a574f2e79b4a35d530f14a5558dbb U drh -Z 25c5bd97478bfa906937072a65ec4128 +Z 678df51ea1c8b8197462f0a5c962356f diff --git a/manifest.uuid b/manifest.uuid index 6bb0f559d1..5613876c8d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -230556e859536bbadf0daf8133a9a01ef4f03148b3296723e37bad66e3fc3d82 \ No newline at end of file +b1eae2686f03a6e20a49ca2b3a654b3019506d4941708ee3919c339cd093a57d \ No newline at end of file diff --git a/test/fuzzcheck.c b/test/fuzzcheck.c index 992b225d36..e5c272342f 100644 --- a/test/fuzzcheck.c +++ b/test/fuzzcheck.c @@ -1423,6 +1423,7 @@ static void showHelp(void){ " -q|--quiet Reduced output\n" " --rebuild Rebuild and vacuum the database file\n" " --result-trace Show the results of each SQL command\n" +" --spinner Use a spinner to show progress\n" " --sqlid N Use only SQL where sqlid=N\n" " --timeout N Abort if any single test needs more than N seconds\n" " -v|--verbose Increased output. Repeat for more output.\n" @@ -1449,6 +1450,7 @@ int main(int argc, char **argv){ int rebuildFlag = 0; /* --rebuild */ int vdbeLimitFlag = 0; /* --limit-vdbe */ int infoFlag = 0; /* --info */ + int bSpinner = 0; /* True for --spinner */ int timeoutTest = 0; /* undocumented --timeout-test flag */ int runFlags = 0; /* Flags sent to runSql() */ char *zMsg = 0; /* Add this message */ @@ -1575,6 +1577,9 @@ int main(int argc, char **argv){ if( strcmp(z,"result-trace")==0 ){ runFlags |= SQL_OUTPUT; }else + if( strcmp(z,"spinner")==0 ){ + bSpinner = 1; + }else if( strcmp(z,"sqlid")==0 ){ if( i>=argc-1 ) fatalError("missing arguments on %s", argv[i]); onlySqlid = integerValue(argv[++i]); @@ -1870,11 +1875,16 @@ int main(int argc, char **argv){ /* Run a test using each SQL script against each database. */ - if( !verboseFlag && !quietFlag ) printf("%s:", zDbName); + if( !verboseFlag && !quietFlag && !bSpinner ) printf("%s:", zDbName); for(pSql=g.pFirstSql; pSql; pSql=pSql->pNext){ if( isDbSql(pSql->a, pSql->sz) ){ sqlite3_snprintf(sizeof(g.zTestName), g.zTestName, "sqlid=%d",pSql->id); - if( verboseFlag ){ + if( bSpinner ){ + int nTotal =g.nSql; + int idx = pSql->seq; + printf("\r%s: %d/%d ", zDbName, idx, nTotal); + fflush(stdout); + }else if( verboseFlag ){ printf("%s\n", g.zTestName); fflush(stdout); }else if( !quietFlag ){ @@ -1898,7 +1908,12 @@ int main(int argc, char **argv){ const char *zVfs = "inmem"; sqlite3_snprintf(sizeof(g.zTestName), g.zTestName, "sqlid=%d,dbid=%d", pSql->id, pDb->id); - if( verboseFlag ){ + if( bSpinner ){ + int nTotal = g.nDb*g.nSql; + int idx = pSql->seq*g.nDb + pDb->id - 1; + printf("\r%s: %d/%d ", zDbName, idx, nTotal); + fflush(stdout); + }else if( verboseFlag ){ printf("%s\n", g.zTestName); fflush(stdout); }else if( !quietFlag ){ @@ -1977,7 +1992,9 @@ int main(int argc, char **argv){ } } } - if( !quietFlag && !verboseFlag ){ + if( bSpinner ){ + printf("\n"); + }else if( !quietFlag && !verboseFlag ){ printf(" 100%% - %d tests\n", g.nDb*g.nSql); }