diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:00:34 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:00:34 +0000 |
commit | 3f619478f796eddbba6e39502fe941b285dd97b1 (patch) | |
tree | e2c7b5777f728320e5b5542b6213fd3591ba51e2 /mysql-test/suite/sys_vars/t/all_vars.test | |
parent | Initial commit. (diff) | |
download | mariadb-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.test | 82 |
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 + |