Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Side by Side Diff: tests/service_tests/conformance/java/ConformanceTest.java

Issue 2035023003: Remove service-compiler related code. (Closed) Base URL: git@github.com:dartino/sdk.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE.md file.
4
5 import dartino.*;
6
7 import java.io.FileInputStream;
8 import java.io.FileNotFoundException;
9 import java.io.IOException;
10
11 import java.util.List;
12
13 class ConformanceTest {
14 public static void main(String args[]) {
15 // Expecting a snapshot of the dart service code on the command line.
16 if (args.length != 1) {
17 System.out.println("Usage: java ConformanceTest <snapshot>");
18 System.out.println(" or: java ConformanceTest <port>");
19 System.exit(1);
20 }
21
22 // Load libdartino.so.
23 System.loadLibrary("dartino");
24
25 // Setup Dartino.
26 DartinoApi.Setup();
27 DartinoServiceApi.Setup();
28 DartinoApi.AddDefaultSharedLibrary("libdartino.so");
29
30 int port = 0;
31 try {
32 port = Integer.parseInt(args[0]);
33 } catch (NumberFormatException e) {
34 // Since the argument is not a number we expect it to be the snapshot.
35 }
36
37 if (port > 0) {
38 System.out.println(
39 "Waiting for debugger connection on localhost:" + port);
40 Thread dartThread = new Thread(new DebugRunner(port));
41 dartThread.start();
42 } else {
43 try {
44 // Load snapshot and start Dart code on a separate thread.
45 FileInputStream snapshotStream = new FileInputStream(args[0]);
46 int available = snapshotStream.available();
47 byte[] snapshot = new byte[available];
48 snapshotStream.read(snapshot);
49 Thread dartThread = new Thread(new SnapshotRunner(snapshot));
50 dartThread.start();
51 } catch (FileNotFoundException e) {
52 System.err.println("Failed loading snapshot");
53 System.exit(1);
54 } catch (IOException e) {
55 System.err.println("Failed loading snapshot");
56 System.exit(1);
57 }
58 }
59
60 // Run conformance tests.
61 ConformanceService.Setup();
62 try {
63 runPersonTests();
64 runPersonBoxTests();
65 runNodeTests();
66 } finally {
67 ConformanceService.TearDown();
68 }
69 }
70
71 private static void buildPerson(PersonBuilder person, int n) {
72 person.setAge(n * 20);
73 if (n > 1) {
74 PersonListBuilder children = person.initChildren(2);
75 buildPerson(children.get(0), n - 1);
76 buildPerson(children.get(1), n - 1);
77 }
78 }
79
80 private static void runPersonTests() {
81 {
82 MessageBuilder builder = new MessageBuilder(512);
83 PersonBuilder person = new PersonBuilder();
84 builder.initRoot(person, PersonBuilder.kSize);
85 buildPerson(person, 7);
86 assert 3144 == builder.computeUsed();
87 int age = ConformanceService.getAge(person);
88 assert 140 == age;
89 }
90
91 {
92 MessageBuilder builder = new MessageBuilder(512);
93 PersonBuilder person = new PersonBuilder();
94 builder.initRoot(person, PersonBuilder.kSize);
95 buildPerson(person, 7);
96 assert 3144 == builder.computeUsed();
97 ConformanceService.getAgeAsync(
98 person,
99 new ConformanceService.GetAgeCallback() {
100 public void handle(int age) {
101 assert 140 == age;
102 }
103 });
104 }
105
106 {
107 MessageBuilder builder = new MessageBuilder(512);
108 PersonBuilder person = new PersonBuilder();
109 builder.initRoot(person, PersonBuilder.kSize);
110 buildPerson(person, 7);
111 assert 3144 == builder.computeUsed();
112 int count = ConformanceService.count(person);
113 assert 127 == count;
114 }
115
116 {
117 MessageBuilder builder = new MessageBuilder(512);
118 PersonBuilder person = new PersonBuilder();
119 builder.initRoot(person, PersonBuilder.kSize);
120 buildPerson(person, 7);
121 assert 3144 == builder.computeUsed();
122 ConformanceService.countAsync(
123 person,
124 new ConformanceService.CountCallback() {
125 public void handle(int count) {
126 assert 127 == count;
127 }
128 });
129 }
130
131 {
132 MessageBuilder builder = new MessageBuilder(512);
133 PersonBuilder person = new PersonBuilder();
134 builder.initRoot(person, PersonBuilder.kSize);
135 buildPerson(person, 7);
136 assert 3144 == builder.computeUsed();
137 AgeStats stats = ConformanceService.getAgeStats(person);
138 assert 39 == stats.getAverageAge();
139 assert 4940 == stats.getSum();
140 }
141
142 {
143 MessageBuilder builder = new MessageBuilder(512);
144 PersonBuilder person = new PersonBuilder();
145 builder.initRoot(person, PersonBuilder.kSize);
146 buildPerson(person, 7);
147 assert 3144 == builder.computeUsed();
148 ConformanceService.getAgeStatsAsync(
149 person,
150 new ConformanceService.GetAgeStatsCallback() {
151 public void handle(AgeStats stats) {
152 assert 39 == stats.getAverageAge();
153 assert 4940 == stats.getSum();
154 }
155 });
156 }
157
158 {
159 AgeStats stats = ConformanceService.createAgeStats(42, 42);
160 assert 42 == stats.getAverageAge();
161 assert 42 == stats.getSum();
162 }
163
164 {
165 ConformanceService.createAgeStatsAsync(
166 42, 42,
167 new ConformanceService.CreateAgeStatsCallback() {
168 public void handle(AgeStats stats) {
169 assert 42 == stats.getAverageAge();
170 assert 42 == stats.getSum();
171 }
172 });
173 }
174
175 {
176 Person generated = ConformanceService.createPerson(10);
177 assert 42 == generated.getAge();
178 String name = generated.getName();
179 assert 6 == name.length();
180 assert name.equals("person");
181 Uint16List nameData = generated.getNameData();
182 assert 6 == nameData.size();
183 assert "p".charAt(0) == nameData.get(0);
184 assert "n".charAt(0) == nameData.get(5);
185 PersonList children = generated.getChildren();
186 assert 10 == children.size();
187 for (int i = 0; i < children.size(); i++) {
188 assert (12 + i * 2) == children.get(i).getAge();
189 }
190 }
191
192 {
193 ConformanceService.createPersonAsync(
194 10,
195 new ConformanceService.CreatePersonCallback() {
196 public void handle(Person generated) {
197 assert 42 == generated.getAge();
198 String name = generated.getName();
199 assert 6 == name.length();
200 assert name.equals("person");
201 Uint16List nameData = generated.getNameData();
202 assert 6 == nameData.size();
203 assert "p".charAt(0) == nameData.get(0);
204 assert "n".charAt(0) == nameData.get(5);
205 PersonList children = generated.getChildren();
206 assert 10 == children.size();
207 for (int i = 0; i < children.size(); i++) {
208 assert (12 + i * 2) == children.get(i).getAge();
209 }
210 }
211 });
212 }
213
214 ConformanceService.foo();
215 ConformanceService.fooAsync(new ConformanceService.FooCallback() {
216 final int data = 101;
217 public void handle() {
218 assert 101 == data;
219 }
220 });
221
222 {
223 MessageBuilder builder = new MessageBuilder(512);
224 EmptyBuilder empty = new EmptyBuilder();
225 builder.initRoot(empty, EmptyBuilder.kSize);
226 int i = ConformanceService.bar(empty);
227 assert 24 == i;
228 }
229
230 {
231 MessageBuilder builder = new MessageBuilder(512);
232 EmptyBuilder empty = new EmptyBuilder();
233 builder.initRoot(empty, EmptyBuilder.kSize);
234 ConformanceService.barAsync(empty, new ConformanceService.BarCallback() {
235 final int data = 102;
236 public void handle(int i) {
237 assert 102 == data;
238 assert 24 == i;
239 }
240 });
241 }
242
243 assert 42 == ConformanceService.ping();
244 ConformanceService.pingAsync(new ConformanceService.PingCallback() {
245 public void handle(int result) { assert 42 == result; }
246 });
247
248 {
249 MessageBuilder builder = new MessageBuilder(512);
250 TableFlipBuilder flip = new TableFlipBuilder();
251 builder.initRoot(flip, TableFlipBuilder.kSize);
252 String expectedFlip = "(╯°□°)╯︵ ┻━┻";
253 flip.setFlip(expectedFlip);
254 TableFlip flipResult = ConformanceService.flipTable(flip);
255 assert flipResult.getFlip().equals(expectedFlip);
256 }
257
258 {
259 MessageBuilder builder = new MessageBuilder(512);
260 TableFlipBuilder flip = new TableFlipBuilder();
261 builder.initRoot(flip, TableFlipBuilder.kSize);
262 final String expectedFlip = "(╯°□°)╯︵ ┻━┻";
263 flip.setFlip(expectedFlip);
264 ConformanceService.flipTableAsync(
265 flip,
266 new ConformanceService.FlipTableCallback() {
267 public void handle(TableFlip flipResult) {
268 assert flipResult.getFlip().equals(expectedFlip);
269 };
270 });
271 }
272 }
273
274 private static void runPersonBoxTests() {
275 MessageBuilder builder = new MessageBuilder(512);
276
277 PersonBoxBuilder box = new PersonBoxBuilder();
278 builder.initRoot(box, PersonBoxBuilder.kSize);
279 PersonBuilder person = box.initPerson();
280 person.setAge(87);
281 person.setName("fisk");
282 int age = ConformanceService.getBoxedAge(box);
283 assert 87 == age;
284 }
285
286
287 private static int depth(Node node) {
288 if (node.isNum()) return 1;
289 int left = depth(node.getCons().getFst());
290 int right = depth(node.getCons().getSnd());
291 return 1 + ((left > right) ? left : right);
292 }
293
294 private static void buildNode(NodeBuilder node, int n) {
295 if (n > 1) {
296 ConsBuilder cons = node.initCons();
297 buildNode(cons.initFst(), n - 1);
298 buildNode(cons.initSnd(), n - 1);
299 } else {
300 node.setCond(true);
301 node.setNum(42);
302 }
303 }
304
305 private static void runNodeTests() {
306 MessageBuilder builder = new MessageBuilder(512);
307
308 NodeBuilder root = new NodeBuilder();
309 builder.initRoot(root, NodeBuilder.kSize);
310 buildNode(root, 10);
311 int depth = ConformanceService.depth(root);
312 assert 10 == depth;
313
314 Node node = ConformanceService.createNode(10);
315 assert 24680 == node.computeUsed();
316 assert 10 == depth(node);
317 }
318 }
OLDNEW
« no previous file with comments | « tests/service_tests/conformance/conformance_test_shared.cc ('k') | tests/service_tests/conformance/java/DebugRunner.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698