From: drh <> Date: Fri, 17 Apr 2026 11:41:33 +0000 (+0000) Subject: Help-text and comment fixes in the CLI. Add the output-redir-test.txt X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=29997b473109563e8530139f8020bd1f060fc950;p=thirdparty%2Fsqlite.git Help-text and comment fixes in the CLI. Add the output-redir-test.txt testing script. FossilOrigin-Name: ec58a133b4716d4f5a53c38853f8ecdb7a1275b931663ce07c8dc700d845e62e --- diff --git a/manifest b/manifest index ec65164b2f..16aa4e1810 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Less\serror-prone\sparsing\sof\s".once"\soptions.\s\sFix\sfor\sthe\sproblem\sreported\nby\s[forum:/info/2026-04-17T01:26:56Z|forum\spost\s2026-04-17T01:26:56Z]. -D 2026-04-17T01:50:40.615 +C Help-text\sand\scomment\sfixes\sin\sthe\sCLI.\s\sAdd\sthe\soutput-redir-test.txt\ntesting\sscript. +D 2026-04-17T11:41:33.625 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -736,7 +736,7 @@ F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c 928ff887f2a7c64275182060d94d06fdddbe32226c569781cf7e7edc6f58d7fd F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97 F src/select.c ffe199f025a0dd74670d2a77232bdea364a4d7b36f32c64a6572d39ba6a11576 -F src/shell.c.in 88bb0ac5dd5787a38165754a2f82082d8d31467ef561d35377294a92415ca211 +F src/shell.c.in b399c9a95de754595345bdd98e631c3ba55162c446d70b44398223c25dc4065a F src/sqlite.h.in 39d2e09114d2bdb7afd998f4a469c8f8cd065f8093835a7d0422f260fc78fb4f F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479 F src/sqlite3ext.h 9788c301f95370fa30e808861f1d2e6f022a816ddbe2a4f67486784c1b31db2e @@ -1492,6 +1492,7 @@ F test/orderbyB.test 32576c7b138105bc72f7fbf33bd320ca3a7d303641fc939e0e56af6cba8 F test/oserror.test ee3fad06ec8671c4d047c2c92a567fc2e0e8161caaec7edd6d48325c5ac97f30 F test/ossfuzz.c b5d232d9717fc999a121c82c4880ae5b9d7fb3ae55d2d87a8da906bc80020906 F test/ossshell.c f125c5bd16e537a2549aa579b328dd1c59905e7ab1338dfc210e755bb7b69f17 +F test/output-redirect-test.txt aeebac99f766f1e54bb2628b13c2d89a3d77de942138a01210c8a814b54c2bc8 F test/ovfl.test 199c482696defceacee8c8e0e0ef36da62726b2f F test/pager1.test b083c2d5d89df8e979658d9320bfc0b9d50b4ef8ae1d9e115a692ff0b9768393 F test/pager2.test c0ede15952b607f9a38f653acdfa73c19e657958e9104aab1a71950ea7b71831 @@ -2201,8 +2202,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c -P a4bf9289c9cdb12b22bfb24e7e2b0243384e9edece12ae3fed14afbfe9b93260 -R 0f63c4268db1999bde9ac472d751de9a +P b235a8093734f457c2731af017c99027510d04e5cd1060f5559afbec5409a472 +R d84b09a56d9bc4c33abb3c6cf40ee177 U drh -Z b2d06a4c32b45078b0f11c43a3f1e77d +Z 795ba898df4e3b3f60a212f6e3214fb0 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index e49bbe4828..ff6ca5e17c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -b235a8093734f457c2731af017c99027510d04e5cd1060f5559afbec5409a472 +ec58a133b4716d4f5a53c38853f8ecdb7a1275b931663ce07c8dc700d845e62e diff --git a/src/shell.c.in b/src/shell.c.in index feb112fb96..92e9e54154 100644 --- a/src/shell.c.in +++ b/src/shell.c.in @@ -4001,7 +4001,7 @@ static const char *(azHelp[]) = { " -a|--all Also show system-generated indexes", " --expr Show only expression indexes", " --sys Show only system-generated indexes", - ".intck ?STEPS_PER_UNLOCK? Run an incremental integrity check on the db", + ".intck ?STEPS? Run an incremental integrity check on the db", #ifdef SQLITE_ENABLE_IOTRACE ",iotrace FILE Enable I/O diagnostic logging to FILE", #endif @@ -4066,11 +4066,11 @@ static const char *(azHelp[]) = { " --reset Reset the count for each input and interrupt", " --timeout S Halt after running for S seconds", #endif - ".prompt MAIN CONTINUE Replace the standard prompts", - " --hard-reset Unset SQLITE_PS1/2 and then --reset", - " --reset Revert to default prompts", - " --show Show the current prompt strings", - " -- No more options. Subsequent args are prompts", + ".prompt MAIN CONTINUE Replace the standard prompts", + " --hard-reset Unset SQLITE_PS1/2 and then --reset", + " --reset Revert to default prompts", + " --show Show the current prompt strings", + " -- No more options. Subsequent args are prompts", #ifndef SQLITE_SHELL_FIDDLE ".quit Stop interpreting input stream, exit if primary.", ".read FILE Read input from FILE or command output", @@ -5660,7 +5660,7 @@ static void output_reset(ShellState *p){ cli_printf(stderr,"Failed: [%s]\n", zCmd); }else{ /* Give the start/open/xdg-open command some time to get - ** going before we continue, and potential delete the + ** going before we continue and potentially delete the ** p->zTempFile data file out from under it */ sqlite3_sleep(2000); } @@ -9099,7 +9099,7 @@ static int dotCmdCheck(ShellState *p){ ** ** Start a new test case identified by NAME. All output ** through the next ".check" command is captured for comparison. See the -** ".check" commandn for additional informatioon. +** ".check" command for additional informatioon. ** ** Options: ** --error-prefix TEXT Change error message prefix text to TEXT diff --git a/test/output-redirect-test.txt b/test/output-redirect-test.txt new file mode 100644 index 0000000000..c9579a688c --- /dev/null +++ b/test/output-redirect-test.txt @@ -0,0 +1,104 @@ +# This script is used to test certain output redirection commands +# in the CLI, specifically: +# +# .www +# .once -w +# .output -w +# .once -e +# .ooutput -e +# .excel +# .once -x +# .output -x +# +# Because of system interactions it is difficult to test these +# commands automatically. They must be tested manually, with the +# aid of this script. +# +# To run the test: +# +# 1. Be on a console of the machine under test (not on ssh). +# 2. Run "./sqlite3 test/output-redir-test.txt" or similar. +# 3. Verify that all the right pop-ups appear. More information +# on what popups to expect appears on the console output. +# +.print "Expect to see 8 output pop-ups: +.print " * 3 new tabs in your web-browser" +.print " * 2 editor windows" +.print " * 3 spreadsheets" +.print "There is a 2-second pause between tests. Wait until" +.print "prompted to verify results...." +.print "" +.print "Running web-browser tests first..." +.mode box +CREATE TABLE t1(x); +INSERT INTO t1 VALUES + ('Web-browser test 1 of 3'), + ('Test for the ".www" commmand.'); +.www +SELECT * FROM t1; + +DELETE FROM t1; +INSERT INTO t1 VALUES + ('Web-browser test 2 of 3'), + ('Test for the ".once -w" commmand.'); +.once -w +SELECT * FROM t1; + +DELETE FROM t1; +INSERT INTO t1 VALUES + ('Web-browser test 3 of 3'), + ('Test for the ".output -w" commmand.'), + ('Confirm additional text below.'); +.output -w +SELECT * FROM t1; +.print "This test should also appear after the table." +.print "in the web-browser output". +.output + +.print "Web-browser tests are done. Starting editor tests." + +DELETE FROM t1; +INSERT INTO t1 VALUES + ('Editor test 1 of 2'), + ('Test for the ".once -e" commmand.'); +.once -e +SELECT * FROM t1; + +DELETE FROM t1; +INSERT INTO t1 VALUES + ('Editor test 2 of 2'), + ('Test for the ".output -e" commmand.'), + ('Confirm additional text below.'); +.output -e +SELECT * FROM t1; +.print "This test should also appear after the table." +.print "in the pop-up editor window.". +.output +.print "Pop-up editor tests are done. Starting spreadsheed tests" + +DELETE FROM t1; +INSERT INTO t1 VALUES + ('Spreadsheet test 1 of 3'), + ('Test for the ".excel" commmand.'); +.excel +SELECT * FROM t1; + +DELETE FROM t1; +INSERT INTO t1 VALUES + ('Spreadsheet test 2 of 3'), + ('Test for the ".once -x" commmand.'); +.once -x +SELECT * FROM t1; + +DELETE FROM t1; +INSERT INTO t1 VALUES + ('Spreadsheet test 3 of 3'), + ('Test for the ".output -x" commmand.'), + ('Confirm additional text below.'); +.output -x +SELECT * FROM t1; +.print "This test should also appear after the table." +.print "in the spreadsheet output". +.output + +.print "All tests are done. You may now verify the results."