From: drh <> Date: Sun, 5 Jan 2025 17:16:33 +0000 (+0000) Subject: Refactor the TCL extension test procedure to deal with TCL8.6 and TCL9.0 X-Git-Tag: major-relase~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=15e388d91057ca381510ace3e094210b33626452;p=thirdparty%2Fsqlite.git Refactor the TCL extension test procedure to deal with TCL8.6 and TCL9.0 separately, to simplify the procedures and reduce cognative stress on the tester. FossilOrigin-Name: 5281536327d244ba9507548f7ed607e86e59b98a003e63f6da767471411c8ffc --- diff --git a/doc/tcl-extension-testing.md b/doc/tcl-extension-testing.md index 3371d514bb..65baa15469 100644 --- a/doc/tcl-extension-testing.md +++ b/doc/tcl-extension-testing.md @@ -34,53 +34,56 @@ an ordinary tclsh can subsequently run "package require sqlite3". of the TCL libraries and the SQLite TCL Extensions. -### 2.2 Building the TCL libraries and tclsh executables +### 2.2 Testing TCL 8.6 on unix
    -
  1. `mkdir $TCLTD $TCLTD/tcl86 $TCLTD/tcl90` +
  2. `mkdir $TCLTD/tcl86`
  3. `cd $TCLCO/unix`
  4. `fossil up core-8-6-16`
    ↑ Or some other version of Tcl8.6.
  5. `fossil clean -x`
  6. `./configure --prefix=$TCLTD/tcl86`
  7. `make install` +
  8. `cd $SRCCO` +
  9. `fossil clean -x` +
  10. `./configure --with-tclsh=$TCLTD/tcl86/bin/tclsh8.6` +
  11. `make tclextension-install`
    + ↑ Verify extension installed at $TCLTD/tcl86/lib/tcl8.6/sqlite3.* +
  12. `makek tclextension-list`
    + ↑ Verify TCL extension correctly installed. +
  13. `make tclextension-verify`
    + ↑ Verify that the correct version is installed. +
  14. `$TCLTD/tcl86/bin/tclsh8.6 test/testrunner.tcl release --explain`
    + ↑ Verify thousands of lines of output with no errors. Or + consider running "devtest" without --explain instead of "release". +
+ +### 2.3 Testing TCL 9.0 on unix + +
    +
  1. `mkdir $TCLTD/tcl90`
  2. `fossil up core-9-0-0`
    ↑ Or some other version of Tcl9
  3. `fossil clean -x`
  4. `./configure --prefix=$TCLTD/tcl90`
  5. `make install` -
- -### 2.3 Building the SQLite TCL extension - -
    -
  1. `cd $SRCCO` -
  2. `fossil clean -x` -
  3. `./configure --with-tclsh=$TCLTD/tcl86/bin/tclsh8.6` -
  4. `make tclextension-install`
    - ↑ Verify extension installed at $TCLTD/tcl86/lib/tcl8.6/sqlite3.* -
  5. `make tclextension-verify` +
  6. `cd $SRCCO`
  7. `fossil clean -x`
  8. `./configure --with-tclsh=$TCLTD/tcl90/bin/tclsh9.0`
  9. `make tclextension-install`
    ↑ Verify extension installed at $TCLTD/tcl90/lib/sqlite3.* +
  10. `makek tclextension-list`
    + ↑ Verify TCL extension correctly installed.
  11. `make tclextension-verify` -
- -### 2.4 Additional sanity tests - -
    -
  1. - `$TCLTD/tcl86/bin/tclsh8.6 test/testrunner.tcl release --explain`
    - ↑ Verify thousands of lines of output with no errors
  2. `$TCLTD/tcl90/bin/tclsh9.0 test/testrunner.tcl release --explain`
    - ↑ Verify thousands of lines of output with no errors + ↑ Verify thousands of lines of output with no errors. Or + consider running "devtest" without --explain instead of "release".
-### 2.5 Cleanup +### 2.4 Cleanup
    -
  1. `rm -rf $TCLTD` +
  2. `rm -rf $TCLTD`
## 3.0 Testing On Windows @@ -110,10 +113,10 @@ an ordinary tclsh can subsequently run "package require sqlite3". ↑ remember the original %PATH% value -### 3.2 Building the TCL libraries and tclsh.exe executables on Windows +### 3.2 Testing TCL 8.6 on Windows
    -
  1. `mkdir %TCLTD% %TCLTD%\tcl86 %TCLTD%\tcl90` +
  2. `mkdir %TCLTD%\tcl86`
  3. `cd %TCLCO%\win`
  4. `fossil up core-8-6-16`
    ↑ Or some other version of Tcl8.6. @@ -124,6 +127,24 @@ an ordinary tclsh can subsequently run "package require sqlite3". using separate invocations of "nmake" or tclsh86t.exe won't be installed.
  5. `nmake /f makefile.vc install` +
  6. `cd %SRCCO%` +
  7. `fossil clean -x` +
  8. `set TCLDIR=%TCLTD%\tcl86` +
  9. `set PATH=%TCLTD%\tcl86\bin;%ORIGINALPATH%` +
  10. `set TCLSH_CMD=%TCLTD%\tcl86\bin\tclsh86t.exe` +
  11. `nmake /f Makefile.msc tclextension-install`
    + ↑ Verify extension installed at %TCLTD%\\tcl86\\lib\\tcl8.6\\sqlite3.* +
  12. `nmake /f Makefile.msc tclextension-verify` +
  13. `tclsh86t test/testrunner.tcl release --explain`
    + ↑ Verify thousands of lines of output with no errors. Or + consider running "devtest" without --explain instead of "release". +
