mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-11 21:51:21 +00:00
Make add info() log_warn_die.sh and make the subs respect OPT_VERBOSE. Add more test harness subs in util/test-bash-functions.
This commit is contained in:
@@ -27,24 +27,34 @@ set -u
|
||||
PTFUNCNAME=""
|
||||
PTDEBUG="${PTDEBUG:-""}"
|
||||
EXIT_STATUS=0
|
||||
OPT_VERBOSE=${OPT_VERBOSE:-3}
|
||||
|
||||
log() {
|
||||
TS=$(date +%F-%T | tr ':-' '_');
|
||||
_print() {
|
||||
TS=$(date +%F-%T | tr ':-' '_')
|
||||
echo "$TS $*"
|
||||
}
|
||||
|
||||
info() {
|
||||
[ ${OPT_VERBOSE:-0} -ge 3 ] && _print "$*"
|
||||
}
|
||||
|
||||
log() {
|
||||
[ ${OPT_VERBOSE:-0} -ge 2 ] && _print "$*"
|
||||
}
|
||||
|
||||
warn() {
|
||||
log "$*" >&2
|
||||
[ ${OPT_VERBOSE:-0} -ge 1 ] && _print "$*" >&2
|
||||
EXIT_STATUS=1
|
||||
}
|
||||
|
||||
die() {
|
||||
warn "$*"
|
||||
_print "$*" >&2
|
||||
EXIT_STATUS=1
|
||||
exit 1
|
||||
}
|
||||
|
||||
_d () {
|
||||
[ "$PTDEBUG" ] && echo "# $PTFUNCNAME: $(log "$*")" >&2
|
||||
[ "$PTDEBUG" ] && echo "# $PTFUNCNAME: $(_print "$*")" >&2
|
||||
}
|
||||
|
||||
# ###########################################################################
|
||||
|
@@ -34,6 +34,80 @@ is \
|
||||
"1" \
|
||||
"Exit status 1"
|
||||
|
||||
OPT_VERBOSE=1
|
||||
|
||||
info "Hello world 1!" > $TEST_PT_TMPDIR/log
|
||||
file_is_empty \
|
||||
$TEST_PT_TMPDIR/log \
|
||||
"verbose=1 info"
|
||||
|
||||
log "Hello world 2!" > $TEST_PT_TMPDIR/log
|
||||
file_is_empty \
|
||||
$TEST_PT_TMPDIR/log \
|
||||
"verbose=1 log"
|
||||
|
||||
warn "Hello world 3!" > $TEST_PT_TMPDIR/log 2>&1
|
||||
file_contains \
|
||||
$TEST_PT_TMPDIR/log \
|
||||
"Hello world 3!" \
|
||||
"verbose=1 warn"
|
||||
|
||||
OPT_VERBOSE=2
|
||||
|
||||
info "Hello world 4!" > $TEST_PT_TMPDIR/log
|
||||
file_is_empty \
|
||||
$TEST_PT_TMPDIR/log \
|
||||
"verbose=2 info"
|
||||
|
||||
log "Hello world 5!" > $TEST_PT_TMPDIR/log
|
||||
file_contains \
|
||||
$TEST_PT_TMPDIR/log \
|
||||
"Hello world 5!" \
|
||||
"verbose=2 log"
|
||||
|
||||
warn "Hello world 6!" > $TEST_PT_TMPDIR/log 2>&1
|
||||
file_contains \
|
||||
$TEST_PT_TMPDIR/log \
|
||||
"Hello world 6!" \
|
||||
"verbose=2 warn"
|
||||
|
||||
OPT_VERBOSE=3
|
||||
|
||||
info "Hello world 7!" > $TEST_PT_TMPDIR/log
|
||||
file_contains \
|
||||
$TEST_PT_TMPDIR/log \
|
||||
"Hello world 7!" \
|
||||
"verbose=3 info"
|
||||
|
||||
log "Hello world 8!" > $TEST_PT_TMPDIR/log
|
||||
file_contains \
|
||||
$TEST_PT_TMPDIR/log \
|
||||
"Hello world 8!" \
|
||||
"verbose=3 log"
|
||||
|
||||
warn "Hello world 9!" > $TEST_PT_TMPDIR/log 2>&1
|
||||
file_contains \
|
||||
$TEST_PT_TMPDIR/log \
|
||||
"Hello world 9!" \
|
||||
"verbose=3 warn"
|
||||
|
||||
OPT_VERBOSE=0
|
||||
|
||||
info "Hello world 10!" > $TEST_PT_TMPDIR/log
|
||||
file_is_empty \
|
||||
$TEST_PT_TMPDIR/log \
|
||||
"verbose=0 info"
|
||||
|
||||
log "Hello world 11!" > $TEST_PT_TMPDIR/log
|
||||
file_is_empty \
|
||||
$TEST_PT_TMPDIR/log \
|
||||
"verbose=0 log"
|
||||
|
||||
warn "Hello world 12!" > $TEST_PT_TMPDIR/log 2>&1
|
||||
file_is_empty \
|
||||
$TEST_PT_TMPDIR/log \
|
||||
"verbose=0 warn"
|
||||
|
||||
# ###########################################################################
|
||||
# Done
|
||||
# ###########################################################################
|
||||
|
@@ -127,13 +127,11 @@ plan() {
|
||||
|
||||
pass() {
|
||||
local reason="${1:-""}"
|
||||
|
||||
result 0 "$reason"
|
||||
}
|
||||
|
||||
fail() {
|
||||
local reason="${1:-""}"
|
||||
|
||||
result 1 "$reason"
|
||||
}
|
||||
|
||||
@@ -177,6 +175,42 @@ is() {
|
||||
result $? "$test_name"
|
||||
}
|
||||
|
||||
file_is_empty() {
|
||||
local file=$1
|
||||
local test_name=${2:-""}
|
||||
test_command="-s $file"
|
||||
if [ ! -f "$file" ]; then
|
||||
echo "$file does not exist" > $TEST_PT_TMPDIR/failed_result
|
||||
result 1 "$test_name"
|
||||
fi
|
||||
if [ -s "$file" ]; then
|
||||
echo "$file is not empty:" > $TEST_PT_TMPDIR/failed_result
|
||||
cat "$file" >> $TEST_PT_TMPDIR/failed_result
|
||||
result 1 "$test_name"
|
||||
else
|
||||
result 0 "$test_name"
|
||||
fi
|
||||
}
|
||||
|
||||
file_contains() {
|
||||
local file="$1"
|
||||
local pat="$2"
|
||||
local test_name=${3:-""}
|
||||
test_command="grep -q '$pat' '$file'"
|
||||
if [ ! -f "$file" ]; then
|
||||
echo "$file does not exist" > $TEST_PT_TMPDIR/failed_result
|
||||
result 1 "$test_name"
|
||||
fi
|
||||
grep -q "$pat" $file
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "$file does not contain '$pat':" > $TEST_PT_TMPDIR/failed_result
|
||||
cat "$file" >> $TEST_PT_TMPDIR/failed_result
|
||||
result 1 "$test_name"
|
||||
else
|
||||
result 0 "$test_name"
|
||||
fi
|
||||
}
|
||||
|
||||
cmd_ok() {
|
||||
local test_command=$1
|
||||
local test_name=${2:-""}
|
||||
|
Reference in New Issue
Block a user