1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
#!/bin/sh
# PCP QA Test No. 1357
# Verify podman PMDA memory accesses using valgrind.
#
# Copyright (c) 2018,2021 Red Hat.
#
seq=`basename $0`
echo "QA output created by $seq"
. ./common.containers
[ -f $PCP_PMDAS_DIR/podman/pmdapodman ] || _notrun "podman pmda not installed"
[ -f $PCP_PMDAS_DIR/podman/root ] || _notrun "podman pmns not installed"
[ "$PCPQA_SYSTEMD" = yes ] || _notrun "systemctl not installed or not active"
_check_valgrind
_check_containers
_check_podman_binary
_check_podman_images busybox
iam=podman
status=1 # failure is the default!
_cleanup()
{
if [ -n "$container" ]
then
echo "== removing container" | tee -a $seq_full
_remove_podman_containers $container
container=""
fi
if [ -n "$pod" ]
then
echo "== removing pod" | tee -a $seq_full
_remove_podman_pods $pod1
pod=""
fi
$sudo rm -f $tmp.*
}
trap "_cleanup; exit \$status" 0 1 2 3 15
_filter()
{
sed \
-e "s,$PCP_PMDAS_DIR,PCP_PMDAS_DIR,g" \
-e "s,$PCP_VAR_DIR,PCP_VAR_DIR,g" \
-e "s,$tmp,TMP,g" \
-e '/Unable to open help text/d' \
#end
}
# real QA test starts here
$sudo systemctl restart podman.service
container=`$podman run -d busybox sleep 10`
echo "== container: $container" >> $seq_full
[ -z "$container" ] && _fail "Failed to create container"
# RHBZ #1958732
#pod=`$podman pod create`
#echo "== pod: $pod" >> $seq_full
#[ -z "$pod" ] && _fail "Failed to create pod"
# build temp PMNS from PMDA's fragment of PMNS
#
pmcpp -I $PCP_PMDAS_DIR/podman -P $PCP_PMDAS_DIR/podman/root >$tmp.pmns
pmns=$tmp.pmns
pmda=$PCP_PMDAS_DIR/podman/pmda_podman.so,podman_init
args="-L -K clear -K add,33,$pmda -v -n $pmns"
_run_valgrind --sudo pminfo $args podman.container 2>&1 | _filter
# success, all done
status=0
exit
|