#!/bin/sh
# PCP QA Test No. 748
# Check pmlogrewrite config for mysql pmda changes
#
# Copyright (c) 2013 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

[ -f ${PCP_PMDAS_DIR}/mysql/pmdamysql.pl ] || _notrun "mysql pmda not installed"

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

# archive with the latest and greatest mysql pmda installed ...
# see archives/mk-mysql.sh for a recipe to recreate
#
NEWARCHIVE=archives/mysql-1

# real QA test starts here
cat >$tmp.config <<End-of-File
metric mysql.status.connections { sem -> instant units -> 0,0,0,0,0,0 }
metric mysql.status.uptime_since_flush_status { sem -> counter }
metric mysql.status.uptime { sem -> counter }
End-of-File

pmlogrewrite -c $tmp.config -w $NEWARCHIVE $tmp.old

pmlogrewrite -c $PCP_VAR_DIR/config/pmlogrewrite/mysql_migrate.conf -w $tmp.old $tmp.new

pmdumplog -a $tmp.old >$tmp.old.dump
pmdumplog -a $tmp.new >$tmp.new.dump
pmdumplog -a $NEWARCHIVE >$tmp.ref.dump

echo "old -> new changes"
diff -u $tmp.old.dump $tmp.new.dump | sed -e '/^---/d' -e '/^+++/d'

echo
echo "new -> ref changes ... expect none"
diff -u $tmp.new.dump $tmp.ref.dump | sed -e '/^---/d' -e '/^+++/d'

# success, all done
status=0

exit
