]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove a few unsuitable scripts from the "veryquick" test suite. Also have every...
authordan <Dan Kennedy>
Mon, 18 Jul 2022 19:32:30 +0000 (19:32 +0000)
committerdan <Dan Kennedy>
Mon, 18 Jul 2022 19:32:30 +0000 (19:32 +0000)
FossilOrigin-Name: 22d280a5cd395abbedcfffbac3d3b3a614c327be25763ca380c1338a2a7bd33a

18 files changed:
ext/fts5/test/fts5ah.test
manifest
manifest.uuid
test/busy2.test
test/joinD.test
test/memjournal2.test
test/permutations.test
test/round1.test
test/temptable2.test
test/testrunner.tcl
test/vacuum6.test
test/vacuummem.test
test/view.test
test/view3.test [new file with mode: 0644]
test/wal3.test
test/walsetlk.test
test/walvfs.test
test/win32lock.test

index 24613f5c4152786d531480bd987d34fc2b229930..0004351375129a9eeb342f095a8f03ab063247f1 100644 (file)
@@ -11,6 +11,7 @@
 # This file implements regression tests for SQLite library.  The
 # focus of this script is testing the FTS5 module.
 #
+# TESTRUNNER: slow
 
 source [file join [file dirname [info script]] fts5_common.tcl]
 set testprefix fts5ah
index 6557c11db1a54f98d9995eea49f1118c15dacfa5..4317eedeecac5d0c47258f351a30392c9efdc0bb 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sthe\s"testrunner"\smakefile\starget.
-D 2022-07-18T18:13:02.443
+C Remove\sa\sfew\sunsuitable\sscripts\sfrom\sthe\s"veryquick"\stest\ssuite.\sAlso\shave\severy\ssecond\stestrunner.tcl\sprocess\sfavour\srunning\stest\sscripts\sthat\scontain\stext\slike\s"testrunner:\sslow"\sbefore\sany\sothers.
+D 2022-07-18T19:32:30.436
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -156,7 +156,7 @@ F ext/fts5/test/fts5ad.test e8cf959dfcd57c8e46d6f5f25665686f3b6627130a9a981371da
 F ext/fts5/test/fts5ae.test 1142d16d9cc193894dc13cc8f9c7a8a21411ac61b5567a878514df6f9f0d7bb7
 F ext/fts5/test/fts5af.test bea75184c0e63631b552c20ebe4a631699f357e00a2059c92538f7aeece8291e
 F ext/fts5/test/fts5ag.test 7816f25a0707578f08145ab539fc0ca025f8951e788b28a6a18a06b2099469dd
-F ext/fts5/test/fts5ah.test 27b5a33bfd0363ca8a4dc659e6e2a5df3dea1c3c5b04bc51ca6aeb1277bd9b21
+F ext/fts5/test/fts5ah.test 2f047dfe89dc8611fa53e3d8bfc453b79cff037aa423c8d171e91e645745aa2c
 F ext/fts5/test/fts5ai.test bc97e4758cc93e06bf851d61c98fdf4e8b8f8315ee28a84fb15f916360856414
 F ext/fts5/test/fts5aj.test 745020852d85f5dd49d11cb7ad11d3cc6dafc4fe6d6d24bc0875ac8f43ee4149
 F ext/fts5/test/fts5ak.test fc3595f8e6873bb86d70c9bd4b67d0413ce577bd4793c39a2b60a7b8825b60a6
@@ -775,7 +775,7 @@ F test/btree01.test fef17d9e999ac4f04095948e3438fbe674f4e07bb2c63bb1cad41d87baee
 F test/btree02.test 7555a5440453d900410160a52554fe6478af4faf53098f7235f1f443d5a1d6cc
 F test/btreefault.test c2bcb542685eea44621275cfedbd8a13f65201e3
 F test/busy.test 510dc6daaad18bcbbc085bcc6217d6dc418def5e73f72ce1475eea0cb7834727
-F test/busy2.test dbfb61b3265e7a962d3bcd32cd542bbe3d7801edbda6438d35af5aa707cae981
+F test/busy2.test 20823a5d7c42fb257d9f108c66312d90b1bb4ec3d80ba6b4e371073727560f98
 F test/cache.test 13bc046b26210471ca6f2889aceb1ea52dc717de
 F test/cacheflush.test af25bb1509df04c1da10e38d8f322d66eceedf61
 F test/cachespill.test 895997f84a25b323b166aecb69baab2d6380ea98f9e0bcc688c4493c535cfab9
