#!/bin/sh
# PCP QA Test No. 665
# Verify /proc/tty/driver/serial parsing for tty metrics
#
# Copyright (c) 2017 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

[ $PCP_PLATFORM = linux ] || _notrun "Linux tty test, only works with Linux"

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

status=1	# failure is the default!
$sudo rm -rf $tmp $tmp.* $seq.full
trap "_cleanup; exit \$status" 0 1 2 3 15

# real QA test starts here
root=$tmp.root
export LINUX_STATSPATH=$root
pmda=$PCP_PMDAS_DIR/linux/pmda_linux.so,linux_init
files=`echo $here/linux/proc_serial_tty* | LC_COLLATE=POSIX sort`
metrics=`pminfo tty`

for file in $files
do
    rm -fr $root
    mkdir -p $root/proc/tty/driver || _fail "root in use when processing $file"
    
    cp $file $root/proc/tty/driver/serial
    base=`basename $file`
    echo "== Checking serial tty metrics from $base without sudo"
    pminfo -f -L -K clear -K add,60,$pmda $metrics
    echo "== Checking serial tty metrics from $base with sudo"
    $sudo pminfo -f -L -K clear -K add,60,$pmda $metrics
    echo && echo "== done" && echo
    cd $here
done



# success, all done
status=0
exit
