objnames-test08.sh [plain text]
#!/bin/sh
if test $ :
else
echo "Usage: ${0} srcdir"
exit 1
fi
if test -f "${1}/runtests.pl"; then
:
else
echo "${0}: Wrong srcdir"
exit 1
fi
srcdir=${1}
if test -f "$srcdir/../lib/objnames.inc"; then
:
else
echo "$0: Missing objnames.inc"
exit 1
fi
logdir=log
tstnum=1222
list_c=$logdir/${tstnum}_list_c
list_obj=$logdir/${tstnum}_list_obj
list_obj_c=$logdir/${tstnum}_list_obj_c
list_obj_uniq=$logdir/${tstnum}_list_obj_uniq
. $srcdir/../lib/objnames.inc
echo 'Testing curl_8char_object_name...'
echo ""
argstr=123__678__ABC__FGH__KLM__PQRSTUV
expect=16AFKPQR
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
argstr=123__678__ABC__FGH__KLM__PQ.S.UV
expect=16AFKPQ
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
argstr=123__678__ABC..FGH..KLM..PQRSTUV
expect=16ABC
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
argstr=123__678_.ABC._FGH__KLM__PQRSTUV
expect=16
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
argstr=123.567.90ABCDEFGHIJKLMNOPQRSTUV
expect=123
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
argstr=1234567.90A.CDEFGHIJKLMNOPQRSTUV
expect=1234567
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
argstr=1234567890.BCD.FGHIJKLMNOPQRSTUV
expect=12345678
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
argstr=12=45-78+0AB.DE.GHIJKLMNOPQRSTUV
expect=1470AB
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
argstr=1234567890ABCDEFGHIJKLMNOPQRSTUV
expect=12345678
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
argstr=123_567_90A_CDE_GHIJKLMNOPQRSTUV
expect=159CGHIJ
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
argstr=123_567_90A_CDEFGHIJKLMNOPQRSTUV
expect=159CDEFG
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
argstr=123_567_90ABCDEFGHIJKLMNOPQRSTUV
expect=1590ABCD
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
argstr=123_567890ABCDEFGHIJKLMNOPQRSTUV
expect=1567890A
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
argstr=1234567890ABCDEFGHIJKLMNOPQRSTUV
expect=12345678
outstr=`curl_8char_object_name $argstr`
echo "result: $outstr expected: $expect input: $argstr"
ls $srcdir/../lib/*.c > $list_c
ls $srcdir/../src/*.c >> $list_c
rm -f $list_obj
for c_fname in `cat $list_c`; do
obj_name=`curl_8char_object_name $c_fname`
echo "$obj_name" >> $list_obj
done
sort -u $list_obj > $list_obj_uniq
cnt_c=`cat $list_c | wc -l`
cnt_u=`cat $list_obj_uniq | wc -l`
echo ""
echo ""
echo ""
if test $cnt_c -eq $cnt_u; then
echo "8-characters-or-less generated object names are unique."
obj_name_clash="no"
else
echo "8-characters-or-less generated object names are clashing..."
obj_name_clash="yes"
fi
if test $obj_name_clash = "yes"; then
echo ""
paste $list_obj $list_c | sort > $list_obj_c
prev_match="no"
prev_line="unknown"
prev_obj_name="unknown"
while read this_line; do
obj_name=`echo "$this_line" | cut -f1`
if test "x$obj_name" = "x$prev_obj_name"; then
if test "x$prev_match" != "xyes"; then
echo "$prev_line"
echo "$this_line"
prev_match="yes"
else
echo "$this_line"
fi
else
prev_match="no"
fi
prev_line=$this_line
prev_obj_name=$obj_name
done < $list_obj_c
fi
rm -f $list_c
rm -f $list_obj
rm -f $list_obj_c
rm -f $list_obj_uniq