diff options
Diffstat (limited to 'qa/392')
-rwxr-xr-x | qa/392 | 147 |
1 files changed, 147 insertions, 0 deletions
@@ -0,0 +1,147 @@ +#! /bin/sh +# PCP QA Test No. 392 +# Rebuild problems with duplicates and check irix.* and hw.* culling +# when -u used +# +# Since Rebuild is being enhanced for irix namespace stripping, the 'irix' names +# have been replaced with 'hpux' names to maintain the purpose of the test, but +# to prevent the unwanted translation from an irix namespace to non-irix. +# hpux was chosed since it is 'replaced' in the old and new Rebuilds. +# +# Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved. +# + +seq=`basename $0` +echo "QA output created by $seq" + +# get standard filters +. ./common.product +. ./common.filter +. ./common.check + +rm -f $seq.out +if [ $PCP_VER -lt 3600 ] +then + ln $seq.out.1 $seq.out || exit 1 +else + ln $seq.out.2 $seq.out || exit 1 +fi + +status=1 # failure is the default! +trap "cd $here; rm -rf $tmp; exit \$status" 0 1 2 3 15 + +_filter() +{ + sed -e '/^Rebuild/s/\/.*pmnsmerge/pmnsmerge/g' +} + +_copy_Rebuild() +{ + scr_src=$PCP_VAR_DIR/pmns/ + cp $scr_src/Rebuild $1 + if [ -f $scr_src/Xlate-irix-names ] + then + cp $scr_src/Xlate-irix-names $1 + fi +} + +mkdir $tmp +cd $tmp +cat <<'End-of-File' >root.start +root { + hw + hpux + foo +} +hw { + old_hw 1:44:0 + both_hw 1:44:1 +} +foo { + bar 1:2:0 +} +hpux { + old_irix 1:10:0 + both_irix 1:10:1 + hub +} +hpux.hub { + nasid 1:44:8 +} +End-of-File + +cat <<'End-of-File' >root_irix +root { + hw + hpux +} +hw { + both_hw 1:44:1 + new_hw 1:44:2 + hub +} +hw.hub { + nasid 1:44:8 +} +hpux { + both_irix 1:10:1 + new_irix 1:10:2 +} +End-of-File + + +# Rebuild will write a message to SYSLOG when it fails, +# so write a message to SYSLOG that this is expected, and generated by QA +# +logger -p user.notice -t PCP "qa/$seq running ... expect SYSLOG entry from Rebuild failure" + +_copy_Rebuild . + +# real QA test starts here +# +echo "=== Rebuild ===" +echo "(expect Duplicate PMID failure)" +rm -f root root.bin +cp root.start root +$sudo ./Rebuild 2>&1 \ +| sed \ + -e 's;/private/;/;' \ + -e "s;$tmp;.;" \ +| _filter +if [ $PCP_VER -lt 3600 ] +then + [ -f root.bin ] && echo "root.bin created" + pminfo -m -n root +else + pminfo -m -N root +fi + +echo +echo "=== Rebuild -d ===" +rm -f root root.bin +cp root.start root +$sudo ./Rebuild -d | _filter +if [ $PCP_VER -lt 3600 ] +then + [ -f root.bin ] && echo "root.bin created" + pminfo -m -n root +else + pminfo -m -N root +fi + +echo +echo "=== Rebuild -du ===" +rm -f root root.bin +cp root.start root +$sudo ./Rebuild -du | _filter +if [ $PCP_VER -lt 3600 ] +then + [ -f root.bin ] && echo "root.bin created" + pminfo -m -n root +else + pminfo -m -N root +fi + +# success, all done +status=0 +exit |