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/477 | |
download | pcp-47e6e7c84f008a53061e661f31ae96629bc694ef.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/477')
-rwxr-xr-x | qa/477 | 74 |
1 files changed, 74 insertions, 0 deletions
@@ -0,0 +1,74 @@ +#!/bin/sh +# PCP QA Test No. 477 +# Increase coverage and check malloc failure for event record routines. +# +# Copyright (c) 2011 Ken McDonell. All Rights Reserved. +# + +seq=`basename $0` +echo "QA output created by $seq" + +# get standard environment, filters and checks +. ./common.product +. ./common.filter +. ./common.check + +src/check_fault_injection >/dev/null 2>&1 || \ + _notrun "libpcp not built with fault injection enabled" + +status=0 # success is the default! +$sudo rm -rf $tmp.* $seq.full +trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15 + +_filter() +{ + echo "=== stdout ===" >>$seq.full + cat $tmp.out >>$seq.full + echo >>$seq.full + echo >>$seq.full + echo "=== stderr ===" >>$seq.full + cat $tmp.err >>$seq.full + echo >>$seq.full + echo >>$seq.full + ( cat $tmp.out; echo; cat $tmp.err ) \ + | sed \ + -e "s/\(host:[ ]*\)`hostname`/\1localhost/" \ + -e '/__pmFaultInject(.*) not registered/d' \ + -e 's/[0-2][0-9]:[0-5][0-9]:[0-5][0-9]\.[0-9][0-9][0-9]/TIMESTAMP/g' \ + -e 's/Not enough space/Cannot allocate memory/' +} + +export PM_FAULT_CONTROL=$tmp.control +export LD_PRELOAD=$PCP_LIB_DIR/libpcp_fault.so + +# real QA test starts here +cat >$tmp.control <<End-of-File +libpcp/events.c:1 % 7 +libpcp/events.c:2 % 11 +libpcp/events.c:3 % 13 +libpcp/events.c:4 % 9 +End-of-File +pmstore sample.event.reset 0 >/dev/null 2>&1 +pmevent -Dfault -t 0.2 -s 10 sample.event.records >$tmp.out 2>$tmp.err +_filter + +# first pmRegisterAnon() fails +echo +cat >$tmp.control <<End-of-File +libpcp/events.c:5 <3 +End-of-File +pmstore sample.event.reset 0 >/dev/null 2>&1 +pmevent -Dfault -t 0.2 -s 2 sample.event.records >$tmp.out 2>$tmp.err +_filter + +# second pmRegisterAnon() fails +echo +cat >$tmp.control <<End-of-File +libpcp/events.c:6 <3 +End-of-File +pmstore sample.event.reset 0 >/dev/null 2>&1 +pmevent -Dfault -t 0.2 -s 2 sample.event.records >$tmp.out 2>$tmp.err +_filter + +# success, all done +exit |