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/750 | |
download | pcp-debian.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/750')
-rwxr-xr-x | qa/750 | 103 |
1 files changed, 103 insertions, 0 deletions
@@ -0,0 +1,103 @@ +#!/bin/sh +# PCP QA Test No. 750 +# Exercise the RPM Package Manager PMDA +# +# Copyright (c) 2013-2014 Red Hat. +# +seq=`basename $0` +echo "QA output created by $seq" + +. ./common.rpm +_rpm_support_tests + +status=1 # failure is the default! +fqdn=`_get_fqdn` +hostname=`hostname` +$sudo rm -fr $tmp.* $seq.full +trap "_rpm_cleanup" 0 1 2 3 15 + +filter_pmval() +{ + sed \ + -e "s/^ *\"$fqdn\"/\"BUILDHOST\"/g" \ + -e "s/^ *\"$hostname\"/\"BUILDHOST\"/g" \ + -e 's/^ [0-9][0-9]* $/ TIMESTAMP /g' \ + -e "s/^host: $hostname$/host: HOST/g" \ + # end +} + +report_package() +{ + inst="$1-$2" + + pmval -s 1 rpm.arch -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.buildhost -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.buildtime -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.description -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.epoch -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.group -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.installtime -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.license -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.packager -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.release -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.size -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.sourcerpm -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.summary -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.url -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.vendor -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.version -i $inst 2>&1 | filter_pmval | tee -a $seq.full + pmval -s 1 rpm.name -i $inst 2>&1 | filter_pmval | tee -a $seq.full +} + +package_totals_before() +{ + pre_bytes=`pmprobe -v rpm.total.bytes | awk '{ print $3 }'` + pre_count=`pmprobe -v rpm.total.count | awk '{ print $3 }'` +} + +package_totals_after() +{ + post_bytes=`pmprobe -v rpm.total.bytes | awk '{ print $3 }'` + post_count=`pmprobe -v rpm.total.count | awk '{ print $3 }'` + + diff_bytes=`expr $post_bytes - $pre_bytes` + echo "bytes diff: $post_bytes - $pre_bytes = $diff_bytes" >> $seq.full + pminfo -f rpm.size >> $seq.full + + diff_count=`expr $post_count - $pre_count` + echo "count diff: $post_count - $pre_count = $diff_count" >> $seq.full + + echo + if [ $diff_bytes -ge 0 ] + then + echo Total bytes check: OK + else + echo Total bytes check: FAIL - $diff_bytes delta + fi + + if [ $diff_count -eq 1 ] + then + echo Total count check: OK + else + echo Total count check: FAIL - $diff_count delta + fi +} + +# real QA test starts here + +_rpm_pmda_prepare +_rpm_package_prepare + +package_totals_before +_rpm_package_install +_rpm_package_install_await +report_package qaplayer 1.0-1.noarch +package_totals_after + +_rpm_package_remove +_rpm_package_remove_await +report_package qaplayer 1.0-1.noarch + +# success, all done +status=0 +exit |