blob: 323267711b4fef25be24a85ada66efb63c133877 [file] [log] [blame]
<!--
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>