@@ -1174,7 +1174,7 @@ F test/join9.test 9056ddd3b0c0f4f9d658f4521038d9a37dc23ead8ca9a505d0b0db2b6a471e
 F test/joinA.test 7eab225dc1c1ab258a5e62513a4ed7cabbd3db971d59d5d92f4fb6fa14c12f6a
 F test/joinB.test 1b2ba3fc8568b49411787fccbf540570c148e9b6a53a30f80691cb6268098ded
 F test/joinC.test 1f1a602c2127f55f136e2cbd3bf2d26546614bf8cffe5902ec1ac9c07f87f207
-F test/joinD.test 1a430af8dac5b68663f13df534ffe98775e582bac2305b80f1e8eb4ab778672a
+F test/joinD.test 2ce62e7353a0702ca5e70008faf319c1d4686aa19fba34275c6d1da0e960be28
 F test/joinE.test d5d182f3812771e2c0d97c9dcf5dbe4c41c8e21c82560e59358731c4a3981d6b
 F test/joinF.test 53dd66158806823ea680dd7543b5406af151b5aafa5cd06a7f3231cd94938127
 F test/joinH.test e67d1d6a8c7141caf981a07386caa7fda0362baa09e03669f9a4fbee812806d0
@@ -1241,7 +1241,7 @@ F test/mem5.test c6460fba403c5703141348cd90de1c294188c68f
 F test/memdb.test c1f2a343ad14398d5d6debda6ea33e80d0dafcc7
 F test/memdb1.test 2c4e9cc10d21c6bf4e217d72b7f6b8ba9b2605971bb2c5e6df76018e189f98f5
 F test/memjournal.test 70f3a00c7f84ee2978ad14e831231caa1e7f23915a2c54b4f775a021d5740c6c
-F test/memjournal2.test 89a4e0d1084170a281efa4d54c2677599f986f44227f98f7dfae282802737b65
+F test/memjournal2.test 6b9083cfaab9a3281ec545c3da2487999e8025fb7501bbae10f713f80c56454c
 F test/memleak.test 10b9c6c57e19fc68c32941495e9ba1c50123f6e2
 F test/memsubsys1.test 9e7555a22173b8f1c96c281ce289b338fcba2abe8b157f8798ca195bbf1d347e
 F test/memsubsys2.test 3e4a8d0c05fd3e5fa92017c64666730a520c7e08
@@ -1318,7 +1318,7 @@ F test/parser1.test 6ccdf5e459a5dc4673d3273dc311a7e9742ca952dd0551a6a6320d27035c
 F test/pcache.test c8acbedd3b6fd0f9a7ca887a83b11d24a007972b
 F test/pcache2.test af7f3deb1a819f77a6d0d81534e97d1cf62cd442
 F test/percentile.test 4243af26b8f3f4555abe166f723715a1f74c77ff
-F test/permutations.test cf5f31bab83a452288b2a050880152cdf99d62e9aab71948268d549debcc6942
+F test/permutations.test 909c84575ac50f6d30fa125a109a01986e08c26b9ea38d28501a0711b50b5627
 F test/pg_common.tcl 3b27542224db1e713ae387459b5d117c836a5f6e328846922993b6d2b7640d9f
 F test/pragma.test cae534c12a033a5c319ccc94f50b32811acdef9f67bf19a82ff42697caccd69f
 F test/pragma2.test e5d5c176360c321344249354c0c16aec46214c9f
@@ -1354,7 +1354,7 @@ F test/returningfault.test ae4c4b5e8745813287a359d9ccdb9d5c883c2e68afb18fb076793
 F test/rollback.test 06680159bc6746d0f26276e339e3ae2f951c64812468308838e0a3362d911eaa
 F test/rollback2.test 3f3a4e20401825017df7e7671e9f31b6de5fae5620c2b9b49917f52f8c160a8f
 F test/rollbackfault.test 0e646aeab8840c399cfbfa43daab46fd609cf04a
