Merged fix-1038995-bash-options-starting-with-no

This commit is contained in:
Brian Fraser
2012-08-28 22:05:33 -03:00
7 changed files with 65 additions and 1 deletions

View File

@@ -359,6 +359,9 @@ _parse_command_line() {
if [ -f "$PT_TMPDIR/po/$base_opt" ]; then
opt_is_negated=1
opt="$base_opt"
else
opt_is_negated=""
opt=$(echo $opt | sed 's/^-*//')
fi
else
if $(echo $opt | grep '^--no-' >/dev/null); then

View File

@@ -361,6 +361,9 @@ _parse_command_line() {
if [ -f "$PT_TMPDIR/po/$base_opt" ]; then
opt_is_negated=1
opt="$base_opt"
else
opt_is_negated=""
opt=$(echo $opt | sed 's/^-*//')
fi
else
if $(echo $opt | grep '^--no-' >/dev/null); then

View File

@@ -361,6 +361,9 @@ _parse_command_line() {
if [ -f "$PT_TMPDIR/po/$base_opt" ]; then
opt_is_negated=1
opt="$base_opt"
else
opt_is_negated=""
opt=$(echo $opt | sed 's/^-*//')
fi
else
if $(echo $opt | grep '^--no-' >/dev/null); then

View File

@@ -368,6 +368,9 @@ _parse_command_line() {
if [ -f "$PT_TMPDIR/po/$base_opt" ]; then
opt_is_negated=1
opt="$base_opt"
else
opt_is_negated=""
opt=$(echo $opt | sed 's/^-*//')
fi
else
if $(echo $opt | grep '^--no-' >/dev/null); then

View File

@@ -427,6 +427,9 @@ _parse_command_line() {
if [ -f "$PT_TMPDIR/po/$base_opt" ]; then
opt_is_negated=1
opt="$base_opt"
else
opt_is_negated=""
opt=$(echo $opt | sed 's/^-*//')
fi
else
# Handle normal cases: --option and --no-option.

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
plan 81
plan 83
TMPFILE="$TEST_PT_TMPDIR/parse-opts-output"
TOOL="pt-stalk"
@@ -246,6 +246,18 @@ is "$OPT_DISK_BYTES_FREE" "104857600" "Size: 100M"
parse_options "$T_LIB_DIR/samples/bash/po004.sh"
is "$OPT_DISK_BYTES_FREE" "104857600" "Size: 100M default"
# ############################################################################
# Bug 1038995: pt-stalk notify-by-email fails
# https://bugs.launchpad.net/percona-toolkit/+bug/1038995
# ############################################################################
# This failed because --notify was misparsed as --no-tify
parse_options "$T_LIB_DIR/samples/bash/po005.sh"
is "$OPT_NOTIFY_BY_EMAIL" "" "Bug 1038995: --notify-by-email is empty by default"
parse_options "$T_LIB_DIR/samples/bash/po005.sh" --notify-by-email foo@bar.com
is "$OPT_NOTIFY_BY_EMAIL" "foo@bar.com" "Bug 1038995: ...but gets set without errors if specified"
# ############################################################################
# Done
# ############################################################################

View File

@@ -0,0 +1,37 @@
#!/usr/bin/env bash
:
# ############################################################################
# Documentation
# ############################################################################
:<<'DOCUMENTATION'
=pod
=head1 NAME
pt-stalk - Wait for a condition to occur then begin collecting data.
=head1 OPTIONS
=over
=item --notify-by-email
type: string
something about mailing.
=item --help
Print help.
=back
=head1 ENVIRONMENT
No env vars used.
=cut
DOCUMENTATION