var assert = require('assert'); var fs = require('fs'); var vm = require('vm'); var worker = {}; var includeInThisContext = function(path) { var code = fs.readFileSync(path); vm.runInThisContext(code, path); }; global.importScripts = function(path) { includeInThisContext('src/worker/'+path); } function Blob(blob) { this.size = blob.length; this.length = blob.length; this.slice = function(a,b) { var data = blob.slice(a,b); var b = new Blob(data); //console.log(a, b, data.length, data.slice(0,64)); //console.log(new Error().stack); return b; } this.asArrayBuffer = function() { var buf = new ArrayBuffer(blob.length); var arr = new Uint8Array(buf); for (var i=0; i\nint main() {\nint x=1;\nprintf("%d",x);\nreturn x+2;\n}', done, 2947); }); });