Add an option for `clickhouse-client` with a list of tests for extensive fuzzing.
Processing of these tests will be interleaved between every other tests, so we will get much better fuzzing coverage.
}
                auto base_after_fuzz = fuzz_base->formatForErrorMessage();
                // Debug AST cloning errors.
                e_after_fuzz)
                {
                    fmt::print(stderr,
                        "Base before fuzz: {}\n"
                        "Base after fuzz: {}\n",
                        base_before_fuzz, base_after_fuzz);
                    fmt::print(stderr, "Dump before fuzz:\n{}\n", dump_before_fuzz.str());
                    fmt::print(stderr, "Dump of cloned AST:\n{}\n", dump_of_cloned_ast.str());
                    fmt::print(stderr, "Dump after fuzz:\n");
                    WriteBufferFromOStream cerr_buf(std::cerr, 4096);
                    fuzz_base->dumpTree(cerr_buf);
                    cerr_buf.next();
                    fmt::print(stderr, "IAST::clone() is broken for some AST node. This is a bug. The original AST ('dump before fuzz') and its cloned copy ('dump of cloned AST') refer to the same nodes, which must never happen. This means that their parent node doesn't implement clone() correctly.");
                    assert(false);
                }
                auto fuzzed_text = ast_to_process->formatForErrorMessage();
                if (fuzz_step > 0 && fuzzed_text == base_before_fuzz)
                {
                    fmt::print(stderr, "Got boring AST\n");
                    continue;
                }
                parsed_query = ast_to_process;
                query_to_send = parsed_query->formatForErrorMessage();
                processParsedSingleQuery();
            }
            catch (...)
            {