diff options
author | stephan <stephan@noemail.net> | 2025-04-16 22:25:02 +0000 |
---|---|---|
committer | stephan <stephan@noemail.net> | 2025-04-16 22:25:02 +0000 |
commit | 680a9584c6eaa98e16d682f0e0bd57f4abc36350 (patch) | |
tree | 0136b374ebcf48d370ee05de699f17091f2cac82 | |
parent | c264a0fd95d2e5c2874124d8909e1042cdfaaaa7 (diff) | |
download | sqlite-680a9584c6eaa98e16d682f0e0bd57f4abc36350.tar.gz sqlite-680a9584c6eaa98e16d682f0e0bd57f4abc36350.zip |
Add docs explaining how to test the teaish build.
FossilOrigin-Name: b53619ddb74fa250f03564d04e732248b4161d4d10d6f02268b7c95382d110ff
-rw-r--r-- | doc/tcl-extension-testing.md | 66 | ||||
-rw-r--r-- | manifest | 12 | ||||
-rw-r--r-- | manifest.uuid | 2 |
3 files changed, 73 insertions, 7 deletions
diff --git a/doc/tcl-extension-testing.md b/doc/tcl-extension-testing.md index fec7e0d66..eb2a8c3a3 100644 --- a/doc/tcl-extension-testing.md +++ b/doc/tcl-extension-testing.md @@ -194,5 +194,71 @@ perspective on how to compile SQLite on Windows. <li value="35"> `rm -rf %TCLBUILD%` </ol> +## 4.0 Testing the TEA(ish) Build (unix only) + +This part requires following the setup instructions for Unix systems, +at the top of this document. + +The former TEA, now TEA(ish), build of this extension uses the same +code as the builds described above but is provided in a form more +convenient for downstream Tcl users. + +It lives in `autoconf/tea` and, as part of the `autoconf` bundle, +_cannot be tested directly from the canonical tree_. Instead it has to +be packaged. + +### 4.1 Teaish Setup + +Follow the same Tcl- and environment-related related setup described +in the first section of this document, up to and including the +installation of Tcl (unless, of course, it was already installed using +those same instructions). + +### 4.2 Teaish Testing + +<ol> +<li>`cd $SQLITESOURCE` +<li>Run either `make snapshot-tarball` or `make amalgamation-tarball` + ↑ + Those steps will leave behind a temp dir called `mkpkg_tmp_dir`, + under which the extension is most readily reached. It can optionally + be extracted from the generated tarball, but that tarball was + generated from this dir, and reusing this dir is a time saver + during development. +<li> `cd mkpkg_tmp/tea` +<li> `./configure --with-tcl=$TCLHOME` +<li> `make test install` <br> + ↑ Should run to completion without any errors. +<li> `make uninstall` <br> + ↑ Will uninstall the extension. This _can_ be run + in the same invocation as the `install` target, but only + if the `-j#` make flag is _not_ used. If it is, the + install/uninstall steps will race and make a mess of things. + Parallel builds do not help in this build, anyway, as there's + only a single C file to compile. +</ol> + +When actively developing and testing the teaish build, which requires +going through the tarball generation, there's a caveat about the +`mkpkg_tmp_dir` dir: it will be deleted every time a tarball is +built, the shell console which is parked in that +directory for testing needs to add `cd $PWD &&` to the start of the +build commands, like: + +> +``` +[user@host:.../mkpkg_tmp_dir/tea]$ \ + cd $PWD && ./configure CFLAGS=-O0 --with-tcl=$TCLHOME \ + && make test install uninstall +``` + +### 4.3 Teaish Cleanup + + +<ol type="1"> +<li> `rm -rf $TCLHOME` +<li> `cd $SQLITESOURCE; rm -fr mkpkg_tmp_dir; fossil clean -x` +</ol> + [Fossil]: https://fossil-scm.org/home [tcl-fossil]: https://core.tcl-lang.org/tcl @@ -1,5 +1,5 @@ -C Latest\supstream\steaish.\sMost\snotably\sit\sadds\sthe\sability\sfor\sthe\sextension\sto\sspecify\sa\sminimum\sTcl\sversion,\sand\sthis\sbuild\snow\senforces\sa\sminimum\sTcl\sof\s8.6. -D 2025-04-16T21:53:01.406 +C Add\sdocs\sexplaining\show\sto\stest\sthe\steaish\sbuild. +D 2025-04-16T22:25:02.780 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -63,7 +63,7 @@ F doc/json-enhancements.md e356fc834781f1f1aa22ee300027a270b2c960122468499bf347b F doc/jsonb.md ede3238186e3a90bb79d20b2a6a06d0f9429a38e069e9da0efbad0f2ed48b924 F doc/lemon.html 89ea833a6f71773ab1a9063fbb7fb9b32147bc0b1057b53ecab94a3b30c0aef5 F doc/pager-invariants.txt 83aa3a4724b2d7970cc3f3461f0295c46d4fc19a835a5781cbb35cb52feb0577 -F doc/tcl-extension-testing.md b10538db54c3eda7f8682c05328ced8a2043d3de7ddbd22ae3f2b6cc770006ce +F doc/tcl-extension-testing.md b88861804fc1eaf83249f8e206334189b61e150c360e1b80d0dcf91af82354f5 F doc/testrunner.md 15583cf8c7d8a1c3378fd5d4319ca769a14c4d950a5df9b015d01d5be290dc69 F doc/trusted-schema.md 33625008620e879c7bcfbbfa079587612c434fa094d338b08242288d358c3e8a F doc/vdbesort-memory.md 4da2639c14cd24a31e0af694b1a8dd37eaf277aff3867e9a8cc14046bc49df56 @@ -2216,8 +2216,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 c4c5dcb79c57f6e38cfe9b68b00e60e42d03ef30aeaefc5bf9dafed994849e1d -R 1aafbce6cec55668ed932a92db582aa3 +P c86315e538f4d75161faa72673927cde8be080c983f04a98491d1add14615038 +R e22f6e8195a60e01cd4d511f333ebac2 U stephan -Z da0b8bd6f0a90b2d384ef615e8494fec +Z cdf29b539adbf4afb90ada6e24ecd013 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index e48f2d6fc..9be9a3b1d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -c86315e538f4d75161faa72673927cde8be080c983f04a98491d1add14615038 +b53619ddb74fa250f03564d04e732248b4161d4d10d6f02268b7c95382d110ff |