summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/mysqld--help.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/mysqld--help.test')
-rw-r--r--mysql-test/main/mysqld--help.test79
1 files changed, 79 insertions, 0 deletions
diff --git a/mysql-test/main/mysqld--help.test b/mysql-test/main/mysqld--help.test
new file mode 100644
index 00000000..ad2307f4
--- /dev/null
+++ b/mysql-test/main/mysqld--help.test
@@ -0,0 +1,79 @@
+#
+# mysqld --help
+#
+--source include/not_embedded.inc
+--source include/not_asan.inc
+--source include/not_ubsan.inc
+--source include/have_perfschema.inc
+--source include/have_profiling.inc
+--source include/platform.inc
+
+#
+# force lower-case-table-names=1 (linux/macosx have different defaults)
+# force symbolic-links=0 (valgrind build has a different default)
+#
+
+exec $MYSQLD_BOOTSTRAP_CMD --symbolic-links=0 --log-bin=foo --lower-case-table-names=1 --help --verbose > $MYSQL_TMP_DIR/mysqld--help.txt 2>&1;
+
+# The inline perl code below will copy $MYSQL_TMP_DIR/mysqld--help.txt
+# to output, but filter away some variable stuff (e.g. paths).
+
+perl;
+ # Variables which we don't want to display in the result file since
+ # their paths may vary:
+ @skipvars=qw/basedir open-files-limit general-log-file log plugin-dir plugin-maturity
+ log-slow-queries pid-file slow-query-log-file log-basename
+ log-slow-query-file
+ datadir slave-load-tmpdir tmpdir socket thread-pool-size
+ large-files-support lower-case-file-system system-time-zone
+ collation-server character-set-server log-tc-size table-cache
+ table-open-cache table-open-cache-instances max-connections
+ tls-version version.* password-reuse-check
+ provider-bzip2 provider-lzma provider-lzo
+ password-reuse-check-interval/;
+
+ # Plugins which may or may not be there:
+ @plugins=qw/innodb archive blackhole federated partition s3
+ feedback debug temp-pool ssl des-key-file xtradb sequence
+ thread-concurrency super-large-pages mutex-deadlock-detector
+ connect null-audit aria oqgraph sphinx thread-handling
+ test-sql-discovery query-cache-info password-reuse-check
+ query-response-time metadata-lock-info locales unix-socket
+ wsrep file-key-management cracklib-password-check user-variables
+ provider-bzip2 provider-lzma provider-lzo
+ thread-pool-groups thread-pool-queues thread-pool-stats
+ thread-pool-waits hashicorp provider gssapi/;
+
+ # And substitute the content some environment variables with their
+ # names:
+ @env=qw/MYSQLTEST_VARDIR MYSQL_TEST_DIR MYSQL_CHARSETSDIR MYSQL_SHAREDIR/;
+
+ $re1=join('|', @skipvars, @plugins);
+ $re2=join('|', @plugins);
+ $skip=0;
+ open(F, '<', "$ENV{MYSQL_TMP_DIR}/mysqld--help.txt") or die;
+ print "Windows bug: new line disappears when it is exactly at the right offset.\n";
+ while (<F>) {
+ next if 1../The following groups are read/;
+ # formatting, skip line consisting entirely of dashes and blanks
+ next if /^[\- ]+\s?$/;
+ next if /Value \(after reading options\)/; # skip table header
+ next if /^($re1) /;
+ next if /^($re2)-/;
+ $skip=0 if /^ -/ or /^$/;
+ $skip=1 if / --($re2)\b/;
+ y!\\!/!;
+ s/[ ]+/ /; # squeeze spaces to remove table formatting
+ # fixes for 32-bit
+ s/\b4294967295\b/18446744073709551615/;
+ s/\b2146435072\b/9223372036853727232/;
+ s/\b392192\b/299008/;
+ s/\b4294963200\b/18446744073709547520/;
+ foreach $var (@env) { s/\Q$ENV{$var}\E/$var/ }
+ next if /use --skip-(use-)?symbolic-links to disable/; # for valgrind, again
+ next if $skip;
+ print;
+ }
+ close F;
+EOF
+