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