summaryrefslogtreecommitdiff
path: root/qa/240
blob: a5a7b87be77deab3277cf57a48480754e632ecf6 (plain)
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#! /bin/sh
# PCP QA Test No. 240
# pmnsmerge with nested cpp directives in the first arg
#
# 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=0
trap "cd $here; rm -rf $tmp.*; exit \$status" 0 1 2 3 15

# real QA test starts here
mkdir $tmp.dir
cd $tmp.dir

cat <<End-of-File >r0
root {
}
End-of-File

cat <<End-of-File >r1
root {
    foo
    boo		1:2:3
    eek
}
#include "r2"
#include "r3"
End-of-File

cat <<End-of-File >r2
#define FOO 1
foo {
    fumble	FOO:2:1
    bar
}
#include "r4"
End-of-File

cat <<End-of-File >r3
eek {
    stumble	1:2:4
}
End-of-File

cat <<End-of-File >r4
foo.bar {
    mumble	FOO:2:2
}
End-of-File

cat <<End-of-File >r5
root {
    root_	2:2:0
    surprise
    foo
    eek
}
#include "r6"
End-of-File

cat <<End-of-File >r6
#undef FOO
#define FOO 2
foo {
    foo_	FOO:2:1
    bar
}
foo.bar {
    foobar_	FOO:2:2
    xtra
}
eek {
    eek_	FOO:2:3
}
surprise {
    s1_		FOO:3:1
    s2_		FOO:3:2
}
foo.bar.xtra {
    x1_		FOO:4:1
    x2_		FOO:4:2
}
End-of-File

echo "-- null --"
rm -f out-pmns
pmnsmerge r0 out-pmns
cat out-pmns
pminfo -n out-pmns -m | sort

echo
echo "-- r1 --"
pminfo -n r1 -m | sort

echo
echo "-- r5 --"
pminfo -n r5 -m | sort

echo
echo "-- null + r1 --"
rm -f out-pmns
pmnsmerge r0 r1 out-pmns
cat out-pmns
pminfo -n out-pmns -m | sort

echo
echo "-- null + r1 + r5 --"
rm -f out-pmns
pmnsmerge r0 r1 r5 out-pmns
cat out-pmns
pminfo -n out-pmns -m | sort

echo
echo "-- r1 + r5 --"
rm -f out-pmns
pmnsmerge r1 r5 out-pmns
cat out-pmns
pminfo -n out-pmns -m | sort