-F test/round1.test 768018b04522ca420b1aba8a24bd76091d269f3bce3902af3ec6ebcee41ab21e
+F test/round1.test 1bb32cf3fc505eed9e86b5e523d07e15d4428189665524587512fbcc85d114bb
 F test/rowallock.test 3f88ec6819489d0b2341c7a7528ae17c053ab7cc
 F test/rowhash.test 0bc1d31415e4575d10cacf31e1a66b5cc0f8be81
 F test/rowid.test e29025be95baf6b32f0d5edef59a7633028325896a98f1caa8019559ca910350
@@ -1503,11 +1503,11 @@ F test/tempdb.test 4cdaa23ddd8acb4d79cbb1b68ccdfd09b0537aaba909ca69a876157c2a2cb
 F test/tempdb2.test 353864e96fd3ae2f70773d0ffbf8b1fe48589b02c2ec05013b540879410c3440
 F test/tempfault.test 0c0d349c9a99bf5f374655742577f8712c647900
 F test/temptable.test d2c9b87a54147161bcd1822e30c1d1cd891e5b30
-F test/temptable2.test d2940417496e2b9548e01d09990763fbe88c316504033256d51493e1f1a5ce6a
+F test/temptable2.test 76821347810ecc88203e6ef0dd6897b6036ac788e9dd3e6b04fd4d1631311a16
 F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
 F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc
 F test/tester.tcl d759ac44a501fb832f2ea966429ca18acfba0f9a8d34ad5c499332b079b37023
-F test/testrunner.tcl 6aabdfcbfc489cc666720048606e5f9e62b8e17a3cfaf36a81fc587d9e7c39cb
+F test/testrunner.tcl 86b57135754ab2160aeb04b4829d321fb285a5cfa7a505fe61d69aed605854cc
 F test/thread001.test b61a29dd87cf669f5f6ac96124a7c97d71b0c80d9012746072055877055cf9ef
 F test/thread002.test e630504f8a06c00bf8bbe68528774dd96aeb2e58
 F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
@@ -1734,12 +1734,13 @@ F test/vacuum2.test 9fd45ce6ce29f5614c249e03938d3567c06a9e772d4f155949f8eafe2d8a
 F test/vacuum3.test d9d9a04ee58c485b94694fd4f68cffaba49c32234fdefe1ac1a622c5e17d4ce3
 F test/vacuum4.test 7ea76b769fffeb41f925303b04cbcf5a5bbeabe55e4c60ae754ff24eeeb7c010
 F test/vacuum5.test 263b144d537e92ad8e9ca8a73cc6e1583f41cfd0dda9432b87f7806174a2f48c
-F test/vacuum6.test d3173a54edc81d13d99e4cf4972232b3cbb52f1d56ed48c3a939ef4e751c1ee8
-F test/vacuummem.test 7b42abb3208bd82dd23a7536588396f295a314f2
+F test/vacuum6.test b137b04bf3392d3f5c3b8fda0ce85a6775a70ca112f6559f74ff52dc9ce042fd
+F test/vacuummem.test 4b30f5b95a9ff86e9d5c20741e50a898b2dc10b0962a3211571eb165357003fb
 F test/varint.test bbce22cda8fc4d135bcc2b589574be8410614e62
 F test/veryquick.test 57ab846bacf7b90cf4e9a672721ea5c5b669b661
-F test/view.test d654fbadae82f936c2a820bbc892592085467548ff59e88acef201416e9fe48a
+F test/view.test d16e49e89ada6137d1447777ef2a74574526a3b024e6733bf53ae2960da8c17c
 F test/view2.test db32c8138b5b556f610b35dfddd38c5a58a292f07fda5281eedb0851b2672679
+F test/view3.test ad8a8290ee2b55ff6ce66c9ef1ce3f1e47926273a3814e1c425293e128a95456
 F test/vtab1.test 09a72330d0f31eda2ffaa828b06a6b917fb86250ee72de0301570af725774c07
 F test/vtab2.test 14d4ab26cee13ba6cf5c5601b158e4f57552d3b055cdd9406cf7f711e9c84082
 F test/vtab3.test b45f47d20f225ccc9c28dc915d92740c2dee311e
