aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJukka Jylänki <jujjyl@gmail.com>2013-12-04 16:09:26 +0200
committerJukka Jylänki <jujjyl@gmail.com>2013-12-14 01:19:23 +0200
commit06364d1d983179cda086d0673d28f5f61d265f1c (patch)
tree4d4d2af3903db0bad84f8bf5bf188f1f9eb43ee1 /src
parent8c2708efe5957c3dddfa4266985c4aeac05d9128 (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.js18
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();