+ +### 3.3 Testing TCL 9.0 on Windows + +
    +
  1. `mkdir %TCLTD%\tcl90` +
  2. `cd %TCLCO%\win`
  3. `fossil up core-9-0-0`
    ↑ Or some other version of Tcl9
  4. `fossil clean -x` @@ -133,19 +154,7 @@ an ordinary tclsh can subsequently run "package require sqlite3". using separate invocations of "nmake" or tclsh90.exe won't be installed.
  5. `nmake /f makefile.vc install` -
- -### 3.3 Building the SQLite TCL extension on Windows - -
    -
  1. `cd %SRCCO%` -
  2. `fossil clean -x` -
  3. `set TCLDIR=%TCLTD%\tcl86` -
  4. `set PATH=%TCLTD%\tcl86\bin;%ORIGINALPATH%` -
  5. `set TCLSH_CMD=%TCLTD%\tcl86\bin\tclsh86t.exe` -
  6. `nmake /f Makefile.msc tclextension-install`
    - ↑ Verify extension installed at %TCLTD%\\tcl86\\lib\\tcl8.6\\sqlite3.* -
  7. `nmake /f Makefile.msc tclextension-verify` +
  8. `cd %SRCCO%`
  9. `fossil clean -x`
  10. `set TCLDIR=%TCLTD%\tcl90`
  11. `set PATH=%TCLTD%\tcl90\bin;%ORIGINALPATH%` @@ -153,22 +162,13 @@ an ordinary tclsh can subsequently run "package require sqlite3".
  12. `nmake /f Makefile.msc tclextension-install`
    ↑ Verify extension installed at %TCLTD%\\tcl90\\lib\\sqlite3.*
  13. `nmake /f Makefile.msc tclextension-verify` -
- -### 3.4 Additional sanity tests for Windows - -
    -
  1. - `set PATH=%TCLTD%\tcl86\bin;%ORIGINALPATH%` -
  2. `tclsh86t test/testrunner.tcl release --explain`
    - ↑ Verify thousands of lines of output with no errors -
  3. `set PATH=%TCLTD%\tcl90\bin;%ORIGINALPATH%`
  4. `tclsh90 test/testrunner.tcl release --explain`
    - ↑ Verify thousands of lines of output with no errors + ↑ Verify thousands of lines of output with no errors. Or + consider running "devtest" without --explain instead of "release".
-### 3.5 Cleanup +### 3.4 Cleanup
    -
  1. `rm -rf %TCLTD%` +
  2. `rm -rf %TCLTD%`
diff --git a/manifest b/manifest index ae7e6830ec..06e0e02351 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\stypo\sin\sthe\stcl-extension-testing.md\sdocument. -D 2025-01-05T11:40:15.277 +C Refactor\sthe\sTCL\sextension\stest\sprocedure\sto\sdeal\swith\sTCL8.6\sand\sTCL9.0\nseparately,\sto\ssimplify\sthe\sprocedures\sand\sreduce\scognative\sstress\son\sthe\ntester. +D 2025-01-05T17:16:33.231 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d @@ -61,7 +61,7 @@ F doc/json-enhancements.md e356fc834781f1f1aa22ee300027a270b2c960122468499bf347b F doc/jsonb.md 5fab4b8613aa9153fbeb6259297bd4697988af8b3d23900deba588fa7841456b F doc/lemon.html 8b266ff711d2ec7f867c3dca37634963f48a630329908cc282beebfa8c708706 F doc/pager-invariants.txt 27fed9a70ddad2088750c4a2b493b63853da2710 -F doc/tcl-extension-testing.md 97f90ebaac1569c77395f715a4074ddf8b40984d1dae3af7ab693ec256e43853 +F doc/tcl-extension-testing.md 37722ac070d15ed687fbde2c444b97fd1b423b631a89897142f708594aafba47 F doc/testrunner.md 15583cf8c7d8a1c3378fd5d4319ca769a14c4d950a5df9b015d01d5be290dc69 F doc/trusted-schema.md 33625008620e879c7bcfbbfa079587612c434fa094d338b08242288d358c3e8a F doc/vdbesort-memory.md 4da2639c14cd24a31e0af694b1a8dd37eaf277aff3867e9a8cc14046bc49df56 @@ -2205,8 +2205,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 3e92fea09af13259d61afd2953fe5f3fc16e3cedfef09e350903aa5299b8e469 -R 62604835e027bab1689bab4a8c0e956a +P 28150c615cb601dfc9e4f660627228d6a8a715d64c65f7bc77931c9daf8a0dd7 +R 866ce61f7bd1663ef897c7b2791f707c U drh -Z adbf7e41d03db62cbc628242472f462e +Z c10b13ae5e892d2f5ddbaa1f9222567d # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 63309c3c39..f10a9cf7e3 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -28150c615cb601dfc9e4f660627228d6a8a715d64c65f7bc77931c9daf8a0dd7 +5281536327d244ba9507548f7ed607e86e59b98a003e63f6da767471411c8ffc