@@ -1767,7 +1768,7 @@ F test/vtabdrop.test 65d4cf6722972e5499bdaf0c0d70ee3b8133944a4e4bc31862563f32a7e
 F test/vtabrhs1.test 9b5ecbc74a689500c33a4b2b36761f9bcc22fcc4e3f9d21066ee0c9c74cf5f6c
 F test/wal.test b7cc6984709f54afbf8441747ced1f646af120bf0c1b1d847bfa39306fbea089
 F test/wal2.test 31f6e2c404b9f2cdf9ca19b105a1742fdc19653c2c936da39e3658c617524046
-F test/wal3.test 2a93004bc0fb2b5c29888964024695bade278ab2
+F test/wal3.test 5de023bb862fd1eb9d2ad26fa8d9c43abb5370582e5b08b2ae0d6f93661bc310
 F test/wal4.test 4744e155cd6299c6bd99d3eab1c82f77db9cdb3c
 F test/wal5.test 9c11da7aeccd83a46d79a556ad11a18d3cb15aa9
 F test/wal6.test b602704e4b066199bc89d91ca9000f335dcf4572
@@ -1796,11 +1797,11 @@ F test/walprotocol2.test 7d3b6b4bf0b12f8007121b1e6ef714bc99101fb3b48e46371df1db8
 F test/walro.test cb438d05ba0d191f10b688e39c4f0cd5b71569a1d1f4440e5bdf3c6880e08c20
 F test/walro2.test 33955a6fd874dd9724005e17f77fef89d334b3171454a1256fe4941a96766cdc
 F test/walrofault.test c70cb6e308c443867701856cce92ad8288cd99488fa52afab77cca6cfd51af68
-F test/walsetlk.test 3185bebc90557e0d611442c8d64f7a0cb7b06f8e156eea37a4a7358f722715be
+F test/walsetlk.test c084796fc1d908957eaeba00caf85a575565be17e3333a60d5b72fe75c150387
 F test/walshared.test 0befc811dcf0b287efae21612304d15576e35417
 F test/walslow.test c05c68d4dc2700a982f89133ce103a1a84cc285f
 F test/walthread.test 14b20fcfa6ae152f5d8e12f5dc8a8a724b7ef189f5d8ef1e2ceab79f2af51747
-F test/walvfs.test bccb3e0d235ef85e276f491d34db32c9ada1ea67be8d9f10aabe7b30319ec656
+F test/walvfs.test e1a6ad0f3c78e98b55c3d5f0889cf366cc0d0a1cb2bccb44ac9ec67384adc4a1
 F test/wapp.tcl b440cd8cf57953d3a49e7ee81e6a18f18efdaf113b69f7d8482b0710a64566ec
 F test/wapptest.tcl e3b6d5afa021c39a0f459ea9fbd1077459c1d81fca98eb40af8404ad3fc2360f x
 F test/where.test d13cd7c24e80009d2b54e2f7a8893c457afa49c64f99359c9eb3fe668ba1d9d4
@@ -1830,7 +1831,7 @@ F test/wherelfault.test 9012e4ef5259058b771606616bd007af5d154e64cc25fa9fd4170f64
 F test/wherelimit.test afb46397c6d7e964e6e294ba3569864a0c570fe3807afc634236c2b752372f31
 F test/wherelimit2.test 657a3f24aadee62d058c5091ea682dc4af4b95ffe32f137155be49799a58e721
 F test/win32heap.test 10fd891266bd00af68671e702317726375e5407561d859be1aa04696f2aeee74
-F test/win32lock.test fbf107c91d8f5512be5a5b87c4c42ab9fdd54972
+F test/win32lock.test e0924eb8daac02bf80e9da88930747bd44dd9b230b7759fed927b1655b467c9c
 F test/win32longpath.test 4baffc3acb2e5188a5e3a895b2b543ed09e62f7c72d713c1feebf76222fe9976
 F test/win32nolock.test ac4f08811a562e45a5755e661f45ca85892bdbbc
 F test/window1.test ae87c4ea4e689725c7e1c826ab2b10704d5b6d31f9b9e5abadded996ba53a1d4
