aboutsummaryrefslogtreecommitdiff
path: root/tests/testunit.pd
blob: 1662d432d531b09154628e21c4f9a6250348bbbd (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
#N canvas 302 200 312 252 10;
#N canvas 47 151 894 418 run-test 0;
#X obj 71 76 symbol;
#X obj 71 44 inlet test-to-run;
#X obj 506 344 outlet result;
#X obj 506 320 pack 0 s;
#X obj 150 155 makefilename pd-%d-regressiontest;
#X obj 89 195 pack s \$0 s;
#X obj 150 136 f \$0;
#X obj 89 130 t s b;
#X obj 506 140 t b s s;
#X msg 113 76 bang;
#X obj 71 314 s \$0-send;
#X msg 89 215 \; \$3 clear \; \$3 obj 100 100 r \$2-send \; \$3 obj
100 150 \$1 \; \$3 obj 100 200 s \$2-receive \; \$3 connect 0 0 1 0
\; \$3 connect 1 0 2 0;
#N canvas 395 348 450 300 print 0;
#X obj 101 247 print regression-test;
#X obj 101 204 pack s s;
#X obj 101 117 select 1;
#X obj 152 137 b;
#X msg 152 160 failed;
#X msg 101 138 OK;
#X obj 101 185 symbol;
#X msg 101 223 \$2: \$1;
#X obj 296 82 inlet test;
#X obj 101 92 inlet result;
#X connect 1 0 7 0;
#X connect 2 0 5 0;
#X connect 2 1 3 0;
#X connect 3 0 4 0;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X connect 6 0 1 0;
#X connect 7 0 0 0;
#X connect 8 0 1 1;
#X connect 9 0 2 0;
#X restore 531 291 pd print result;
#X obj 506 270 t f f;
#X msg 531 235 \; \$1 clear;
#X obj 531 215 symbol;
#X obj 506 182 t f b;
#X obj 71 104 t b s s;
#X text 63 387 start regression test;
#X text 501 391 regression test finished;
#N canvas 0 0 450 475 get 0;
#X obj 106 36 r \$0-receive;
#X msg 137 280 0;
#X obj 106 159 del 0;
#X obj 106 310 f;
#X text 193 34 get the result;
#X text 145 155 we need a delay \, since the object's output triggers
the destruction of the object \; this would lead to stack corruption
if we do it immediately;
#X obj 131 358 outlet;
#X obj 137 236 inlet reset;
#X obj 106 336 t b f;
#X obj 106 95 spigot;
#X obj 137 258 t b b;
#X msg 161 74 1;
#X obj 106 117 t b f b;
#X msg 189 74 0;
#X obj 137 74 t f;
#X text 182 98 we only accept the 1st result of the test;
#X connect 0 0 9 0;
#X connect 1 0 3 1;
#X connect 2 0 3 0;
#X connect 3 0 8 0;
#X connect 7 0 10 0;
#X connect 8 0 11 0;
#X connect 8 1 6 0;
#X connect 9 0 12 0;
#X connect 10 0 1 0;
#X connect 10 1 11 0;
#X connect 11 0 14 0;
#X connect 12 0 2 0;
#X connect 12 1 3 1;
#X connect 12 2 13 0;
#X connect 13 0 14 0;
#X connect 14 0 9 1;
#X restore 506 162 pd get result;
#X obj 150 175 t s s;
#X text 401 23 the test MUST return a result!;
#X text 414 70 cons: the regression test suite will block until the
test returns a result (potentially infinitely long)!;
#X text 414 39 pros: the test need not be finished in zero-time (good
for testing signal-objects or timed objects);
#X connect 0 0 17 0;
#X connect 1 0 0 0;
#X connect 3 0 2 0;
#X connect 4 0 21 0;
#X connect 5 0 11 0;
#X connect 6 0 4 0;
#X connect 7 0 5 0;
#X connect 7 1 6 0;
#X connect 8 0 20 0;
#X connect 8 1 3 1;
#X connect 8 2 12 1;
#X connect 9 0 0 0;
#X connect 13 0 3 0;
#X connect 13 1 12 0;
#X connect 15 0 14 0;
#X connect 16 0 13 0;
#X connect 16 1 15 0;
#X connect 17 0 10 0;
#X connect 17 1 7 0;
#X connect 17 2 8 0;
#X connect 20 0 16 0;
#X connect 21 0 5 2;
#X connect 21 1 15 1;
#X restore 94 138 pd run-test;
#X obj 94 163 outlet;
#X obj 94 111 inlet;
#N canvas 487 407 450 300 1002-regressiontest 0;
#X restore 92 186 pd \$0-regressiontest;
#X connect 0 0 1 0;
#X connect 2 0 0 0;