summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/sys_vars/t/all_vars.test
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:00:34 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:00:34 +0000
commit3f619478f796eddbba6e39502fe941b285dd97b1 (patch)
treee2c7b5777f728320e5b5542b6213fd3591ba51e2 /mysql-test/suite/sys_vars/t/all_vars.test
parentInitial commit. (diff)
downloadmariadb-upstream.tar.xz
mariadb-upstream.zip
Adding upstream version 1:10.11.6.upstream/1%10.11.6upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/suite/sys_vars/t/all_vars.test')
-rw-r--r--mysql-test/suite/sys_vars/t/all_vars.test82
1 files changed, 82 insertions, 0 deletions
diff --git a/mysql-test/suite/sys_vars/t/all_vars.test b/mysql-test/suite/sys_vars/t/all_vars.test
new file mode 100644
index 00000000..41c89a4b
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/all_vars.test
@@ -0,0 +1,82 @@
+--source include/not_embedded.inc
+
+#
+# load everything we want to include in the testing
+#
+--disable_query_log
+--disable_result_log
+--disable_abort_on_error
+eval INSTALL PLUGIN archive SONAME "$HA_ARCHIVE_SO";
+eval INSTALL PLUGIN blackhole SONAME "$HA_BLACKHOLE_SO";
+eval INSTALL PLUGIN federated SONAME "$HA_FEDERATEDX_SO";
+eval INSTALL PLUGIN oqgraph SONAME "$HA_OQGRAPH_SO";
+eval INSTALL PLUGIN sphinx SONAME "$HA_SPHINX_SO";
+eval INSTALL PLUGIN innodb SONAME "$HA_INNODB_SO";
+--enable_abort_on_error
+--enable_result_log
+--enable_query_log
+
+#
+# This test verifies that *all* system variables are tested
+# by the sys_vars suite. For every system variable
+# there must be a <variable_name>_basic.test file.
+#
+
+#
+# we can diff in perl or in sql, as it's my_SQL_test suite, do it in sql
+#
+
+perl;
+ use File::Basename;
+ my $dirname=dirname($ENV{MYSQLTEST_FILE});
+ my @all_tests=<$dirname/*_basic{,_32,_64}.test>;
+ #*/
+ open(F, '>', "$ENV{MYSQLTEST_VARDIR}/tmp/sys_vars.all_vars.txt") or die;
+ binmode F;
+ print F join "\n", sort map { s/_basic(_32|_64)?\.test$//; basename $_ } @all_tests;
+EOF
+
+create table t1 (test_name text);
+create table t2 (variable_name text);
+--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
+eval load data infile "$MYSQLTEST_VARDIR/tmp/sys_vars.all_vars.txt" into table t1;
+
+insert into t2 select variable_name from information_schema.global_variables;
+insert into t2 select variable_name from information_schema.session_variables;
+
+# Performance schema variables are too long for files named
+# 'mysql-test/suite/sys_vars/t/' ...
+# ... 'performance_schema_events_waits_history_long_size_basic-master.opt'
+# to fit in the tar source distribution (limit in old tar)
+# Renaming the tests to aliases below.
+
+update t2 set variable_name= replace(variable_name, "PERFORMANCE_SCHEMA_", "PFS_");
+
+--sorted_result
+--lowercase_result
+select distinct variable_name as `There should be *no* long test name listed below:` from t2
+ where length(variable_name) > 50;
+
+--sorted_result
+--lowercase_result
+select distinct variable_name as `There should be *no* variables listed below:` from t2
+ left join t1 on variable_name=test_name where test_name is null;
+
+drop table t1;
+drop table t2;
+
+--disable_query_log
+--disable_result_log
+--disable_abort_on_error
+UNINSTALL PLUGIN archive;
+UNINSTALL PLUGIN blackhole;
+UNINSTALL PLUGIN federated;
+UNINSTALL PLUGIN oqgraph;
+UNINSTALL PLUGIN sphinx;
+UNINSTALL PLUGIN innodb;
+UNINSTALL PLUGIN rpl_semi_sync_master;
+UNINSTALL PLUGIN rpl_semi_sync_slave;
+--enable_abort_on_error
+--enable_result_log
+--enable_query_log
+