summaryrefslogtreecommitdiff
path: root/qa/750
diff options
context:
space:
mode:
Diffstat (limited to 'qa/750')
-rwxr-xr-xqa/750103
1 files changed, 103 insertions, 0 deletions
diff --git a/qa/750 b/qa/750
new file mode 100755
index 0000000..de38b30
--- /dev/null
+++ b/qa/750
@@ -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