@@ -1980,8 +1981,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P aab790a16e1bdff78759f9c9ae87a2559ba82dd34ef3dedfb66035a0db7067a7
-R b6d707203a036684fda75ff3a29c2d2f
-U drh
-Z 77fead86530d150ae088efbd70f2d25e
+P 954c6593152f8c7372ed1233b32cce153d0ce4804869cf4ec5504d106a4920a2
+R 9670f05875ab585d41bfeed2ab20423d
+U dan
+Z 35daffda51481f646d4c20758c239b69
 # Remove this line to create a well-formed Fossil manifest.
index ec60a5aa85e45d21f1bec2066ac903d8f5eb3c95..cf901c6031089f92057567522f587606046fa96a 100644 (file)
@@ -1 +1 @@
-954c6593152f8c7372ed1233b32cce153d0ce4804869cf4ec5504d106a4920a2
\ No newline at end of file
+22d280a5cd395abbedcfffbac3d3b3a614c327be25763ca380c1338a2a7bd33a
\ No newline at end of file
index 61fb8496a82bea43dc72b9301a9c6ae1b9f925f2..ec420c8b2095aab038fa3416e5a2ee9e2fdaaf4d 100644 (file)
@@ -10,6 +10,7 @@
 #***********************************************************************
 # This file test the busy handler
 #
+# TESTRUNNER: slow
 
 
 set testdir [file dirname $argv0]
index c520d6a285cfc09ebe9259aa8623352dc1211307..e4e4553b6c14aec0b5e9984f873da26cd227fe96 100644 (file)
@@ -10,6 +10,8 @@
 #
 #***********************************************************************
 #
+# TESTRUNNER: slow
+#
 # This file implements tests for JOINs that use Bloom filters.
 #
 # The test case output is (mostly) all generated by PostgreSQL 14.  This
index 97d35a98d13937678b2a37567efd333560d47df6..ec5ba56da3ef5370100a6929c3dcb6aebf9f3750 100644 (file)
@@ -10,6 +10,7 @@
 #***********************************************************************
 # Tests focused on the in-memory journal.
 #
