1 |
# RCSid $Id: Makefile,v 1.41 2024/12/09 00:44:29 greg Exp $ |
2 |
# |
3 |
# Render and primitive type testing |
4 |
# |
5 |
|
6 |
# Number of processes to use on tests that run multi-core |
7 |
ifeq ($(OS),Windows_NT) # is Windows |
8 |
NPROC := 1 |
9 |
else |
10 |
NPROC := 2 |
11 |
endif |
12 |
|
13 |
# Image reduction for comparisons |
14 |
RDU_PFILT = pfilt -1 -r 1 -x 128 -y 128 -pa 1 |
15 |
|
16 |
# Image comparison command |
17 |
IMG_CMP = radcompare -rel 0.007 -rms 0.1 -max 1.5 |
18 |
|
19 |
# Default target is to test everything |
20 |
all: batch1 batch2 batch3 batch4 |
21 |
|
22 |
clean: |
23 |
rm -f *.oct *.amb *_ill.dat blinds_ill?.dat *_*.hdr *.unf \ |
24 |
*.[cg]pm{,.leaf} inst_rad.txt combined.rad rfmirror.mtx |
25 |
|
26 |
###### |
27 |
# More-or-less evenly divided batches for NPROC=1 (redundancies removed) |
28 |
|
29 |
batch1: test-mixtex-def test-mixtex-fish test-mixtex-plan test-mixtex-rplan \ |
30 |
test-xform test-oconv test-rad test-obj2mesh |
31 |
|
32 |
batch2: test-rfluxmtx test-mist-def test-glass-def test-glass-fish test-glass-up \ |
33 |
test-spectra-fish test-wgmdf-def |
34 |
|
35 |
batch3: test-inst-def test-inst-fish test-trans2-def test-trans2-fish test-trans2-win \ |
36 |
test-dielectric-def test-dielectric-fish |
37 |
|
38 |
batch4: test-rtrace test-prism1-fish test-prism2-fish test-mirror-fish \ |
39 |
test-mesh-def test-mesh-cyl test-mesh-cyl2 test-tfunc-def test-tfunc-fish \ |
40 |
test-trans-def test-trans-fish test-patterns-def test-patterns-plan |
41 |
|
42 |
### Test Aliases ### |
43 |
|
44 |
test-rpict: test-mirror-fish |
45 |
|
46 |
test-rpiece test-mkpmap: test-mixtex-def |
47 |
|
48 |
### Special test of xform ### |
49 |
|
50 |
test-xform: combined.rad |
51 |
radcompare "-c#" -max 0.04 ref/combined.rad combined.rad |
52 |
|
53 |
combined.rad: combined_scene.rad |
54 |
xform -f combined_scene.rad > combined.rad |
55 |
|
56 |
### Special test of rad ### |
57 |
|
58 |
test-rad: inst.oct |
59 |
rad -n -s -e inst.rif > inst_rad.txt |
60 |
radcompare ref/inst_rad.txt inst_rad.txt |
61 |
|
62 |
### Special tests of oconv and obj2mesh ### |
63 |
|
64 |
test-oconv: inst.oct |
65 |
radcompare ref/inst.oct inst.oct |
66 |
|
67 |
test-obj2mesh: cab.obj |
68 |
obj2mesh -w cab.obj | radcompare ref/cab.rtm - |
69 |
|
70 |
### Special test of rtrace ### |
71 |
|
72 |
test-rtrace: rtmirror_fish.hdr |
73 |
$(RDU_PFILT) rtmirror_fish.hdr | $(IMG_CMP) -h ref/mirror_fish.hdr - |
74 |
|
75 |
rtmirror_fish.hdr: mirror.oct |
76 |
rad -v 0 mirror.rif OPT=mirror.opt |
77 |
vwrays -ff -vf fish.vf -x 2048 -y 1991 | rtrace -n $(NPROC) @mirror.opt \ |
78 |
-ffc -x 2048 -y 1991 mirror.oct | pfilt -1 -e +3 -r .6 -x /2 -y /2 \ |
79 |
> rtmirror_fish.hdr |
80 |
rm -f mirror.opt |
81 |
|
82 |
### Special test for rfluxmtx (and rcontrib) ### |
83 |
|
84 |
test-rfluxmtx: rfmirror.mtx |
85 |
radcompare -max .4 -rms .05 -rel 1e-4 ref/rfmirror.mtx rfmirror.mtx |
86 |
|
87 |
rfmirror.mtx: mirror.rad dummysky.rad basic.mat diorama_walls.rad \ |
88 |
closed_end.rad front_cap.rad glass_pane.rad antimatter_portal.rad |
89 |
rfluxmtx -n $(NPROC) -ab 2 -lw 1e-4 mirror.rad dummysky.rad \ |
90 |
basic.mat diorama_walls.rad closed_end.rad front_cap.rad \ |
91 |
glass_pane.rad antimatter_portal.rad > rfmirror.mtx |
92 |
|
93 |
### Octree for dielectric ### |
94 |
|
95 |
dielectric.oct: dielectric.rif |
96 |
rad -v 0 dielectric.rif |
97 |
|
98 |
### Reference and test for dielectric view def ### |
99 |
|
100 |
test-dielectric-def: dielectric_def.hdr |
101 |
$(RDU_PFILT) dielectric_def.hdr | $(IMG_CMP) ref/dielectric_def.hdr - |
102 |
|
103 |
ref/dielectric_def.hdr: dielectric_def.hdr |
104 |
$(RDU_PFILT) dielectric_def.hdr > ref/dielectric_def.hdr |
105 |
|
106 |
dielectric_def.hdr: dielectric.oct |
107 |
rad -v def dielectric.rif |
108 |
|
109 |
### End dielectric-def tests |
110 |
|
111 |
### Reference and test for dielectric view fish ### |
112 |
|
113 |
test-dielectric-fish: dielectric_fish.hdr |
114 |
$(RDU_PFILT) dielectric_fish.hdr | $(IMG_CMP) ref/dielectric_fish.hdr - |
115 |
|
116 |
ref/dielectric_fish.hdr: dielectric_fish.hdr |
117 |
$(RDU_PFILT) dielectric_fish.hdr > ref/dielectric_fish.hdr |
118 |
|
119 |
dielectric_fish.hdr: dielectric.oct |
120 |
rad -v fish dielectric.rif |
121 |
|
122 |
### End dielectric-fish tests |
123 |
|
124 |
### Octree for glass ### |
125 |
|
126 |
glass.oct: glass.rif |
127 |
rad -v 0 glass.rif |
128 |
|
129 |
### Reference and test for glass view def ### |
130 |
|
131 |
test-glass-def: glass_def.hdr |
132 |
$(RDU_PFILT) glass_def.hdr | $(IMG_CMP) ref/glass_def.hdr - |
133 |
|
134 |
ref/glass_def.hdr: glass_def.hdr |
135 |
$(RDU_PFILT) glass_def.hdr > ref/glass_def.hdr |
136 |
|
137 |
glass_def.hdr: glass.oct |
138 |
rad -v def glass.rif |
139 |
|
140 |
### End glass-def tests |
141 |
|
142 |
### Reference and test for glass view fish ### |
143 |
|
144 |
test-glass-fish: glass_fish.hdr |
145 |
$(RDU_PFILT) glass_fish.hdr | $(IMG_CMP) ref/glass_fish.hdr - |
146 |
|
147 |
ref/glass_fish.hdr: glass_fish.hdr |
148 |
$(RDU_PFILT) glass_fish.hdr > ref/glass_fish.hdr |
149 |
|
150 |
glass_fish.hdr: glass.oct |
151 |
rad -v fish glass.rif |
152 |
|
153 |
### End glass-fish tests |
154 |
|
155 |
### Reference and test for glass view up ### |
156 |
|
157 |
test-glass-up: glass_up.hdr |
158 |
$(RDU_PFILT) glass_up.hdr | $(IMG_CMP) ref/glass_up.hdr - |
159 |
|
160 |
ref/glass_up.hdr: glass_up.hdr |
161 |
$(RDU_PFILT) glass_up.hdr > ref/glass_up.hdr |
162 |
|
163 |
glass_up.hdr: glass.oct |
164 |
rad -v up glass.rif |
165 |
|
166 |
### End glass-up tests |
167 |
|
168 |
### Octree for inst ### |
169 |
|
170 |
inst.oct: inst.rif |
171 |
rad -v 0 inst.rif |
172 |
|
173 |
### Reference and test for inst view def ### |
174 |
|
175 |
test-inst-def: inst_def.hdr |
176 |
$(RDU_PFILT) inst_def.hdr | $(IMG_CMP) ref/inst_def.hdr - |
177 |
|
178 |
ref/inst_def.hdr: inst_def.hdr |
179 |
$(RDU_PFILT) inst_def.hdr > ref/inst_def.hdr |
180 |
|
181 |
inst_def.hdr: inst.oct |
182 |
rad -v def inst.rif |
183 |
|
184 |
### End inst-def tests |
185 |
|
186 |
### Reference and test for inst view fish ### |
187 |
|
188 |
test-inst-fish: inst_fish.hdr |
189 |
$(RDU_PFILT) inst_fish.hdr | $(IMG_CMP) ref/inst_fish.hdr - |
190 |
|
191 |
ref/inst_fish.hdr: inst_fish.hdr |
192 |
$(RDU_PFILT) inst_fish.hdr > ref/inst_fish.hdr |
193 |
|
194 |
inst_fish.hdr: inst.oct |
195 |
rad -v fish inst.rif |
196 |
|
197 |
### End inst-fish tests |
198 |
|
199 |
### Octree for mesh ### |
200 |
|
201 |
mesh.oct: mesh.rif |
202 |
rad -v 0 mesh.rif |
203 |
|
204 |
### Reference and test for mesh view def ### |
205 |
|
206 |
test-mesh-def: mesh_def.hdr |
207 |
$(RDU_PFILT) mesh_def.hdr | $(IMG_CMP) ref/mesh_def.hdr - |
208 |
|
209 |
ref/mesh_def.hdr: mesh_def.hdr |
210 |
$(RDU_PFILT) mesh_def.hdr > ref/mesh_def.hdr |
211 |
|
212 |
mesh_def.hdr: mesh.oct |
213 |
rad -v def mesh.rif |
214 |
|
215 |
### End mesh-def tests |
216 |
|
217 |
### Reference and test for mesh view cyl ### |
218 |
|
219 |
test-mesh-cyl: mesh_cyl.hdr |
220 |
$(RDU_PFILT) mesh_cyl.hdr | $(IMG_CMP) ref/mesh_cyl.hdr - |
221 |
|
222 |
ref/mesh_cyl.hdr: mesh_cyl.hdr |
223 |
$(RDU_PFILT) mesh_cyl.hdr > ref/mesh_cyl.hdr |
224 |
|
225 |
mesh_cyl.hdr: mesh.oct |
226 |
rad -v cyl mesh.rif |
227 |
|
228 |
### End mesh-cyl tests |
229 |
|
230 |
### Reference and test for mesh view cyl2 ### |
231 |
|
232 |
test-mesh-cyl2: mesh_cyl2.hdr |
233 |
$(RDU_PFILT) mesh_cyl2.hdr | $(IMG_CMP) ref/mesh_cyl2.hdr - |
234 |
|
235 |
ref/mesh_cyl2.hdr: mesh_cyl2.hdr |
236 |
$(RDU_PFILT) mesh_cyl2.hdr > ref/mesh_cyl2.hdr |
237 |
|
238 |
mesh_cyl2.hdr: mesh.oct |
239 |
rad -v cyl2 mesh.rif |
240 |
|
241 |
### End mesh-cyl2 tests |
242 |
|
243 |
### Octree for mirror ### |
244 |
|
245 |
mirror.oct: mirror.rif |
246 |
rad -v 0 mirror.rif |
247 |
|
248 |
### Reference and test for mirror view fish ### |
249 |
|
250 |
test-mirror-fish: mirror_fish.hdr |
251 |
$(RDU_PFILT) mirror_fish.hdr | $(IMG_CMP) ref/mirror_fish.hdr - |
252 |
|
253 |
ref/mirror_fish.hdr: mirror_fish.hdr |
254 |
$(RDU_PFILT) mirror_fish.hdr > ref/mirror_fish.hdr |
255 |
|
256 |
mirror_fish.hdr: mirror.oct |
257 |
rad -v fish mirror.rif |
258 |
|
259 |
### End mirror-fish tests |
260 |
|
261 |
### Reference and test for mist view def ### |
262 |
|
263 |
test-mist-def: mist_def.hdr |
264 |
$(RDU_PFILT) mist_def.hdr | $(IMG_CMP) ref/mist_def.hdr - |
265 |
|
266 |
ref/mist_def.hdr: mist_def.hdr |
267 |
$(RDU_PFILT) mist_def.hdr > ref/mist_def.hdr |
268 |
|
269 |
mist_def.hdr: mist.rif |
270 |
rad -N $(NPROC) mist.rif |
271 |
|
272 |
### End mist-def tests |
273 |
|
274 |
### Octree for prism1 ### |
275 |
|
276 |
prism1.oct: prism1.rif |
277 |
rad -v 0 prism1.rif |
278 |
|
279 |
### Reference and test for prism1 view fish ### |
280 |
|
281 |
test-prism1-fish: prism1_fish.hdr |
282 |
$(RDU_PFILT) prism1_fish.hdr | $(IMG_CMP) ref/prism1_fish.hdr - |
283 |
|
284 |
ref/prism1_fish.hdr: prism1_fish.hdr |
285 |
$(RDU_PFILT) prism1_fish.hdr > ref/prism1_fish.hdr |
286 |
|
287 |
prism1_fish.hdr: prism1.oct |
288 |
rad -v fish prism1.rif |
289 |
|
290 |
### End prism1-fish tests |
291 |
|
292 |
### Octree for prism2 ### |
293 |
|
294 |
prism2.oct: prism2.rif |
295 |
rad -v 0 prism2.rif |
296 |
|
297 |
### Reference and test for prism2 view fish ### |
298 |
|
299 |
test-prism2-fish: prism2_fish.hdr |
300 |
$(RDU_PFILT) prism2_fish.hdr | $(IMG_CMP) ref/prism2_fish.hdr - |
301 |
|
302 |
ref/prism2_fish.hdr: prism2_fish.hdr |
303 |
$(RDU_PFILT) prism2_fish.hdr > ref/prism2_fish.hdr |
304 |
|
305 |
prism2_fish.hdr: prism2.oct |
306 |
rad -v fish prism2.rif |
307 |
|
308 |
### End prism2-fish tests |
309 |
|
310 |
### Octree for tfunc ### |
311 |
|
312 |
tfunc1.oct: tfunc.rif |
313 |
rad -v 0 tfunc.rif |
314 |
|
315 |
### Reference and test for tfunc view def ### |
316 |
|
317 |
test-tfunc-def: tfunc_def.hdr |
318 |
$(RDU_PFILT) tfunc_def.hdr | $(IMG_CMP) ref/tfunc_def.hdr - |
319 |
|
320 |
ref/tfunc_def.hdr: tfunc_def.hdr |
321 |
$(RDU_PFILT) tfunc_def.hdr > ref/tfunc_def.hdr |
322 |
|
323 |
tfunc_def.hdr: tfunc1.oct |
324 |
rad -v def tfunc.rif |
325 |
|
326 |
### End tfunc-def tests |
327 |
|
328 |
### Reference and test for tfunc view fish ### |
329 |
|
330 |
test-tfunc-fish: tfunc_fish.hdr |
331 |
$(RDU_PFILT) tfunc_fish.hdr | $(IMG_CMP) ref/tfunc_fish.hdr - |
332 |
|
333 |
ref/tfunc_fish.hdr: tfunc_fish.hdr |
334 |
$(RDU_PFILT) tfunc_fish.hdr > ref/tfunc_fish.hdr |
335 |
|
336 |
tfunc_fish.hdr: tfunc1.oct |
337 |
rad -v fish tfunc.rif |
338 |
|
339 |
### End tfunc-fish tests |
340 |
|
341 |
### Octree for trans ### |
342 |
|
343 |
trans.oct: trans.rif |
344 |
rad -v 0 trans.rif |
345 |
|
346 |
### Reference and test for trans view def ### |
347 |
|
348 |
test-trans-def: trans_def.hdr |
349 |
$(RDU_PFILT) trans_def.hdr | $(IMG_CMP) ref/trans_def.hdr - |
350 |
|
351 |
ref/trans_def.hdr: trans_def.hdr |
352 |
$(RDU_PFILT) trans_def.hdr > ref/trans_def.hdr |
353 |
|
354 |
trans_def.hdr: trans.oct |
355 |
rad -v def trans.rif |
356 |
|
357 |
### End trans-def tests |
358 |
|
359 |
### Reference and test for trans view fish ### |
360 |
|
361 |
test-trans-fish: trans_fish.hdr |
362 |
$(RDU_PFILT) trans_fish.hdr | $(IMG_CMP) ref/trans_fish.hdr - |
363 |
|
364 |
ref/trans_fish.hdr: trans_fish.hdr |
365 |
$(RDU_PFILT) trans_fish.hdr > ref/trans_fish.hdr |
366 |
|
367 |
trans_fish.hdr: trans.oct |
368 |
rad -v fish trans.rif |
369 |
|
370 |
### End trans-fish tests |
371 |
|
372 |
### Octree for trans2 ### |
373 |
|
374 |
trans21.oct: trans2.rif |
375 |
rad -v 0 trans2.rif |
376 |
|
377 |
### Reference and test for trans2 view def ### |
378 |
|
379 |
test-trans2-def: trans2_def.hdr |
380 |
$(RDU_PFILT) trans2_def.hdr | $(IMG_CMP) ref/trans2_def.hdr - |
381 |
|
382 |
ref/trans2_def.hdr: trans2_def.hdr |
383 |
$(RDU_PFILT) trans2_def.hdr > ref/trans2_def.hdr |
384 |
|
385 |
trans2_def.hdr: trans21.oct |
386 |
rad -v def trans2.rif |
387 |
|
388 |
### End trans2-def tests |
389 |
|
390 |
### Reference and test for trans2 view fish ### |
391 |
|
392 |
test-trans2-fish: trans2_fish.hdr |
393 |
$(RDU_PFILT) trans2_fish.hdr | $(IMG_CMP) ref/trans2_fish.hdr - |
394 |
|
395 |
ref/trans2_fish.hdr: trans2_fish.hdr |
396 |
$(RDU_PFILT) trans2_fish.hdr > ref/trans2_fish.hdr |
397 |
|
398 |
trans2_fish.hdr: trans21.oct |
399 |
rad -v fish trans2.rif |
400 |
|
401 |
### End trans2-fish tests |
402 |
|
403 |
### Reference and test for trans2 view win ### |
404 |
|
405 |
test-trans2-win: trans2_win.hdr |
406 |
$(RDU_PFILT) trans2_win.hdr | $(IMG_CMP) ref/trans2_win.hdr - |
407 |
|
408 |
ref/trans2_win.hdr: trans2_win.hdr |
409 |
$(RDU_PFILT) trans2_win.hdr > ref/trans2_win.hdr |
410 |
|
411 |
trans2_win.hdr: trans21.oct |
412 |
rad -v win trans2.rif |
413 |
|
414 |
### End trans2-win tests |
415 |
|
416 |
### Octree for patterns ### |
417 |
|
418 |
patterns.oct: patterns.rif |
419 |
rad -v 0 patterns.rif |
420 |
|
421 |
### Reference and test for patterns view def ### |
422 |
|
423 |
test-patterns-def: patterns_def.hdr |
424 |
$(RDU_PFILT) patterns_def.hdr | $(IMG_CMP) ref/patterns_def.hdr - |
425 |
|
426 |
ref/patterns_def.hdr: patterns_def.hdr |
427 |
$(RDU_PFILT) patterns_def.hdr > ref/patterns_def.hdr |
428 |
|
429 |
patterns_def.hdr: patterns.oct |
430 |
rad -v def patterns.rif |
431 |
|
432 |
### End patterns-def tests |
433 |
|
434 |
### Reference and test for patterns view plan ### |
435 |
|
436 |
test-patterns-plan: patterns_plan.hdr |
437 |
$(RDU_PFILT) patterns_plan.hdr | $(IMG_CMP) ref/patterns_plan.hdr - |
438 |
|
439 |
ref/patterns_plan.hdr: patterns_plan.hdr |
440 |
$(RDU_PFILT) patterns_plan.hdr > ref/patterns_plan.hdr |
441 |
|
442 |
patterns_plan.hdr: patterns.oct |
443 |
rad -v plan patterns.rif |
444 |
|
445 |
### End patterns-plan tests |
446 |
|
447 |
### Octree for mixtex ### |
448 |
|
449 |
mixtex.oct: mixtex.rif |
450 |
rad -v 0 -N $(NPROC) mixtex.rif |
451 |
|
452 |
### Reference and test for mixtex view def ### |
453 |
|
454 |
test-mixtex-def: mixtex_def.hdr |
455 |
$(RDU_PFILT) mixtex_def.hdr | $(IMG_CMP) ref/mixtex_def.hdr - |
456 |
|
457 |
ref/mixtex_def.hdr: mixtex_def.hdr |
458 |
$(RDU_PFILT) mixtex_def.hdr > ref/mixtex_def.hdr |
459 |
|
460 |
mixtex_def.hdr: mixtex.oct |
461 |
rad -v def -N $(NPROC) mixtex.rif |
462 |
|
463 |
### End mixtex-def tests |
464 |
|
465 |
### Reference and test for mixtex view fish ### |
466 |
|
467 |
test-mixtex-fish: mixtex_fish.hdr |
468 |
$(RDU_PFILT) mixtex_fish.hdr | $(IMG_CMP) ref/mixtex_fish.hdr - |
469 |
|
470 |
ref/mixtex_fish.hdr: mixtex_fish.hdr |
471 |
$(RDU_PFILT) mixtex_fish.hdr > ref/mixtex_fish.hdr |
472 |
|
473 |
mixtex_fish.hdr: mixtex.oct |
474 |
rad -v fish mixtex.rif |
475 |
|
476 |
### End mixtex-fish tests |
477 |
|
478 |
### Reference and test for mixtex view plan ### |
479 |
|
480 |
test-mixtex-plan: mixtex_plan.hdr |
481 |
$(RDU_PFILT) mixtex_plan.hdr | $(IMG_CMP) ref/mixtex_plan.hdr - |
482 |
|
483 |
ref/mixtex_plan.hdr: mixtex_plan.hdr |
484 |
$(RDU_PFILT) mixtex_plan.hdr > ref/mixtex_plan.hdr |
485 |
|
486 |
mixtex_plan.hdr: mixtex.oct |
487 |
rad -v plan mixtex.rif |
488 |
|
489 |
### End mixtex-plan tests |
490 |
|
491 |
### Reference and test for mixtex view rplan ### |
492 |
|
493 |
test-mixtex-rplan: mixtex_rplan.hdr |
494 |
$(RDU_PFILT) mixtex_rplan.hdr | $(IMG_CMP) ref/mixtex_rplan.hdr - |
495 |
|
496 |
ref/mixtex_rplan.hdr: mixtex_rplan.hdr |
497 |
$(RDU_PFILT) mixtex_rplan.hdr > ref/mixtex_rplan.hdr |
498 |
|
499 |
mixtex_rplan.hdr: mixtex.oct |
500 |
rad -v rplan mixtex.rif |
501 |
|
502 |
### End mixtex-rplan tests |
503 |
|
504 |
### Octree for spectra |
505 |
|
506 |
spectra.oct: spectra.rif |
507 |
rad -v 0 spectra.rif |
508 |
|
509 |
### Reference and test for spectra fish ### |
510 |
|
511 |
test-spectra-fish: spectra_fish.hdr |
512 |
$(RDU_PFILT) spectra_fish.hdr | $(IMG_CMP) ref/spectra_fish.hdr - |
513 |
|
514 |
ref/spectra_fish.hdr: spectra_fish.hdr |
515 |
$(RDU_PFILT) spectra_fish.hdr > ref/spectra_fish.hdr |
516 |
|
517 |
spectra_fish.hdr: spectra.oct |
518 |
rad -v fish spectra.rif |
519 |
|
520 |
### End spectra-fish tests |
521 |
|
522 |
### Octree for wgmdf |
523 |
|
524 |
wgmdf.oct: wgmdf.rif |
525 |
rad -v 0 wgmdf.rif |
526 |
|
527 |
### Reference and test for wgmdf def ### |
528 |
|
529 |
test-wgmdf-def: wgmdf_def.hdr |
530 |
$(RDU_PFILT) wgmdf_def.hdr | $(IMG_CMP) ref/wgmdf_def.hdr - |
531 |
|
532 |
ref/wgmdf_def.hdr: wgmdf_def.hdr |
533 |
$(RDU_PFILT) wgmdf_def.hdr > ref/wgmdf_def.hdr |
534 |
|
535 |
wgmdf_def.hdr: wgmdf.oct |
536 |
rad -v def wgmdf.rif |
537 |
|
538 |
### End of wgmdf-def tests |