| <!-- |
| Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style license that can |
| be found in the LICENSE file. |
| --> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html> |
| <head> |
| <meta http-equiv="Pragma" content="no-cache" /> |
| <meta http-equiv="Expires" content="-1" /> |
| <script type="text/javascript" src="nacltest.js"></script> |
| <title>Native Client Exit Status Test</title> |
| </head> |
| |
| <body> |
| <h1>Native Client Exit Status Test</h1> |
| |
| <script type="text/javascript"> |
| //<![CDATA[ |
| function createModule(id, src, type) { |
| return createNaClEmbed({ |
| id: id, |
| src: src, |
| width: 400, |
| height: 400, |
| type: type |
| }); |
| } |
| |
| var mime = "application/x-nacl"; |
| if (getTestArguments()["pnacl"] !== undefined) { |
| mime = "application/x-pnacl"; |
| } |
| var embed = createModule("naclModule", "pm_exit_status_test.nmf", mime); |
| embed.basic_tests = "2"; |
| embed.stress_tests = "0"; |
| document.body.appendChild(embed); |
| |
| var tester = new Tester($('body')); |
| var args = getTestArguments({'expected_exit' : |
| 'THIS TEST CANNOT RUN STANDALONE -- run using scons instead'}); |
| |
| function setupTests(tester, plugin) { |
| tester.addAsyncTest('StartTest', function(status) { |
| plugin.addEventListener('message', status.wrap(function(message_event) { |
| this.removeEventListener('message', arguments.callee, false); |
| status.assertEqual(message_event.data, |
| 'hello world'); |
| status.pass(); |
| }), true); |
| plugin.postMessage('init'); |
| }); |
| tester.addAsyncTest('Exit0Test', function(status) { |
| plugin.addEventListener('crash', status.wrap(function(crash_event) { |
| this.removeEventListener('crash', arguments.callee, false); |
| status.assertEqual($('naclModule').exitStatus, |
| parseInt(args.expected_exit)); |
| status.pass(); |
| }), true); |
| plugin.postMessage(args.trigger); |
| }); |
| } |
| |
| var tester = new Tester(); |
| setupTests(tester, $('naclModule')); |
| tester.waitFor($('naclModule')); |
| tester.run(); |
| // otherwise trivially passes |
| //]]> |
| </script> |
| </body> |
| </html> |