aboutsummaryrefslogtreecommitdiff
path: root/test/t.js
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-07-17 07:28:21 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-07-17 08:06:17 -0400
commit357a9ab4e25a0101121761c503e14ba38d32093c (patch)
tree0cdaedd3eca6f3854a82f86ea50bb231e68ad2dc /test/t.js
parent5c4a7106dc47e2e1849eddf4d87fb0e107461d74 (diff)
Move some files around
Diffstat (limited to 'test/t.js')
-rwxr-xr-xtest/t.js29
1 files changed, 18 insertions, 11 deletions
diff --git a/test/t.js b/test/t.js
index f958bbb3..88310720 100755
--- a/test/t.js
+++ b/test/t.js
@@ -1,5 +1,5 @@
//usr/bin/env node "$0" $@;exit $?
-const bqn=require(require('os').homedir+'/bin/bqn')
+const execFile = require('child_process').execFile
, load=f=>require('fs').readFileSync(__dirname+'/'+f,'utf8')
, runWasm=w=>new WebAssembly.Instance(new WebAssembly.Module(Uint8Array.from(w)))
.exports.fn()
@@ -7,13 +7,20 @@ const bqn=require(require('os').homedir+'/bin/bqn')
const t=load('cases.bqn').split('\n').filter(x=>x).map(x=>x.split(' % '))
, test=t.map(e=>'"'+e[1]+'"').join('\n')
, expt=t.map(e=>+e[0])
- , rslt=bqn(load('../c.bqn','utf8').concat('Compile¨⟨'+test+'⟩'))
- .a.map((a,i)=>runWasm(a.a))
- , pass=rslt.map((r,i)=>r===expt[i])
- , fail=pass.map((p,i)=>p?-1:i).filter(i=>i>=0)
-console.log(
- fail.length
- ? fail.map(i=>'"'+t[i][1]+'": expected '+expt[i]+' but received '+rslt[i])
- : "All passed!"
-)
-process.exit(+(fail.length>0))
+
+var compiler = execFile(
+ __dirname+'/../cshim.bqn',
+ [ '{•←Compile𝕩}¨⟨'+test+'⟩' ],
+ function (error, stdout, stderr) {
+ const rslt=stdout.split('\n').filter(a=>a.length)
+ .map(a=>runWasm(a.split("‿").map(n=>+n)))
+ , pass=rslt.map((r,i)=>r===expt[i])
+ , fail=pass.map((p,i)=>p?-1:i).filter(i=>i>=0)
+ console.log(
+ fail.length
+ ? fail.map(i=>'"'+t[i][1]+'": expected '+expt[i]+' but received '+rslt[i])
+ : "All passed!"
+ )
+ process.exit(+(fail.length>0))
+ }
+);