diff options
Diffstat (limited to 'qa/464')
-rwxr-xr-x | qa/464 | 242 |
1 files changed, 242 insertions, 0 deletions
@@ -0,0 +1,242 @@ +#!/bin/sh +# PCP QA Test No. 464 +# Test pmLoadASCIINameSpace with pmcpp instead of cpp +# +# Copyright (c) 2011 Ken McDonell. All Rights Reserved. +# + +seq=`basename $0` +echo "QA output created by $seq" + +# get standard filters +. ./common.product +. ./common.filter +. ./common.check + +status=0 # success is the default! +$sudo rm -rf $tmp.* $seq.full +trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15 + +_filter() +{ + cat >$tmp.tmp + grep "^pmcpp:" <$tmp.tmp >$tmp.save + if [ -s $tmp.save ] + then + # pmcpp lines ... move 'em to the start + cat $tmp.save + grep -v "^pmcpp:" $tmp.tmp + else + cat $tmp.tmp + fi \ + | sed \ + -e "s;$tmp;TMP;g" +} + +# real QA test starts here +echo "no error cases ..." +cat <<End-of-File >$tmp.root +root { + one 1:2:3 + two + four +} +two { + three 4:5:6 +} +four { + five +} +four.five { + six 7:8:9 +} +End-of-File +pminfo -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter + +echo +cat <<End-of-File >$tmp.root +root { + one 1:2:3 +#include "$tmp.1" +End-of-File +cat <<End-of-File >$tmp.1 + two + four +} +two { + three 4:5:6 +} +#include "$tmp.2" +End-of-File +cat <<End-of-File >$tmp.2 +four { + five +} +four.five { + six 7:8:9 +} +End-of-File +pminfo -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter +rm -f $tmp.? + +echo +cat <<End-of-File >$tmp.root +/* comment at the beginning */ +root { + one 1:2:3 + two + four +} +two { + three /*inline comment*/ 4:5:6 +} +four { + five +} +four.five { + /**/six 7:8:9 +} +/* + * multi-line comment at the end + */ +End-of-File +pminfo -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter + +echo +cat <<End-of-File >$tmp.root +#define one two +#define foo_path3 foo.three +#define THREE 3 +#define FOUR 4 +#define FIVE 5 +root { + one 2:2:2 + foo +} +foo { + two + three +} +foo.one { + eek THREE:FOUR:FIVE +} +foo_path3 { + urk FIVE:FOUR:THREE +} +End-of-File +pminfo -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter + +echo +echo "#include errors ..." +cat <<End-of-File >$tmp.root +root { +#include $tmp.1 +} +End-of-File +pminfo -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter +rm -f $tmp.? + +cat <<End-of-File >$tmp.root +root { +#include "$tmp.1 +} +End-of-File +pminfo -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter + +cat <<End-of-File >$tmp.root +root { +#include "$tmp.1" junk +} +End-of-File +pminfo -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter +rm -f $tmp.? + +cat <<End-of-File >$tmp.root +root { +#include "$tmp.1" +} +End-of-File +pminfo -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter +rm -f $tmp.? + +cat <<End-of-File >$tmp.root +root { + zero 1:0:0 +#include "$tmp.1" +} +End-of-File +cat <<End-of-File >$tmp.1 + one 1:0:1 +#include "$tmp.2" +End-of-File +cat <<End-of-File >$tmp.2 + two 1:0:2 +#include "$tmp.3" +End-of-File +cat <<End-of-File >$tmp.3 + three 1:0:3 +#include "$tmp.4" +End-of-File +cat <<End-of-File >$tmp.4 + four 1:0:4 +#include "$tmp.5" +End-of-File +pminfo -Dpmns -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter +rm -f $tmp.? + +echo +echo "#define errors ..." +cat <<End-of-File >$tmp.root +root { +#define +} +End-of-File +pminfo -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter + +cat <<End-of-File >$tmp.root +root { +/* white space at the end of the next line */ +#define +} +End-of-File +pminfo -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter + +cat <<End-of-File >$tmp.root +root { +#define foo +} +End-of-File +pminfo -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter + +cat <<End-of-File >$tmp.root +root { +#define bad_123_macro!name +} +End-of-File +pminfo -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter + +echo +echo "other #cpp line errors ..." +cat <<End-of-File >$tmp.root +root { +#fumble +} +End-of-File +pminfo -n $tmp.root -m >$tmp.out 2>$tmp.err +cat $tmp.out $tmp.err | _filter + +# success, all done +exit |