#!/bin/sh
# PCP QA Test No. 586
# Test qa template.c source app and pmGetOptions()
#
# Note: qa/899 provides a much more rigorous workout for
# 	pmGetOptions()
#
# Copyright (c) 2017 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

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

_filter()
{
    sed \
	-e "s@$tmp@TMP@g" \
	-e "s/$PCP_VERSION/PCP_VERSION/" \
    # end
}

_filter_usage()
{
    $PCP_AWK_PROG '
			{ print }
$1 == "Usage:"		{ print "... usage stuff deleted"; exit }'
}

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
src/template -\?

echo
echo "=== bad option -w ==="
src/template -w 2>&1 | _filter_usage

echo
echo "=== bad option --bozo ==="
src/template --bozo 2>&1 | _filter_usage

echo
echo "=== bad arg for -n option  ==="
src/template -n /no/such/pmns 2>&1 | _filter_usage

echo
echo "=== bad arg for -K option  ==="
src/template -K bozo,foo,bar 2>&1 | _filter_usage

cat <<End-of-File >$tmp.hosts
127.0.0.1
End-of-File

cat <<End-of-File >$tmp.pmns
root {
    one	1:2:3
    two 1:2:3
}
End-of-File

unset PCP_CONTAINER

for a in "-s 13" "-a tmparch/foo -Dpmapi" -g "-h 127.0.0.1 -Dpmapi" \
	"-t 1min2sec3msec" "-H $tmp.hosts -Dpmapi" \
	"-n $PCP_VAR_DIR/pmns/root" "-Z UTC-13" \
	"-z -S +13hr -a archives/conn20070309" \
	"-z -O @01:02:03 -a archives/conn20070309" \
	"-z -T -1hr -a archives/conn20070309" \
	"-Z UTC -A 2hr -a archives/conn20070309" \
	"-V" "--container=0123456789abcdef" -L \
	"-N $tmp.pmns"
	# end
do
    echo
    echo "=== $a ===" | _filter
    src/template $a 2>&1 | _filter
done

# success, all done
status=0
exit
