#!/bin/sh
# PCP QA Test No. 1255
# Test various programs using pmLogOpen() with logfile == "-" to use stderr
#
# Copyright (c) 2018 Red Hat.  All Rights Reserved.
#
seq=`basename $0`
echo "QA output created by $seq"

# get standard environment, filters and checks
. ./common.product
. ./common.filter
. ./common.check

status=1	# failure is the default!
$sudo rm -rf $tmp $tmp.* $seq.full

_cleanup()
{
    cd $here
    $sudo rm -rf $tmp $tmp.*
}

trap "_cleanup; exit \$status" 0 1 2 3 15

_filter_dbpmda()
{
    sed \
        -e '/pmResult/s/ .* numpmid/ ... numpmid/' \
        -e "s;$PCP_PMDAS_DIR;\$PCP_PMDAS_DIR;" \
        -e "s/\.$DSO_SUFFIX/.DSO_SUFFIX/g" \
    # end
}

_filter()
{
    tee $seq.full \
    | sed -e 's/started.*$/started DATE/' | _filter_pmlogger_log | _filter_pmie_log \
    | _filter_pmcd_log | _filter_dbpmda | sed -e 's/'`hostname`'/HOST/g'
}

echo;echo == check log output to \"-\" '(stderr)'
src/chkopenlog 2 "-" 2>&1 | _filter

echo;echo == check pmlogger -l-
echo 'log mandatory on once { hinv.ncpu }' | pmlogger -l- -t 1s -s 2s $tmp.archive 2>&1 | _filter

echo;echo == check pmie -l-
echo hinv.ncpu | pmie -f -l- -T1s 2>&1 | _filter

echo;echo == check simple pmda logging to stderr instead of simple.log
$sudo TERM=ansi dbpmda -n $PCP_PMDAS_DIR/simple/root -ie <<End-of-File 2>&1 | _filter
open pipe $PCP_PMDAS_DIR/simple/pmdasimple -d 253 -l-
close
End-of-File

# success, all done
status=0
exit
