mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-15 16:00:23 +00:00
More fixes as per the reviews.
- Took out ${prefix}- - get_var sanity - pt-mysql-summary now follows pt-summary's suit and doesn't take in files to write to - pt-summary defers setting the CMD_FOO vars to a function, as otherwise it would skip our PATH mungling.
This commit is contained in:
@@ -30,7 +30,7 @@ file_count=$(ls "$p" | wc -l)
|
||||
|
||||
is $file_count 12 "Creates the correct number of files (without --databases)"
|
||||
|
||||
awk '{print $1}' "$p/percona-toolkit-mysqld-instances" > "$TMPDIR/collect_mysqld_instances1.test"
|
||||
awk '{print $1}' "$p/mysqld-instances" > "$TMPDIR/collect_mysqld_instances1.test"
|
||||
ps ww -p "$(_pidof mysqld | sed -e "s/ /,/g")" | awk '{print $1}' > "$TMPDIR/collect_mysqld_instances2.test"
|
||||
|
||||
no_diff \
|
||||
@@ -38,7 +38,7 @@ no_diff \
|
||||
"$TMPDIR/collect_mysqld_instances2.test" \
|
||||
"collect_mysql_info() finds the correct instances"
|
||||
|
||||
collect_mysqld_instances "$TMPDIR/collect_mysqld_instances3.test"
|
||||
collect_mysqld_instances /dev/null > "$TMPDIR/collect_mysqld_instances3.test"
|
||||
|
||||
awk '{print $1}' "$TMPDIR/collect_mysqld_instances3.test"> "$TMPDIR/collect_mysqld_instances4.test"
|
||||
|
||||
@@ -52,7 +52,7 @@ $CMD_MYSQL $EXT_ARGV -ss -e 'SHOW /*!50000 GLOBAL*/ STATUS' > "$TMPDIR/collect_m
|
||||
|
||||
|
||||
# TODO This is still pretty fragile.
|
||||
awk '{print $1}' "$p/percona-toolkit-mysql-status" | sort > "$TMPDIR/collect_mysql_status_collect"
|
||||
awk '{print $1}' "$p/mysql-status" | sort > "$TMPDIR/collect_mysql_status_collect"
|
||||
awk '{print $1}' "$TMPDIR/collect_mysql_status" | sort > "$TMPDIR/collect_mysql_status_manual"
|
||||
|
||||
no_diff \
|
||||
@@ -60,7 +60,7 @@ no_diff \
|
||||
"$TMPDIR/collect_mysql_status_manual" \
|
||||
"collect_mysql_status works the same than if done manually"
|
||||
|
||||
port="$(get_var port "$p/percona-toolkit-mysql-variables")"
|
||||
port="$(get_var port "$p/mysql-variables")"
|
||||
|
||||
is \
|
||||
$port \
|
||||
@@ -70,14 +70,14 @@ is \
|
||||
# collect_internal_vars
|
||||
pat='pt-summary-internal-user\|pt-summary-internal-FNV_64\|pt-summary-internal-trigger_count\|pt-summary-internal-symbols'
|
||||
|
||||
collect_internal_vars "$TMPDIR/collect_internal_vars"
|
||||
collect_internal_vars > "$TMPDIR/collect_internal_vars"
|
||||
is \
|
||||
"$( grep $pat "$p/percona-toolkit-mysql-variables" )" \
|
||||
"$( grep $pat "$p/mysql-variables" )" \
|
||||
"$( grep $pat "$TMPDIR/collect_internal_vars" )" \
|
||||
"collect_internal_vars works"
|
||||
|
||||
# find_my_cnf_file
|
||||
cnf_file=$(find_my_cnf_file "$p/percona-toolkit-mysqld-instances" ${port});
|
||||
cnf_file=$(find_my_cnf_file "$p/mysqld-instances" ${port});
|
||||
|
||||
is \
|
||||
"$cnf_file" \
|
||||
@@ -101,13 +101,13 @@ is "$res" "/var/lib/mysql/my.cnf" "ps-mysqld-004.txt with port"
|
||||
$CMD_MYSQL $EXT_ARGV -ss -e 'SHOW DATABASES' > "$TMPDIR/mysql_collect_databases" 2>/dev/null
|
||||
|
||||
no_diff \
|
||||
"$p/percona-toolkit-mysql-databases" \
|
||||
"$p/mysql-databases" \
|
||||
"$TMPDIR/mysql_collect_databases" \
|
||||
"collect_mysql_databases works"
|
||||
|
||||
$CMD_MYSQL $EXT_ARGV -ss -e 'CREATE DATABASE collect_mysql_databases_test;' 1>/dev/null 2>&1
|
||||
|
||||
collect_mysql_databases "$TMPDIR/mysql_collect_databases"
|
||||
collect_mysql_databases > "$TMPDIR/mysql_collect_databases"
|
||||
|
||||
$CMD_MYSQL $EXT_ARGV -ss -e 'DROP DATABASE collect_mysql_databases_test;'
|
||||
|
||||
@@ -117,12 +117,12 @@ cmd_ok \
|
||||
|
||||
# collect_master_logs_status
|
||||
|
||||
if [ -n "$(get_var log_bin "$p/percona-toolkit-mysql-variables")" ]; then
|
||||
if [ -n "$(get_var log_bin "$p/mysql-variables")" ]; then
|
||||
cmd_ok \
|
||||
"test -e $p/percona-toolkit-mysql-master-logs" \
|
||||
"test -e $p/mysql-master-logs" \
|
||||
"If we have a binlog, a file with the master logs should exist"
|
||||
cmd_ok \
|
||||
"test -e $p/percona-toolkit-mysql-master-status" \
|
||||
"test -e $p/mysql-master-status" \
|
||||
"And likewise for master status"
|
||||
else
|
||||
skip 1 2 "no binlog"
|
||||
@@ -142,13 +142,13 @@ test_get_mysqldump_for () {
|
||||
cat <<EOF > "$TMPDIR/expected"
|
||||
--defaults-file=/tmp/12345/my.sandbox.cnf --no-data --skip-comments --skip-add-locks --skip-add-drop-table --compact --skip-lock-all-tables --skip-lock-tables --skip-set-charset --databases --all-databases
|
||||
EOF
|
||||
get_mysqldump_for "$dir/mysqldump_test_1" ''
|
||||
get_mysqldump_for '' > "$dir/mysqldump_test_1"
|
||||
no_diff \
|
||||
"$dir/mysqldump_test_1" \
|
||||
"$TMPDIR/expected" \
|
||||
"get_mysqldump_for picks a name default"
|
||||
|
||||
get_mysqldump_for "$dir/mysqldump_test_2" '' '--all-databases'
|
||||
get_mysqldump_for '' '--all-databases' > "$dir/mysqldump_test_2"
|
||||
no_diff \
|
||||
"$dir/mysqldump_test_2" \
|
||||
"$TMPDIR/expected" \
|
||||
@@ -157,7 +157,7 @@ EOF
|
||||
cat <<EOF > "$TMPDIR/expected"
|
||||
--defaults-file=/tmp/12345/my.sandbox.cnf --no-data --skip-comments --skip-add-locks --skip-add-drop-table --compact --skip-lock-all-tables --skip-lock-tables --skip-set-charset --databases a
|
||||
EOF
|
||||
get_mysqldump_for "$dir/mysqldump_test_3" '' 'a'
|
||||
get_mysqldump_for '' 'a' > "$dir/mysqldump_test_3"
|
||||
no_diff \
|
||||
"$dir/mysqldump_test_3" \
|
||||
"$TMPDIR/expected" \
|
||||
@@ -166,7 +166,7 @@ EOF
|
||||
cat <<EOF > "$TMPDIR/expected"
|
||||
--defaults-file=/tmp/12345/my.sandbox.cnf --no-data --skip-comments --skip-add-locks --skip-add-drop-table --compact --skip-lock-all-tables --skip-lock-tables --skip-set-charset --databases a b
|
||||
EOF
|
||||
get_mysqldump_for "$dir/mysqldump_test_4" '' 'a,b'
|
||||
get_mysqldump_for '' 'a,b' > "$dir/mysqldump_test_4"
|
||||
no_diff \
|
||||
"$dir/mysqldump_test_4" \
|
||||
"$TMPDIR/expected" \
|
||||
@@ -177,7 +177,7 @@ EOF
|
||||
$CMD_MYSQL $EXT_ARGV -ss -e 'CREATE DATABASE collect_mysql_databases_test1;' 1>/dev/null 2>&1
|
||||
$CMD_MYSQL $EXT_ARGV -ss -e 'CREATE DATABASE collect_mysql_databases_test2;' 1>/dev/null 2>&1
|
||||
|
||||
get_mysqldump_for "$dir/mysqldump_test_5" '' "collect_mysql_databases_test1,collect_mysql_databases_test2"
|
||||
get_mysqldump_for '' "collect_mysql_databases_test1,collect_mysql_databases_test2" > "$dir/mysqldump_test_5"
|
||||
|
||||
like \
|
||||
"$(cat $dir/mysqldump_test_5)" \
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
plan 30
|
||||
plan 32
|
||||
|
||||
. "$LIB_DIR/alt_cmds.sh"
|
||||
. "$LIB_DIR/log_warn_die.sh"
|
||||
@@ -312,17 +312,17 @@ no_diff "$TMPDIR/got" "$TMPDIR/expected" "parse_mysqld_instances"
|
||||
# ###########################################################################
|
||||
NAME_VAL_LEN=20
|
||||
|
||||
cp $samples/mysql-variables-001.txt $TMPDIR/percona-toolkit-mysql-variables
|
||||
cp $samples/mysql-variables-001.txt $TMPDIR/mysql-variables
|
||||
is \
|
||||
$(get_mysql_timezone "$TMPDIR/percona-toolkit-mysql-variables") \
|
||||
$(get_mysql_timezone "$TMPDIR/mysql-variables") \
|
||||
"EDT" \
|
||||
"get_mysql_timezone"
|
||||
|
||||
cat <<EOF > $TMPDIR/expected
|
||||
2010-05-27 11:38 (up 0+02:08:52)
|
||||
EOF
|
||||
cp $samples/mysql-status-001.txt $TMPDIR/percona-toolkit-mysql-status
|
||||
uptime="$(get_var Uptime $TMPDIR/percona-toolkit-mysql-status)"
|
||||
cp $samples/mysql-status-001.txt $TMPDIR/mysql-status
|
||||
uptime="$(get_var Uptime $TMPDIR/mysql-status)"
|
||||
current_time="$(echo -e "2010-05-27 11:38\n")"
|
||||
get_mysql_uptime "${uptime}" "${current_time}" > $TMPDIR/got
|
||||
no_diff "$TMPDIR/got" "$TMPDIR/expected" "get_mysql_uptime"
|
||||
@@ -331,8 +331,8 @@ cat <<EOF > $TMPDIR/expected
|
||||
Version | 5.0.51a-24+lenny2 (Debian)
|
||||
Built On | debian-linux-gnu i486
|
||||
EOF
|
||||
cp "$samples/mysql-variables-001.txt" "$TMPDIR/percona-toolkit-mysql-variables"
|
||||
get_mysql_version "$TMPDIR/percona-toolkit-mysql-variables" > "$TMPDIR/got"
|
||||
cp "$samples/mysql-variables-001.txt" "$TMPDIR/mysql-variables"
|
||||
get_mysql_version "$TMPDIR/mysql-variables" > "$TMPDIR/got"
|
||||
no_diff "$TMPDIR/got" "$TMPDIR/expected" "get_mysql_version"
|
||||
|
||||
# ###########################################################################
|
||||
@@ -673,8 +673,8 @@ test_format_innodb () {
|
||||
Adaptive Checkpoint | estimate
|
||||
EOF
|
||||
|
||||
section_innodb "$samples/temp001/percona-toolkit-mysql-variables" $samples/temp001/percona-toolkit-mysql-status > $TMPDIR/got
|
||||
no_diff $TMPDIR/expected $TMPDIR/got
|
||||
section_innodb "$samples/temp001/mysql-variables" "$samples/temp001/mysql-status" > "$TMPDIR/got"
|
||||
no_diff "$TMPDIR/expected" "$TMPDIR/got"
|
||||
}
|
||||
|
||||
test_format_innodb
|
||||
@@ -684,7 +684,7 @@ test_format_innodb
|
||||
# format_innodb_filters
|
||||
# ###########################################################################
|
||||
|
||||
format_innodb_filters_test () {
|
||||
test_format_innodb_filters () {
|
||||
local NAME_VAL_LEN=20
|
||||
|
||||
cat <<EOF > $TMPDIR/expected
|
||||
@@ -692,11 +692,11 @@ format_innodb_filters_test () {
|
||||
binlog_ignore_db | mysql,test
|
||||
EOF
|
||||
|
||||
format_binlog_filters "$samples/mysql-show-master-status-001.txt" > $TMPDIR/got
|
||||
format_binlog_filters "$samples/mysql-show-master-status-001.txt" > "$TMPDIR/got"
|
||||
no_diff "$TMPDIR/got" "$TMPDIR/expected"
|
||||
}
|
||||
|
||||
format_innodb_filters_test
|
||||
test_format_innodb_filters
|
||||
|
||||
# ###########################################################################
|
||||
# report_mysql_summary
|
||||
@@ -706,13 +706,28 @@ OPT_SLEEP=1
|
||||
OPT_DATABASES=""
|
||||
OPT_READ_SAMPLES=""
|
||||
NAME_VAL_LEN=25
|
||||
_NO_FALSE_NEGATIVES=1
|
||||
report_mysql_summary "$samples/tempdir" "percona-toolkit" | tail -n+3 > "$TMPDIR/got"
|
||||
report_mysql_summary "$samples/tempdir" | tail -n+3 > "$TMPDIR/got"
|
||||
no_diff "$TMPDIR/got" "$samples/expected_result_report_summary.txt"
|
||||
|
||||
_NO_FALSE_NEGATIVES=""
|
||||
OPT_SLEEP=10
|
||||
report_mysql_summary "$samples/temp002" "percona-toolkit" 2>/dev/null | tail -n+3 > "$TMPDIR/got"
|
||||
no_diff "$TMPDIR/got" "$samples/expected_output_temp002.txt"
|
||||
report_mysql_summary "$samples/temp002" 2>/dev/null | tail -n+3 > "$TMPDIR/got"
|
||||
no_diff \
|
||||
"$TMPDIR/got" \
|
||||
"$samples/expected_output_temp002.txt" \
|
||||
"report_mysql_summary, dir: temp002"
|
||||
|
||||
report_mysql_summary "$samples/temp003" 2>/dev/null | tail -n+3 > "$TMPDIR/got"
|
||||
no_diff \
|
||||
"$TMPDIR/got" \
|
||||
"$samples/expected_output_temp003.txt" \
|
||||
"report_mysql_summary, dir: temp003"
|
||||
|
||||
report_mysql_summary "$samples/temp004" 2>/dev/null | tail -n+3 > "$TMPDIR/got"
|
||||
no_diff \
|
||||
"$TMPDIR/got" \
|
||||
"$samples/expected_output_temp004.txt" \
|
||||
"report_mysql_summary, dir: temp004"
|
||||
|
||||
# ###########################################################################
|
||||
# Done
|
||||
|
Reference in New Issue
Block a user