diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
commit | 47e6e7c84f008a53061e661f31ae96629bc694ef (patch) | |
tree | 648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/442 | |
download | pcp-debian.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/442')
-rwxr-xr-x | qa/442 | 95 |
1 files changed, 95 insertions, 0 deletions
@@ -0,0 +1,95 @@ +#!/bin/sh +# PCP QA Test No. 442 +# check 2^31 volume switching for pmlogextract +# +# Copyright (c) 2011 Ken McDonell. All Rights Reserved. +# Copyright (c) 2012 Red Hat. +# + +seq=`basename $0` +echo "QA output created by $seq" + +# get standard environment, filters and checks +. ./common.product +. ./common.filter +. ./common.check + +rm -f $seq.full src/big2.* src/big3.* +./src/mkbig1 > $seq.full 2>&1 +[ $? -eq 0 ] || _notrun `cat $seq.full` + +# 10GB should keep us out of trouble +free=`_check_freespace 10240` +[ -z "$free" ] || _notrun $free + +status=1 # failure is the default! +trap "rm -f $tmp.* src/big2.* src/big3.*; exit \$status" 0 1 2 3 15 + +for file in src/big1.* +do + ln $file `echo $file | sed -e 's/big1/big2/'` + : +done +ls -l src/big1* src/big2* >$seq.full 2>&1 + +_filter() +{ + sed \ + -e 's/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\.[0-9][0-9][0-9]/TIMESTAMP/g' +} + +# real QA test starts here +pmlogextract src/big1 src/big2 src/big3 2>&1 | _filter +ls -l src/big3* >>$seq.full 2>&1 + +# expect 3 volumes, and all < 2^31 bytes in size +# +limit=2147483648 +nvol=`ls src/big3.? | wc -l | sed -e 's/ //g'` +if [ $nvol -ne 3 ] +then + ls -l src/big3.? + echo "Error: expecting 3 volumes, found $nvol" + status=1 +fi + +echo "0" >$tmp.bc +for vol in src/big1.? +do + size=`_filesize $vol` + echo "+2*$size" >>$tmp.bc +done + +for vol in src/big3.? +do + size=`_filesize $vol` + if [ -z "$size" ] + then + stat $vol + echo "Error: cannot extract size for volume $vol" + status=1 + elif [ "$size" -ge $limit ] + then + ls -l $vol + echo "Error: size ($size) exceeds limit ($limit)" + status=1 + fi + echo "-$size" >>$tmp.bc +done + +cat $tmp.bc >>$seq.full +echo +echo "sum(input data volume sizes) - sum(output data volume sizes)" +( tr '\012' ' ' <$tmp.bc ; echo ) | bc + +echo +echo "Temporal Index Entries ..." +for arch in src/big1 src/big2 src/big3 +do + log=`echo $arch | sed -e 's/src\///g'` + echo "$log: `pmdumplog -t $arch | grep '^[0-9]' | wc -l | sed -e 's/ //g'`" +done + +# success, all done +status=0 +exit |