diff options
author | Florian Dold <florian.dold@gmail.com> | 2016-11-03 00:47:22 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2016-11-03 00:47:22 +0100 |
commit | d0a0695fb5d34996850723f7d4b1b59c3df909c2 (patch) | |
tree | 6141a1db06f8f359813c332b3c23f3777f00b568 /testlib/node/runtime.js | |
parent | e9a383ede7f98512f0dd351697759d75ddb67eac (diff) | |
download | wallet-core-d0a0695fb5d34996850723f7d4b1b59c3df909c2.tar.xz |
test harness for both browser and node
Diffstat (limited to 'testlib/node/runtime.js')
-rw-r--r-- | testlib/node/runtime.js | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/testlib/node/runtime.js b/testlib/node/runtime.js new file mode 100644 index 000000000..29ee508cc --- /dev/null +++ b/testlib/node/runtime.js @@ -0,0 +1,70 @@ +/* + This file is part of TALER + (C) 2016 Inria + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> + */ + +/** + * + * @author Florian Dold + */ + + +"use strict"; + +let vm = require("vm"); +let fs = require("fs"); +let process = require("process"); + +let emsc = require("../../lib/emscripten/taler-emscripten-lib.js"); + +// Do it here, since it breaks 'require'' for libwrapper +let System = require("systemjs"); + + +// When instrumenting code with istanbul, +// automatic module type detection fails, +// thus we specify it here manually. +System.config({ + defaultJSExtensions: true, + //meta: { + // './test/tests/taler.js': { + // format: 'register' + // }, + // './lib/wallet/*': { + // format: 'register' + // } + //} +}); + +console.log("TAP version 13"); + +let mod = System.newModule({Module: emsc, default: emsc}); +let modName = System.normalizeSync(__dirname + "/../../lib/emscripten/taler-emscripten-lib.js"); +System.set(modName, mod); + + +let testName = process.argv[2]; +System.import("testlib/talertest") + .then(tt => { + SystemJS.import(testName) + .then(() => { + return tt.run(); + }) + .catch((e) => console.error(e)); + }) + .catch((e) => { + console.error("can't locate talertest"); + console.error(e); + }); + |