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
|
#!/bin/sh
# PCP QA Test No. 1272
# pmlogmv with grep -E and sh meta chars in file names
#
# Copyright (c) 2020 Ken McDonell. All Rights Reserved.
#
seq=`basename $0`
if [ $# -eq 0 ]
then
echo "QA output created by $seq"
else
echo "QA output created by $seq $*"
fi
# get standard environment, filters and checks
. ./common.product
. ./common.filter
. ./common.check
_cleanup()
{
cd $here
$sudo rm -rf $tmp $tmp.*
}
status=1 # failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15
# real QA test starts here
mkdir $tmp
pmlogcp tmparch/foo $tmp
pmlogcp tmparch/foo $tmp/fool
cd $tmp
_do_it()
{
echo
echo "=== foo -> foo$1 ==="
if pmlogmv -V $2 foo "foo$1"
then
ls
echo "--- foo$1 -> foo ---"
if pmlogmv -V "foo$1" foo
then
ls
else
echo "Arrgh ... reverse rename failed, we're done here!"
exit
fi
fi
}
_do_it '?'
_do_it '?' -f
_do_it '*'
_do_it '*' -f
_do_it '$'
_do_it '$' -f
_do_it '[bar]'
_do_it '[bar]' -f
_do_it '+'
_do_it '{bar}'
_do_it '.'
_do_it '^'
_do_it '<x>'
_do_it '<x>' -f
_do_it '|'
_do_it '|' -f
_do_it ';'
_do_it ';' -f
_do_it '&'
_do_it '&' -f
_do_it 'foo bar'
_do_it 'foo bar' -f
# success, all done
status=0
exit
|