diff options
author | Jukka Jylänki <jujjyl@gmail.com> | 2013-12-04 16:09:26 +0200 |
---|---|---|
committer | Jukka Jylänki <jujjyl@gmail.com> | 2013-12-14 01:19:23 +0200 |
commit | 06364d1d983179cda086d0673d28f5f61d265f1c (patch) | |
tree | 4d4d2af3903db0bad84f8bf5bf188f1f9eb43ee1 /src | |
parent | 8c2708efe5957c3dddfa4266985c4aeac05d9128 (diff) |
Added test to check that emrun stdout, stderr and process exit code capture work.
Diffstat (limited to 'src')
-rw-r--r-- | src/emrun_postjs.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/emrun_postjs.js b/src/emrun_postjs.js new file mode 100644 index 00000000..ae8647bd --- /dev/null +++ b/src/emrun_postjs.js @@ -0,0 +1,18 @@ +function emrun_register_handlers() { + function post(msg) { + var http = new XMLHttpRequest(); + http.open("POST", "stdio.html", true); + http.send(msg); + } + // If the address contains localhost, we can assume we're running the test runner and should post stdout logs. + if (document.URL.search("localhost") != -1) { + var emrun_http_sequence_number = 1; + var prevExit = Module['exit']; + var prevPrint = Module['print']; + var prevErr = Module['printErr']; + Module['exit'] = function emrun_exit(returncode) { post('^exit^'+returncode); prevExit(returncode); } + Module['print'] = function emrun_print(text) { post('^out^'+(emrun_http_sequence_number++)+'^'+text); prevPrint(text); } + Module['printErr'] = function emrun_printErr(text) { post('^err^'+(emrun_http_sequence_number++)+'^'+text); prevErr(text); } + } +} +emrun_register_handlers(); |