summaryrefslogtreecommitdiff
path: root/test/fuzzer2.test
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2021-05-06 20:08:52 +0000
committerCy Schubert <cy@FreeBSD.org>2021-05-06 20:08:52 +0000
commit8b10604cd15958e62b9d4eb62bcb925272583db1 (patch)
treef18f8ed9fdfeeca2b9c856949a4cae7057ed84a6 /test/fuzzer2.test
parenteccd5a4d3926c0716dd11bdf3242da56116f68c6 (diff)
Diffstat (limited to 'test/fuzzer2.test')
-rw-r--r--test/fuzzer2.test72
1 files changed, 0 insertions, 72 deletions
diff --git a/test/fuzzer2.test b/test/fuzzer2.test
deleted file mode 100644
index 44ee9e312c54..000000000000
--- a/test/fuzzer2.test
+++ /dev/null
@@ -1,72 +0,0 @@
-# 2016 February 4
-#
-# 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.
-#
-#***********************************************************************
-# The focus of the tests is the word-fuzzer virtual table. The tests
-# in this file are slower than those in fuzzer1.test. So this file does
-# not run as part of veryquick.test etc.
-#
-
-set testdir [file dirname $argv0]
-source $testdir/tester.tcl
-
-ifcapable !vtab {
- finish_test
- return
-}
-
-set ::testprefix fuzzer2
-load_static_extension db fuzzer
-
-#-------------------------------------------------------------------------
-# This test uses a fuzzer table with many rules. There is one rule to
-# map each possible two character string, where characters are lower-case
-# letters used in the English language, to all other possible two character
-# strings. In total, (26^4)-(26^2) mappings (the subtracted term represents
-# the no-op mappings discarded automatically by the fuzzer).
-#
-#
-do_execsql_test 1.1.1 {
- DROP TABLE IF EXISTS x1;
- DROP TABLE IF EXISTS x1_rules;
- CREATE TABLE x1_rules(ruleset, cFrom, cTo, cost);
-}
-puts "This test is slow - perhaps around 7 seconds on an average pc"
-do_test 1.1.2 {
- set LETTERS {a b c d e f g h i j k l m n o p q r s t u v w x y z}
- set cost 1
- db transaction {
- foreach c1 $LETTERS {
- foreach c2 $LETTERS {
- foreach c3 $LETTERS {
- foreach c4 $LETTERS {
- db eval {INSERT INTO x1_rules VALUES(0, $c1||$c2, $c3||$c4, $cost)}
- set cost [expr ($cost%1000) + 1]
- }
- }
- }
- }
- db eval {UPDATE x1_rules SET cost = 20 WHERE cost<20 AND cFrom!='xx'}
- }
-} {}
-
-do_execsql_test 1.2 {
- SELECT count(*) FROM x1_rules WHERE cTo!=cFrom;
-} [expr 26*26*26*26 - 26*26]
-
-do_execsql_test 1.2.1 {
- CREATE VIRTUAL TABLE x1 USING fuzzer(x1_rules);
- SELECT word FROM x1 WHERE word MATCH 'xx' LIMIT 10;
-} {xx hw hx hy hz ia ib ic id ie}
-do_execsql_test 1.2.2 {
- SELECT cTo FROM x1_rules WHERE cFrom='xx'
- ORDER BY cost asc, rowid asc LIMIT 9;
-} {hw hx hy hz ia ib ic id ie}
-
-finish_test