mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-10 13:11:32 +00:00
More parse_options tests. Make --opt yes have value "yes" instead of "1". Change ok() to cmd_ok() in test-bash-functions. Mimic Perl modulue headers in Bash libs so update-modules will work with the latter.
This commit is contained in:
@@ -1,25 +1,81 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
TESTS=17
|
||||
TESTS=37
|
||||
|
||||
TMPFILE="$TEST_TMPDIR/parse-opts-output"
|
||||
|
||||
source "$LIB_DIR/log_warn_die.sh"
|
||||
source "$LIB_DIR/parse_options.sh"
|
||||
|
||||
parse_options "$T_LIB_DIR/samples/bash/po001.sh"
|
||||
# ############################################################################
|
||||
# Parse options from POD using all default values.
|
||||
# ############################################################################
|
||||
|
||||
is "$THRESHOLD" "100"
|
||||
is "$VARIABLE" "Threads_connected"
|
||||
is "$CYCLES" "1"
|
||||
is "$GDB" "no"
|
||||
is "$OPROFILE" "yes"
|
||||
is "$STRACE" "no"
|
||||
is "$TCPDUMP" "yes"
|
||||
is "$EMAIL" ""
|
||||
is "$INTERVAL" "30"
|
||||
is "$MAYBE_EMPTY" "no"
|
||||
is "$COLLECT" "${HOME}/bin/pt-collect"
|
||||
is "$DEST" "${HOME}/collected/"
|
||||
is "$DURATION" "30"
|
||||
is "$SLEEP" "300"
|
||||
is "$PCT_THRESHOLD" "95"
|
||||
is "$MB_THRESHOLD" "100"
|
||||
is "$PURGE" "30"
|
||||
parse_options "$T_LIB_DIR/samples/bash/po001.sh" "" 2>$TMPFILE
|
||||
|
||||
TEST_NAME="No warnings or errors"
|
||||
is "`cat $TMPFILE`" ""
|
||||
|
||||
TEST_NAME="Default opts"
|
||||
is "$OPT_THRESHOLD" "100"
|
||||
is "$OPT_VARIABLE" "Threads_connected"
|
||||
is "$OPT_CYCLES" "1"
|
||||
is "$OPT_GDB" "no"
|
||||
is "$OPT_OPROFILE" "yes"
|
||||
is "$OPT_STRACE" "no"
|
||||
is "$OPT_TCPDUMP" "yes"
|
||||
is "$OPT_EMAIL" ""
|
||||
is "$OPT_INTERVAL" "30"
|
||||
is "$OPT_MAYBE_EMPTY" "no"
|
||||
is "$OPT_COLLECT" "${HOME}/bin/pt-collect"
|
||||
is "$OPT_DEST" "${HOME}/collected/"
|
||||
is "$OPT_DURATION" "30"
|
||||
is "$OPT_SLEEP" "300"
|
||||
is "$OPT_PCT_THRESHOLD" "95"
|
||||
is "$OPT_MB_THRESHOLD" "100"
|
||||
is "$OPT_PURGE" "30"
|
||||
|
||||
# ############################################################################
|
||||
# Specify some opts, but use default values for the rest.
|
||||
# ############################################################################
|
||||
|
||||
parse_options "$T_LIB_DIR/samples/bash/po001.sh" --threshold 50 --gdb yes --email user@example.com
|
||||
|
||||
TEST_NAME="User-specified opts with defaults"
|
||||
is "$OPT_THRESHOLD" "50" # specified
|
||||
is "$OPT_VARIABLE" "Threads_connected"
|
||||
is "$OPT_CYCLES" "1"
|
||||
is "$OPT_GDB" "yes" # specified
|
||||
is "$OPT_OPROFILE" "yes"
|
||||
is "$OPT_STRACE" "no"
|
||||
is "$OPT_TCPDUMP" "yes"
|
||||
is "$OPT_EMAIL" "user@example.com" # specified
|
||||
is "$OPT_INTERVAL" "30"
|
||||
is "$OPT_MAYBE_EMPTY" "no"
|
||||
is "$OPT_COLLECT" "${HOME}/bin/pt-collect"
|
||||
is "$OPT_DEST" "${HOME}/collected/"
|
||||
is "$OPT_DURATION" "30"
|
||||
is "$OPT_SLEEP" "300"
|
||||
is "$OPT_PCT_THRESHOLD" "95"
|
||||
is "$OPT_MB_THRESHOLD" "100"
|
||||
is "$OPT_PURGE" "30"
|
||||
|
||||
# ############################################################################
|
||||
# An unknown option should produce an error.
|
||||
# ############################################################################
|
||||
|
||||
# Have to call this in a subshell because the error will cause an exit.
|
||||
(
|
||||
parse_options "$T_LIB_DIR/samples/bash/po001.sh" --foo >$TMPFILE 2>&1
|
||||
)
|
||||
local err=$?
|
||||
TEST_NAME="Non-zero exit on unknown option"
|
||||
is "$err" "1"
|
||||
|
||||
TEST_NAME="Error on unknown option"
|
||||
cmd_ok "grep -q 'Unknown option: foo' $TMPFILE"
|
||||
|
||||
# ############################################################################
|
||||
# Done
|
||||
# ############################################################################
|
||||
exit
|
||||
|
@@ -10,13 +10,13 @@ is "$TMPDIR" ""
|
||||
|
||||
TEST_NAME="set_TMPDIR makes secure tmpdir"
|
||||
set_TMPDIR
|
||||
ok "test -d $TMPDIR"
|
||||
cmd_ok "test -d $TMPDIR"
|
||||
|
||||
tmpdir=$TMPDIR;
|
||||
|
||||
TEST_NAME="rm_TMPDIR"
|
||||
rm_TMPDIR
|
||||
ok "test ! -d $tmpdir"
|
||||
cmd_ok "test ! -d $tmpdir"
|
||||
|
||||
TEST_NAME="rm_TMPDIR resets TMPDIR"
|
||||
is "$TMPDIR" ""
|
||||
@@ -28,17 +28,17 @@ TEST_NAME="TMPDIR not defined"
|
||||
is "$TMPDIR" ""
|
||||
|
||||
TEST_NAME="--tmpdir does not exist yet"
|
||||
ok "test ! -d $OPT_TMPDIR"
|
||||
cmd_ok "test ! -d $OPT_TMPDIR"
|
||||
|
||||
set_TMPDIR
|
||||
TEST_NAME="set_TMPDIR uses --tmpdir"
|
||||
is "$TMPDIR" "/tmp/use--tmpdir"
|
||||
|
||||
TEST_NAME="set_TMPDIR creates --tmpdir"
|
||||
ok "test -d $TMPDIR"
|
||||
cmd_ok "test -d $TMPDIR"
|
||||
|
||||
tmpdir=$TMPDIR;
|
||||
|
||||
TEST_NAME="rm_TMPDIR removes --tmpdir"
|
||||
rm_TMPDIR
|
||||
ok "test ! -d $tmpdir"
|
||||
cmd_ok "test ! -d $tmpdir"
|
||||
|
Reference in New Issue
Block a user