+# TESTRUNNER: slow
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
index f2710da0f14624b3a7d3c740e3a92c32821dcf85..c5044e1a6df2a4f889da70fb134bf4562bbfd84c 100644 (file)
@@ -132,6 +132,10 @@ set allquicktests [test_set $alltests -exclude {
 
   rtree4.test
   sessionbig.test
+
+  writecrash.test view3.test 
+  fts5dlidx.test fts5ac.test fts4merge3.test fts5prefix.test
+  sessionB.test
 }]
 if {[info exists ::env(QUICKTEST_INCLUDE)]} {
   set allquicktests [concat $allquicktests $::env(QUICKTEST_INCLUDE)]
index ba2c79eabac6081b6aff8cb76ed5c3f8677810fc..2244a399ab018d598706958400c1959d584eaa67 100644 (file)
@@ -10,6 +10,7 @@
 #***********************************************************************
 # Test cases for rounding behavior of floating point values.
 #
+# TESTRUNNER: slow
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
index d9402144957045a8e514437924d3ebe02cc8713d..2ee4adb9f76b3d79d53c4621f6dc46aa6e90ba6b 100644 (file)
@@ -8,6 +8,9 @@
 #    May you share freely, never taking more than you give.
 #
 #***********************************************************************
+#
+# TESTRUNNER: slow
+#
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
index c471473d908d3ac9786cd691394de201d93da187..da4efde267ee9854a66d447a755344b3ee1b90ee 100644 (file)
@@ -58,6 +58,7 @@ set R(schema) {
   CREATE TABLE script(
     config TEXT,
     filename TEXT,                -- full path to test script
+    slow BOOLEAN,                 -- true if script is "slow"
     state TEXT CHECK( state IN ('ready', 'running', 'done') ),
     testfixtureid,                -- Id of process that ran script
     time INTEGER,                 -- Time in ms
@@ -271,8 +272,23 @@ proc make_new_testset {} {
     db eval $R(schema)
     foreach t $tests {
       foreach {c s} $t {}
+      set slow 0
+
+      set fd [open $s]
+      for {set ii 0} {$ii<100 && ![eof $fd]} {incr ii} {
+        set line [gets $fd]
+        if {[string match -nocase *testrunner:* $line]} {
+          regexp -nocase {.*testrunner:(.*)} $line -> properties
+          foreach p $properties {
+            if {$p=="slow"} { set slow 1 }
+          }
+        }
+      }
+      close $fd
+
       db eval { 
-        INSERT INTO script(config, filename, state) VALUES ($c, $s, 'ready') 
+        INSERT INTO script(config, filename, slow, state) 
+            VALUES ($c, $s, $slow, 'ready') 
       }
     }
   }
@@ -294,7 +310,12 @@ proc get_next_test {} {
     set c ""
     db eval {
       SELECT config, filename FROM script WHERE state='ready' 
-      ORDER BY config!='full', config, filename LIMIT 1
+      ORDER BY 
+        (slow * (($myid+1) % 2)) DESC, 
+        config!='full', 
+        config,
+        filename
+      LIMIT 1
     } {
       set c $config
       set f $filename
index e9a1542f25d1736b2fd9751d7117807111c82c92..f80ff7546295ffb74afdd3661feabd87a529d958 100644 (file)
@@ -11,6 +11,7 @@
 # 
 # This file implements a test for VACUUM on attached databases.
 #
+# TESTRUNNER: slow
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
index 0f77c1b4007f5835076876945807033b258730a4..9668b0ea90b37f1ba02bf5390035ee3f9c9e30c8 100644 (file)
@@ -12,6 +12,7 @@
 # focus of this file is testing that the VACUUM statement correctly
 # frees any memory used for a temporary cache.
 #
+# TESTRUNNER: slow
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
index 85202d7d06cb8e078a8e772728206bc366f7fa28..b0b6da2686f9ef24c6eac4e08053a4c3138f20b1 100644 (file)
@@ -649,41 +649,6 @@ do_test view-20.1 {
   }
 } {}
 
-# Ticket [d58ccbb3f1b]: Prevent Table.nRef overflow.
-db close
-sqlite3 db :memory:
-do_test view-21.1 {
-  catchsql {
-    CREATE TABLE t1(x);
-    INSERT INTO t1 VALUES(5);
-    CREATE VIEW v1 AS SELECT x*2 FROM t1;
-    CREATE VIEW v2 AS SELECT * FROM v1 UNION SELECT * FROM v1;
-    CREATE VIEW v4 AS SELECT * FROM v2 UNION SELECT * FROM v2;
-    CREATE VIEW v8 AS SELECT * FROM v4 UNION SELECT * FROM v4;
-    CREATE VIEW v16 AS SELECT * FROM v8 UNION SELECT * FROM v8;
-    CREATE VIEW v32 AS SELECT * FROM v16 UNION SELECT * FROM v16;
-    CREATE VIEW v64 AS SELECT * FROM v32 UNION SELECT * FROM v32;
-    CREATE VIEW v128 AS SELECT * FROM v64 UNION SELECT * FROM v64;
-    CREATE VIEW v256 AS SELECT * FROM v128 UNION SELECT * FROM v128;
-    CREATE VIEW v512 AS SELECT * FROM v256 UNION SELECT * FROM v256;
-    CREATE VIEW v1024 AS SELECT * FROM v512 UNION SELECT * FROM v512;
-    CREATE VIEW v2048 AS SELECT * FROM v1024 UNION SELECT * FROM v1024;
-    CREATE VIEW v4096 AS SELECT * FROM v2048 UNION SELECT * FROM v2048;
-    CREATE VIEW v8192 AS SELECT * FROM v4096 UNION SELECT * FROM v4096;
-    CREATE VIEW v16384 AS SELECT * FROM v8192 UNION SELECT * FROM v8192;
-    CREATE VIEW v32768 AS SELECT * FROM v16384 UNION SELECT * FROM v16384;
-    SELECT * FROM v32768 UNION SELECT * FROM v32768;
-  }
-} {1 {too many references to "v1": max 65535}}
-ifcapable progress {
-  do_test view-21.2 {
-    db progress 1000 {expr 1}
-    catchsql {
-      SELECT * FROM v32768;
-    }
-  } {1 interrupted}
-}
-
 db close
 sqlite3 db :memory:
 do_execsql_test view-22.1 {
diff --git a/test/view3.test b/test/view3.test
new file mode 100644 (file)
index 0000000..60dd694
--- /dev/null
@@ -0,0 +1,60 @@
+# 2022 July 19
+#
+# The author disclaims copyright to this source code.  In place of
+# a legal notice, here is a blessing:
+#
+#    May you do good and not evil.
+#    May you find forgiveness for yourself and forgive others.
+#    May you share freely, never taking more than you give.
+#
+#***********************************************************************
+# This file implements regression tests for SQLite library.  The
+# focus of this file is testing VIEW statements.
+#
+set testdir [file dirname $argv0]
+source $testdir/tester.tcl
+
+# Omit this entire file if the library is not configured with views enabled.
+ifcapable !view {
+  finish_test
+  return
+}
+set testprefix view3
+
+# Ticket [d58ccbb3f1b]: Prevent Table.nRef overflow.
+db close
+sqlite3 db :memory:
+do_test 1.1 {
+  catchsql {
+    CREATE TABLE t1(x);
+    INSERT INTO t1 VALUES(5);
+    CREATE VIEW v1 AS SELECT x*2 FROM t1;
+    CREATE VIEW v2 AS SELECT * FROM v1 UNION SELECT * FROM v1;
+    CREATE VIEW v4 AS SELECT * FROM v2 UNION SELECT * FROM v2;
+    CREATE VIEW v8 AS SELECT * FROM v4 UNION SELECT * FROM v4;
+    CREATE VIEW v16 AS SELECT * FROM v8 UNION SELECT * FROM v8;
+    CREATE VIEW v32 AS SELECT * FROM v16 UNION SELECT * FROM v16;
+    CREATE VIEW v64 AS SELECT * FROM v32 UNION SELECT * FROM v32;
+    CREATE VIEW v128 AS SELECT * FROM v64 UNION SELECT * FROM v64;
+    CREATE VIEW v256 AS SELECT * FROM v128 UNION SELECT * FROM v128;
+    CREATE VIEW v512 AS SELECT * FROM v256 UNION SELECT * FROM v256;
+    CREATE VIEW v1024 AS SELECT * FROM v512 UNION SELECT * FROM v512;
+    CREATE VIEW v2048 AS SELECT * FROM v1024 UNION SELECT * FROM v1024;
+    CREATE VIEW v4096 AS SELECT * FROM v2048 UNION SELECT * FROM v2048;
+    CREATE VIEW v8192 AS SELECT * FROM v4096 UNION SELECT * FROM v4096;
+    CREATE VIEW v16384 AS SELECT * FROM v8192 UNION SELECT * FROM v8192;
+    CREATE VIEW v32768 AS SELECT * FROM v16384 UNION SELECT * FROM v16384;
+    SELECT * FROM v32768 UNION SELECT * FROM v32768;
+  }
+} {1 {too many references to "v1": max 65535}}
+ifcapable progress {
+  do_test 1.2 {
+    db progress 1000 {expr 1}
+    catchsql {
+      SELECT * FROM v32768;
+    }
+  } {1 interrupted}
+}
+
+
+finish_test
index 56f40ab539193ecc0f332fbb5e67c5a0e7db0028..cb28d0f0b9295642f268ee0f6ff88f9c01e5af27 100644 (file)
@@ -12,6 +12,7 @@
 # focus of this file is testing the operation of the library in
 # "PRAGMA journal_mode=WAL" mode.
 #
+# TESTRUNNER: slow
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
index 8c0a9659f7f72689bb029e82f73a2f392a890c6e..2f2f90ce3166f703df38d070af932733ded44cdf 100644 (file)
@@ -9,6 +9,8 @@
 #
 #***********************************************************************
 #
+# TESTRUNNER: slow
+#
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
index d6c58656f0d8f2485538855c8fecc8b95ab0ca31..d32cbd73f1b70bb672a640abe6c3fe0d2d64ae41 100644 (file)
@@ -12,6 +12,7 @@
 # focus of this file is testing the operation of the library in
 # "PRAGMA journal_mode=WAL" mode.
 #
+# TESTRUNNER: slow
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
index d1f3d1a06e7be2dc4554c9e01927f9cb8258b3e5..fbb2dd13cd4f7c5b1764a689769e70fba71ec962 100644 (file)
@@ -12,6 +12,8 @@
 # focus of this script is recovery from transient manditory locks
 # that sometimes appear on database files due to anti-virus software.
 #
+# TESTRUNNER: slow
+#
 
 if {$tcl_platform(platform)!="windows"} return