1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
#!/usr/bin/env bash
plan 9
PT_TMPDIR="$TEST_PT_TMPDIR"
file="$PT_TMPDIR/pid-file"
source "$LIB_DIR/log_warn_die.sh"
source "$LIB_DIR/daemon.sh"
cmd_ok \
"test ! -f $file" \
"PID file doesn't exist"
make_pid_file $file $$
cmd_ok \
"test -f $file" \
"PID file created"
pid=`cat $file`
is \
"$pid" \
"$$" \
"Correct PID"
remove_pid_file $file
cmd_ok \
"test ! -f $file" \
"PID file removed"
# ###########################################################################
# PID file already exists and proc is running.
# ###########################################################################
echo $$ > $file
(
make_pid_file $file $$ >$PT_TMPDIR/output 2>&1
)
cmd_ok \
"grep -q \"PID file /tmp/percona-toolkit.test/pid-file already exists and its PID ($$) is running\" $PT_TMPDIR/output" \
"Does not overwrite PID file is PID is running"
echo 999999 > $file
make_pid_file $file $$ >$PT_TMPDIR/output 2>&1
cmd_ok \
"grep -q 'Overwriting PID file /tmp/percona-toolkit.test/pid-file because its PID (999999) is not running' $PT_TMPDIR/output" \
"Overwrites PID file if PID is not running"
pid=`cat $file`
is \
"$pid" \
"$$" \
"Correct PID"
rm $file
rm $PT_TMPDIR/output
# ###########################################################################
# Die if pid file can't be created.
# ###########################################################################
(
make_pid_file "/root/pid" $$ >$PT_TMPDIR/output 2>&1
)
is \
"$?" \
"1" \
"Exit 1 if PID file can't be created"
cmd_ok \
"grep -q 'Cannot create or write PID file /root/pid' $PT_TMPDIR/output" \
"Error that PID file can't be created"
# ###########################################################################
# Done.
# ###########################################################################
|