annotate nodejs/testleak.js @ 880:ac3e8492ad74 abs_n_rel_center

Formalize path data for MadButterfly. Inkscape and other editors would omit 'l' or 'L' after 'm' or 'M'. MadButterfly can not handle it, now. So, we work around it at SVG parser.
author Thinker K.F. Li <thinker@codemud.net>
date Sat, 25 Sep 2010 18:46:37 +0800
parents 586e50f82c1f
children
rev   line source
822
586e50f82c1f Unify coding style tag for emacs and vim.
Shih-Yuan Lee (FourDollars) <fourdollars@gmail.com>
parents: 772
diff changeset
1 // -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 4; -*-
586e50f82c1f Unify coding style tag for emacs and vim.
Shih-Yuan Lee (FourDollars) <fourdollars@gmail.com>
parents: 772
diff changeset
2 // vim: sw=4:ts=8:sts=4
772
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
3 var mbfly = require("mbfly");
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
4 var sys = require("sys");
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
5 var cproc = require("child_process");
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
6
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
7 function testcase1() {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
8 var mbrt = new mbfly.mb_rt(":32.0", 300, 200);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
9 var root = mbrt.root;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
10 var coords = [];
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
11 var coord;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
12 var i;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
13
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
14 while(true) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
15 for(i = 0; i < 200; i++) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
16 coords.push(mbrt.coord_new(root));
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
17 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
18 mbrt.redraw_changed();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
19 mbrt.flush();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
20
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
21 while(coords.length > 0) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
22 coord = coords.pop();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
23 coord.remove();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
24 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
25 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
26 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
27
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
28 function testcase2() {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
29 var mbrt = new mbfly.mb_rt(":32.0", 300, 200);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
30 var root = mbrt.root;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
31 var coords = [];
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
32 var coord;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
33 var i, j;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
34
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
35 while(true) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
36 for(i = 0; i < 200; i++) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
37 coords.push(mbrt.coord_new(root));
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
38 for(j = 0; j < 10; j++)
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
39 coord = mbrt.coord_new(coords[i]);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
40 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
41 mbrt.redraw_changed();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
42 mbrt.flush();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
43
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
44 while(coords.length > 0) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
45 coord = coords.pop();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
46 coord.remove();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
47 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
48 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
49 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
50
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
51 function testcase3() {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
52 var mbrt = new mbfly.mb_rt(":32.0", 300, 200);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
53 var root = mbrt.root;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
54 var coords = [];
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
55 var coord;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
56 var shape;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
57 var i, j;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
58
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
59 while(true) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
60 for(i = 0; i < 200; i++) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
61 coords.push(mbrt.coord_new(root));
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
62 for(j = 0; j < 10; j++) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
63 coord = mbrt.coord_new(coords[i]);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
64 shape = mbrt.rect_new(15, 15, 20, 20, 0, 0);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
65 coord.add_shape(shape);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
66 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
67 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
68 mbrt.redraw_changed();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
69 mbrt.flush();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
70
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
71 while(coords.length > 0) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
72 coord = coords.pop();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
73 coord.remove();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
74 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
75 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
76 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
77
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
78 function testcase4() {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
79 var mbrt = new mbfly.mb_rt(":32.0", 300, 200);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
80 var root = mbrt.root;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
81 var coords = [];
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
82 var coord;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
83 var shape;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
84 var i, j;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
85
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
86 while(true) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
87 for(i = 0; i < 200; i++) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
88 coords.push(mbrt.coord_new(root));
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
89 for(j = 0; j < 10; j++) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
90 coord = mbrt.coord_new(coords[i]);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
91 shape = mbrt.path_new("m 10,10 l 55,27 l -30,-3 z");
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
92 coord.add_shape(shape);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
93 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
94 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
95 mbrt.redraw_changed();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
96 mbrt.flush();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
97
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
98 while(coords.length > 0) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
99 coord = coords.pop();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
100 coord.remove();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
101 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
102 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
103 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
104
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
105 function testcase5() {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
106 var mbrt = new mbfly.mb_rt(":32.0", 300, 200);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
107 var root = mbrt.root;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
108 var paint;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
109
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
110 while(true) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
111 paint = mbrt.paint_color_new(0.5, 0.5, 0.5, 1);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
112 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
113 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
114
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
115 function testcase6() {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
116 var mbrt = new mbfly.mb_rt(":32.0", 300, 200);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
117 var root = mbrt.root;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
118 var coords = [];
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
119 var coord;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
120 var shape;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
121 var paint;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
122 var i, j;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
123
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
124 while(true) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
125 for(i = 0; i < 200; i++) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
126 coords.push(mbrt.coord_new(root));
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
127 /* Paint is free, but rdman is dirty */
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
128 paint = mbrt.paint_color_new(0.5, 0.5, 0.5, 1);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
129 for(j = 0; j < 10; j++) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
130 coord = mbrt.coord_new(coords[i]);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
131 shape = mbrt.rect_new(5, 5, 20, 20, 0, 0);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
132 coord.add_shape(shape);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
133 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
134 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
135 mbrt.redraw_changed();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
136 mbrt.flush();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
137
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
138 while(coords.length > 0) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
139 coord = coords.pop();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
140 coord.remove();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
141 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
142 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
143 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
144
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
145 function testcase7() {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
146 var mbrt = new mbfly.mb_rt(":32.0", 300, 200);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
147 var root = mbrt.root;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
148 var coords = [];
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
149 var coord;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
150 var shape;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
151 var paint;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
152 var i, j;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
153
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
154 while(true) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
155 for(i = 0; i < 200; i++) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
156 coords.push(mbrt.coord_new(root));
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
157 for(j = 0; j < 10; j++) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
158 /* paint is not free, and rdman is dirty */
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
159 paint = mbrt.paint_color_new(0.5, 0.5, 0.5, 1);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
160 coord = mbrt.coord_new(coords[i]);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
161 shape = mbrt.path_new("M 100,100 L 30,30 L 0,30 z");
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
162 coord.add_shape(shape);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
163 paint.stroke(shape);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
164 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
165 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
166 mbrt.redraw_changed();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
167 mbrt.flush();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
168
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
169 while(coords.length > 0) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
170 coord = coords.pop();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
171 coord.remove();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
172 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
173 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
174 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
175
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
176 cproc.exec("killall -9 Xvfb; Xvfb :32 -screen 0 800x600x24");
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
177 setTimeout(function() {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
178 if(process.argv.length == 1)
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
179 testcase1();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
180 else if(process.argv.length == 3) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
181 sys.puts("testcase " + process.argv[2]);
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
182 switch(process.argv[2]) {
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
183 case "1":
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
184 testcase1();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
185 break;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
186
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
187 case "2":
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
188 testcase2();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
189 break;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
190
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
191 case "3":
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
192 testcase3();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
193 break;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
194
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
195 case "4":
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
196 testcase4();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
197 break;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
198
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
199 case "5":
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
200 testcase5();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
201 break;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
202
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
203 case "6":
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
204 testcase6();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
205 break;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
206
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
207 case "7":
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
208 testcase7();
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
209 break;
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
210
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
211 default:
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
212 sys.puts("Usage: node testleak.js [1|2|3...7]");
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
213 }
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
214 } else
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
215 sys.puts("Usage: node testleak.js [1|2|3...7]");
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
216 cproc.exec("killall -9 Xvfb");
11f062c2c0b8 Script to detect memory leaking
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
217 }, 1500);