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

Side by Side Diff: tests/prebuilt/x86/srpc_basic.html

Issue 6899031: Remove the obsolete prebuilt infrastructure files and disable multiarch. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 9 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « tests/prebuilt/x86/server_test.html ('k') | tests/prebuilt/x86/srpc_hw.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <!-- Copyright 2009 Google Inc. All rights reserved. -->
5 <head>
6 <title> SRPC Parameter Passing Test </title>
7 <META HTTP-EQUIV="Pragma" CONTENT="no-cache" />
8 <META HTTP-EQUIV="Expires" CONTENT="-1" />
9 <style type="text/css">
10 td.notrun { background-color: skyblue }
11 td.pass { background-color: lime }
12 td.fail { background-color: red }
13 </style>
14 <script type="application/x-javascript">
15 //<![CDATA[
16 var SetTestResult = function(element_id, result) {
17 var element = document.getElementById(element_id);
18 element.className = result;
19 }
20
21 // The NaCl module.
22 var server;
23 // The default socket address for the plugin.
24 var default_addr;
25 // The count of failing tests. Set from the queue length, and decremented
26 // whenever a test passes.
27 var failing_count;
28
29 // The queue of small tests.
30 var testQueue = [ ];
31 var appendTest = function(test_descr) {
32 testQueue[testQueue.length] = test_descr;
33 }
34
35 var expectPass = function(element, has_return, fp) {
36 appendTest(new Array('pass', element, has_return, fp));
37 }
38
39 var expectFail = function(element, fp) {
40 appendTest(new Array('fail', element, fp));
41 }
42
43 // Tests passing scalar types.
44 var ScalarTypes = function() {
45 expectPass('bool_passret',
46 true,
47 function() {
48 if (!server.bool(true) && server.bool(false)) {
49 return true;
50 }
51 });
52 expectFail('int_as_bool',
53 function() {
54 return server.bool(1);
55 });
56 expectFail('array_as_bool',
57 function() {
58 return server.bool(new Array(10));
59 });
60 expectFail('handle_as_bool',
61 function() {
62 return server.bool(server.__defaultSocketAddress());
63 });
64 expectPass('double_passret',
65 true,
66 function() {
67 var dval = 3.1415;
68 if (server.double(dval) == -dval) {
69 return true;
70 }
71 });
72 expectFail('bool_as_double',
73 function() {
74 return server.double(true);
75 });
76 expectFail('array_as_double',
77 function() {
78 return server.double(new Array(10));
79 });
80 expectFail('handle_as_double',
81 function() {
82 return server.double(server.__defaultSocketAddress());
83 });
84 expectPass('int_passret',
85 true,
86 function() {
87 var ival = 12345;
88 if (server.int(ival) == -ival) {
89 return true;
90 }
91 });
92 expectFail('bool_as_int',
93 function() {
94 return server.int(true);
95 });
96 expectFail('array_as_int',
97 function() {
98 return server.int(new Array(10));
99 });
100 expectFail('handle_as_int',
101 function() {
102 return server.int(server.__defaultSocketAddress());
103 });
104 }
105
106 // Tests passing array types.
107 var ArrayTypes = function() {
108 expectPass('chararr_passret',
109 true,
110 function() {
111 var carr = [ 72, 101, 108, 108, 111 ];
112 var ret_arr = server.char_array(carr, 5);
113 if (ret_arr[0] == carr[4] &&
114 ret_arr[1] == carr[3] &&
115 ret_arr[2] == carr[2] &&
116 ret_arr[3] == carr[1] &&
117 ret_arr[4] == carr[0]) {
118 return true;
119 }
120 });
121 expectFail('bool_as_char_array',
122 function() {
123 return server.char_array(true);
124 });
125 expectFail('int_as_char_array',
126 function() {
127 return server.char_array(1);
128 });
129 expectFail('double_as_char_array',
130 function() {
131 return server.char_array(1.0);
132 });
133 expectFail('handle_as_char_array',
134 function() {
135 return server.char_array(server.__defaultSocketAddress());
136 });
137 expectPass('doublearr_passret',
138 true,
139 function() {
140 var darr = [ 3.1, 1.4, 4.1, 1.5, 5.9 ];
141 var ret_arr = server.double_array(darr, 5);
142 if (ret_arr[0] == darr[4] &&
143 ret_arr[1] == darr[3] &&
144 ret_arr[2] == darr[2] &&
145 ret_arr[3] == darr[1] &&
146 ret_arr[4] == darr[0]) {
147 return true;
148 }
149 });
150 expectFail('bool_as_double_array',
151 function() {
152 return server.double_array(true);
153 });
154 expectFail('int_as_double_array',
155 function() {
156 return server.double_array(1);
157 });
158 expectFail('double_as_double_array',
159 function() {
160 return server.double_array(1.0);
161 });
162 expectFail('handle_as_double_array',
163 function() {
164 return server.double_array(server.__defaultSocketAddress());
165 });
166 expectPass('intarr_passret',
167 true,
168 function() {
169 var iarr = [ 1, 2, 3, 4, 5 ];
170 var ret_arr = server.int_array(iarr, 5);
171 if (ret_arr[0] == iarr[4] &&
172 ret_arr[1] == iarr[3] &&
173 ret_arr[2] == iarr[2] &&
174 ret_arr[3] == iarr[1] &&
175 ret_arr[4] == iarr[0]) {
176 return true;
177 }
178 });
179 expectFail('bool_as_int_array',
180 function() {
181 return server.int_array(true);
182 });
183 expectFail('int_as_int_array',
184 function() {
185 return server.int_array(1);
186 });
187 expectFail('double_as_int_array',
188 function() {
189 return server.int_array(1.0);
190 });
191 expectFail('handle_as_int_array',
192 function() {
193 return server.int_array(server.__defaultSocketAddress());
194 });
195 }
196
197 // Tests passing more complex or special-purpose types.
198 var SpecialTypes = function() {
199 expectPass('string_send',
200 true,
201 function() {
202 var str = 'one more test';
203 var ret = server.string(str);
204 if (str.length == ret) {
205 return true;
206 }
207 });
208 expectPass('string_return',
209 true,
210 function() {
211 var ret = server.stringret(0);
212 if ('string' == typeof(ret)) {
213 return true;
214 }
215 });
216 expectFail('bool_as_string',
217 function() {
218 return server.string(true);
219 });
220 expectFail('int_as_string',
221 function() {
222 return server.string(1);
223 });
224 expectFail('double_as_string',
225 function() {
226 return server.string(1);
227 });
228 expectFail('array_as_string',
229 function() {
230 var iarr = [ 1, 2, 3, 4, 5 ];
231 return server.string(iarr);
232 });
233 expectPass('handle_send',
234 false,
235 function() {
236 var hnd = server.__defaultSocketAddress();
237 server.handle(hnd);
238 });
239 expectPass('handle_return',
240 true,
241 function() {
242 var ret = server.handleret();
243 if ('object' == typeof(ret)) {
244 return true;
245 }
246 });
247 expectPass('invalid_handle_return',
248 true,
249 function() {
250 var ret = server.invalid_handle_ret();
251 if ('object' == typeof(ret)) {
252 return true;
253 }
254 });
255 expectPass('invalid_handle_send',
256 false,
257 function() {
258 var ret = server.invalid_handle_ret();
259 if ('object' == typeof(ret)) {
260 server.invalid_handle(ret);
261 }
262 });
263 expectFail('bool_as_handle',
264 function() {
265 return server.handle(true);
266 });
267 expectFail('int_as_handle',
268 function() {
269 return server.handle(1);
270 });
271 expectFail('double_as_handle',
272 function() {
273 return server.handle(1);
274 });
275 expectFail('array_as_handle',
276 function() {
277 var iarr = [ 1, 2, 3, 4, 5 ];
278 return server.handle(iarr);
279 });
280 }
281
282 // Functions to support running each of the tests.
283 var testExpectedPass = function(element, has_return, fp) {
284 var result = undefined;
285 try {
286 result = fp();
287 if (has_return && (undefined == result)) {
288 SetTestResult(element, 'fail');
289 } else {
290 SetTestResult(element, 'pass');
291 --failing_count;
292 }
293 } catch (string) {
294 SetTestResult(element, 'fail');
295 }
296 }
297
298 var testExpectedFail = function(element, fp) {
299 var result = undefined;
300 try {
301 result = fp();
302 SetTestResult(element, 'fail');
303 } catch (string) {
304 if (undefined == result) {
305 SetTestResult(element, 'pass');
306 --failing_count;
307 } else {
308 SetTestResult(element, 'fail');
309 }
310 }
311 }
312
313 var RunAllTests = function() {
314 var i;
315 var len = testQueue.length;
316 // All tests are considered failure until they have run successfully.
317 // This catches runs that end prematurely.
318 failing_count = len;
319 for (i = 0; i < len; ++i) {
320 var test_descr = testQueue[i];
321 if ('pass' == test_descr[0]) {
322 testExpectedPass(test_descr[1], test_descr[2], test_descr[3]);
323 } else {
324 testExpectedFail(test_descr[1], test_descr[2]);
325 }
326 }
327 if (0 == failing_count) {
328 // Set the magic Selenium variable to signal success.
329 document.cookie = 'status=OK';
330 }
331 }
332
333 var EnqueueAndRunTests = function() {
334 // Setup -- abort entire test if this fails.
335 try {
336 // If these fail at the beginning, all the tests will abort.
337 // Otherwise more specific tests are done on them.
338 default_addr = server.__defaultSocketAddress();
339 } catch (string) {
340 window.alert('Socket address test setup failed.');
341 return;
342 }
343 // Enqueue the tests.
344 ScalarTypes();
345 ArrayTypes();
346 SpecialTypes();
347 // Run them all.
348 RunAllTests();
349 }
350 //]]>
351 </script>
352 </head>
353 <body onload="nacllib.waitForModulesAndRunTests();"
354 onunload="nacllib.cleanUp();" >
355 <h1> SRPC Parameter Passing Test </h1>
356 <table cellspacing=5 cellpadding=5 border=5 summary="Test status table">
357 <tr>
358 <td>
359 </td>
360 <td>
361 <b> Scalar types </b>
362 </td>
363 <td>
364 <b> Array types </b>
365 </td>
366 <td>
367 <b> Special types </b>
368 </td>
369 </tr>
370 <tr>
371 <td>
372 <b> Boolean </b>
373 </td>
374 <td valign=top>
375 <table summary="Boolean test status">
376 <tr>
377 <td id="bool_passret" class="notrun">
378 pass/return
379 </td>
380 </tr>
381 <tr>
382 <td id="int_as_bool" class="notrun">
383 int as bool
384 </td>
385 </tr>
386 <tr>
387 <td id="array_as_bool" class="notrun">
388 array as bool
389 </td>
390 </tr>
391 <tr>
392 <td id="handle_as_bool" class="notrun">
393 handle as bool
394 </td>
395 </tr>
396 </table>
397 </td>
398 <td valign=top>
399 </td>
400 <td valign=top>
401 </td>
402 </tr>
403 <tr>
404 <td>
405 <b> Character (1-byte) </b>
406 </td>
407 <td valign=top>
408 </td>
409 <td valign=top>
410 <table summary="Character test status">
411 <tr>
412 <td id="chararr_passret" class="notrun">
413 pass/return
414 </td>
415 </tr>
416 <tr>
417 <td id="bool_as_char_array" class="notrun">
418 bool as char array
419 </td>
420 </tr>
421 <tr>
422 <td id="int_as_char_array" class="notrun">
423 int as char array
424 </td>
425 </tr>
426 <tr>
427 <td id="double_as_char_array" class="notrun">
428 double as char array
429 </td>
430 </tr>
431 <tr>
432 <td id="handle_as_char_array" class="notrun">
433 handle as char array
434 </td>
435 </tr>
436 </table>
437 </td>
438 <td>
439 </td>
440 </tr>
441 <tr>
442 <td>
443 <b> Double (8-byte fp) </b>
444 </td>
445 <td valign=top>
446 <table summary="Double test status">
447 <tr>
448 <td id="double_passret" class="notrun">
449 pass/return
450 </td>
451 </tr>
452 <tr>
453 <td id="bool_as_double" class="notrun">
454 bool as double
455 </td>
456 </tr>
457 <tr>
458 <td id="array_as_double" class="notrun">
459 array as double
460 </td>
461 </tr>
462 <tr>
463 <td id="handle_as_double" class="notrun">
464 handle as double
465 </td>
466 </tr>
467 </table>
468 </td>
469 <td valign=top>
470 <table summary="Double array test status">
471 <tr>
472 <td id="doublearr_passret" class="notrun">
473 pass/return
474 </td>
475 </tr>
476 <tr>
477 <td id="bool_as_double_array" class="notrun">
478 bool as double array
479 </td>
480 </tr>
481 <tr>
482 <td id="int_as_double_array" class="notrun">
483 int as double array
484 </td>
485 </tr>
486 <tr>
487 <td id="double_as_double_array" class="notrun">
488 double as double array
489 </td>
490 </tr>
491 <tr>
492 <td id="handle_as_double_array" class="notrun">
493 handle as double array
494 </td>
495 </tr>
496 </table>
497 </td>
498 <td>
499 </td>
500 </tr>
501 <tr>
502 <td>
503 <b> Integer (4-byte) </b>
504 </td>
505 <td valign=top>
506 <table summary="Integer test status">
507 <tr>
508 <td id="int_passret" class="notrun">
509 pass/return
510 </td>
511 </tr>
512 <tr>
513 <td id="bool_as_int" class="notrun">
514 bool as int
515 </td>
516 </tr>
517 <tr>
518 <td id="array_as_int" class="notrun">
519 array as int
520 </td>
521 </tr>
522 <tr>
523 <td id="handle_as_int" class="notrun">
524 handle as int
525 </td>
526 </tr>
527 </table>
528 </td>
529 <td valign=top>
530 <table summary="Integer array test status">
531 <tr>
532 <td id="intarr_passret" class="notrun">
533 pass/return
534 </td>
535 </tr>
536 <tr>
537 <td id="bool_as_int_array" class="notrun">
538 bool as int array
539 </td>
540 </tr>
541 <tr>
542 <td id="int_as_int_array" class="notrun">
543 int as int array
544 </td>
545 </tr>
546 <tr>
547 <td id="double_as_int_array" class="notrun">
548 double as int array
549 </td>
550 </tr>
551 <tr>
552 <td id="handle_as_int_array" class="notrun">
553 handle as int array
554 </td>
555 </tr>
556 </table>
557 </td>
558 <td valign=top>
559 </td>
560 </tr>
561 <tr>
562 <td>
563 <b> Strings (NUL-terminated) </b>
564 </td>
565 <td valign=top>
566 </td>
567 <td valign=top>
568 </td>
569 <td valign=top>
570 <table summary="String tests status">
571 <tr>
572 <td id="string_send" class="notrun">
573 send to NaCl
574 </td>
575 </tr>
576 <tr>
577 <td id="bool_as_string" class="notrun">
578 bool as string
579 </td>
580 </tr>
581 <tr>
582 <td id="int_as_string" class="notrun">
583 int as string
584 </td>
585 </tr>
586 <tr>
587 <td id="double_as_string" class="notrun">
588 double as string
589 </td>
590 </tr>
591 <tr>
592 <td id="array_as_string" class="notrun">
593 array as string
594 </td>
595 </tr>
596 <tr>
597 <td id="string_return" class="notrun">
598 return from NaCl
599 </td>
600 </tr>
601 </table>
602 </td>
603 </tr>
604 <tr>
605 <td>
606 <b> Handle (descriptor) </b>
607 </td>
608 <td valign=top>
609 <table summary="Handle tests">
610 </table>
611 </td>
612 <td valign=top>
613 <table summary="Handle tests">
614 </table>
615 </td>
616 <td valign=top>
617 <table summary="Handle tests status">
618 <tr>
619 <td id="handle_send" class="notrun">
620 send to NaCl
621 </td>
622 </tr>
623 <tr>
624 <td id="bool_as_handle" class="notrun">
625 bool as handle
626 </td>
627 </tr>
628 <tr>
629 <td id="int_as_handle" class="notrun">
630 int as handle
631 </td>
632 </tr>
633 <tr>
634 <td id="double_as_handle" class="notrun">
635 double as handle
636 </td>
637 </tr>
638 <tr>
639 <td id="array_as_handle" class="notrun">
640 array as handle
641 </td>
642 </tr>
643 <tr>
644 <td id="handle_return" class="notrun">
645 return from NaCl
646 </td>
647 </tr>
648 <tr>
649 <td id="invalid_handle_send" class="notrun">
650 send invalid to NaCl
651 </td>
652 </tr>
653 <tr>
654 <td id="invalid_handle_return" class="notrun">
655 return invalid from NaCl
656 </td>
657 </tr>
658 </table>
659 </td>
660 </tr>
661 </table>
662
663 <table summary="The color codes used for identifying test outcomes">
664 <tr> <td align="center"> <em> Legend </em> </td> </tr>
665 <tr> <td align="center" class="notrun"> Test not run </td> </tr>
666 <tr> <td align="center" class="pass"> Test passed </td> </tr>
667 <tr> <td align="center" class="fail"> Test failed </td> </tr>
668 </table>
669 <p>
670 <b>
671 NOTE: Some versions of some WebKit-based browsers do not correctly report
672 JavaScript exceptions raised by NPAPI plugins. This can cause some of
673 the above tests to spuriously report failure.
674 </b>
675 </p>
676
677 <div id=status>NO-STATUS</div>
678
679 <embed type="application/x-nacl" id="nacl_server" name="nacl_module"
680 width="0" height="0" src="srpc_test.nexe" />
681
682 <script type="text/javascript" src="nacl_js_lib.js"></script>
683 <script type="text/javascript">
684 //<![CDATA[
685 var nacllib = new NaclLib("nacl_module", "status", 500);
686
687 nacllib.test = function() {
688 server = document.getElementById("nacl_server");
689 EnqueueAndRunTests();
690 if (0 == testQueue.length) {
691 return "No tests run.";
692 } else if (0 != failing_count) {
693 return "Tests failed.";
694 } else {
695 return "";
696 }
697 }
698 //]]>
699 </script>
700 </body>
701 </html>
OLDNEW
« no previous file with comments | « tests/prebuilt/x86/server_test.html ('k') | tests/prebuilt/x86/srpc_hw.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698