Root/
Source at commit 1d7eccb06b61f239b9671617488f33910286f0f1 created 10 years 1 month ago. By Werner Almesberger, dump.c: add dumping of %iprint | |
---|---|
1 | #!/bin/sh |
2 | . ./Common |
3 | |
4 | ############################################################################### |
5 | |
6 | fped_dump "qualified measurements: no qualifier" <<EOF |
7 | frame c { v: vec @(0mm, 0mm) } |
8 | frame b { frame c @ } |
9 | frame a { frame b @ } |
10 | frame a @ |
11 | meas c.v >> c.v |
12 | EOF |
13 | expect <<EOF |
14 | /* MACHINE-GENERATED ! */ |
15 | |
16 | frame c { |
17 | v: vec @(0mm, 0mm) |
18 | } |
19 | |
20 | frame b { |
21 | frame c @ |
22 | } |
23 | |
24 | frame a { |
25 | frame b @ |
26 | } |
27 | |
28 | package "_" |
29 | unit mm |
30 | |
31 | frame a @ |
32 | meas c.v >> c.v |
33 | EOF |
34 | |
35 | #------------------------------------------------------------------------------ |
36 | |
37 | fped_dump "qualified measurements: fully qualified" <<EOF |
38 | frame c { v: vec @(0mm, 0mm) } |
39 | frame b { frame c @ } |
40 | frame a { frame b @ } |
41 | frame a @ |
42 | meas a/b/c.v >> c.v |
43 | EOF |
44 | expect_grep '^meas' <<EOF |
45 | meas a/b/c.v >> c.v |
46 | EOF |
47 | |
48 | #------------------------------------------------------------------------------ |
49 | |
50 | fped_dump "qualified measurements: partially qualified" <<EOF |
51 | frame c { v: vec @(0mm, 0mm) } |
52 | frame b { frame c @ } |
53 | frame a { frame b @ } |
54 | frame a @ |
55 | meas a/c.v >> c.v |
56 | EOF |
57 | expect_grep '^meas' <<EOF |
58 | meas a/c.v >> c.v |
59 | EOF |
60 | |
61 | #------------------------------------------------------------------------------ |
62 | |
63 | fped_dump "qualified measurements: wrong order" <<EOF |
64 | frame c { v: vec @(0mm, 0mm) } |
65 | frame b { frame c @ } |
66 | frame a { frame b @ } |
67 | frame a @ |
68 | meas b/a/c.v >> c.v |
69 | EOF |
70 | expect_grep 'warning' <<EOF |
71 | 5: warning: not all qualifiers can be reached near "v" |
72 | EOF |
73 | |
74 | #------------------------------------------------------------------------------ |
75 | |
76 | fped_dump "qualified measurements: unlinked frame" <<EOF |
77 | frame c { v: vec @(0mm, 0mm) } |
78 | frame b { frame c @ } |
79 | frame a { frame b @ } |
80 | frame x {} |
81 | frame a @ |
82 | frame x @ |
83 | meas a/c.v >> x/c.v |
84 | EOF |
85 | expect_grep 'warning' <<EOF |
86 | 7: warning: not all qualifiers can be reached near "v" |
87 | EOF |
88 | |
89 | #------------------------------------------------------------------------------ |
90 | |
91 | fped_fail "qualified measurements: duplicate qualifier" <<EOF |
92 | frame c { v: vec @(0mm, 0mm) } |
93 | frame b { frame c @ } |
94 | frame a { frame b @ } |
95 | frame a @ |
96 | meas b/b/c.v >> c.v |
97 | EOF |
98 | expect <<EOF |
99 | 5: duplicate qualifier "b" near "v" |
100 | EOF |
101 | |
102 | #------------------------------------------------------------------------------ |
103 | |
104 | fped "qualified measurements: \"macro\" unqualified" <<EOF |
105 | frame x { |
106 | a: vec @(0mm, 0mm) |
107 | b: vec .(d, 0mm) |
108 | } |
109 | frame a { |
110 | set d = 2mm |
111 | frame x @ |
112 | } |
113 | frame b { |
114 | set d = 3mm |
115 | frame x @ |
116 | } |
117 | frame a @ |
118 | vec @(1mm, 0mm) |
119 | frame b . |
120 | meas x.a >> x.b /* dummy */ |
121 | m: meas x.a >> x.b |
122 | %meas m |
123 | EOF |
124 | expect <<EOF |
125 | 4 |
126 | EOF |
127 | |
128 | #------------------------------------------------------------------------------ |
129 | |
130 | fped "qualified measurements: \"macro\" qualified (a)" <<EOF |
131 | frame x { |
132 | a: vec @(0mm, 0mm) |
133 | b: vec .(d, 0mm) |
134 | } |
135 | frame a { |
136 | set d = 2mm |
137 | frame x @ |
138 | } |
139 | frame b { |
140 | set d = 3mm |
141 | frame x @ |
142 | } |
143 | frame a @ |
144 | vec @(1mm, 0mm) |
145 | frame b . |
146 | meas x.a >> x.b /* dummy */ |
147 | m: meas a/x.a >> a/x.b |
148 | %meas m |
149 | EOF |
150 | expect <<EOF |
151 | 2 |
152 | EOF |
153 | |
154 | #------------------------------------------------------------------------------ |
155 | |
156 | fped "qualified measurements: \"macro\" qualified (b)" <<EOF |
157 | frame x { |
158 | a: vec @(0mm, 0mm) |
159 | b: vec .(d, 0mm) |
160 | } |
161 | frame a { |
162 | set d = 2mm |
163 | frame x @ |
164 | } |
165 | frame b { |
166 | set d = 3mm |
167 | frame x @ |
168 | } |
169 | frame a @ |
170 | vec @(1mm, 0mm) |
171 | frame b . |
172 | meas x.a >> x.b /* dummy */ |
173 | m: meas b/x.a >> b/x.b |
174 | %meas m |
175 | EOF |
176 | expect <<EOF |
177 | 3 |
178 | EOF |
179 | |
180 | #------------------------------------------------------------------------------ |
181 | |
182 | fped "qualified measurements: \"macro\" qualified (a/b)" <<EOF |
183 | frame x { |
184 | a: vec @(0mm, 0mm) |
185 | b: vec .(d, 0mm) |
186 | } |
187 | frame a { |
188 | set d = 2mm |
189 | frame x @ |
190 | } |
191 | frame b { |
192 | set d = 3mm |
193 | frame x @ |
194 | } |
195 | frame a @ |
196 | vec @(1mm, 0mm) |
197 | frame b . |
198 | meas x.a >> x.b /* dummy */ |
199 | m: meas a/x.a >> b/x.b |
200 | %meas m |
201 | EOF |
202 | expect <<EOF |
203 | 4 |
204 | EOF |
205 | |
206 | #------------------------------------------------------------------------------ |
207 | |
208 | fped "qualified measurements: \"macro\" qualified (b/a)" <<EOF |
209 | frame x { |
210 | a: vec @(0mm, 0mm) |
211 | b: vec .(d, 0mm) |
212 | } |
213 | frame a { |
214 | set d = 2mm |
215 | frame x @ |
216 | } |
217 | frame b { |
218 | set d = 3mm |
219 | frame x @ |
220 | } |
221 | frame a @ |
222 | vec @(1mm, 0mm) |
223 | frame b . |
224 | meas x.a >> x.b /* dummy */ |
225 | m: meas b/x.a >> a/x.b |
226 | %meas m |
227 | EOF |
228 | expect <<EOF |
229 | 1 |
230 | EOF |
231 | |
232 | ############################################################################### |
233 |
Branches:
master