aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-12-14 20:21:15 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-12-14 20:21:15 -0500
commitd4702524bc6f8279a9fe6f6739183216c07913bf (patch)
treefc5d66563fb8f465fd286c1aba41b31265ba762b /test
parent5157ac6cb4518c152a2124c73241dc62cf19e59b (diff)
Move test cases to their own directory
Diffstat (limited to 'test')
-rw-r--r--test/README.txt6
-rw-r--r--test/cases/prim.bqn (renamed from test/prim.bqn)0
-rw-r--r--test/cases/simple.bqn (renamed from test/cases.bqn)0
-rw-r--r--test/cases/syntax.bqn (renamed from test/bcases.bqn)0
-rwxr-xr-xtest/dz_comp5
-rwxr-xr-xtest/dz_wasm.js2
-rwxr-xr-xtest/js12
7 files changed, 13 insertions, 12 deletions
diff --git a/test/README.txt b/test/README.txt
index 26f2d4e6..66acffe7 100644
--- a/test/README.txt
+++ b/test/README.txt
@@ -9,10 +9,10 @@ dz_comp uses the self-hosted compiler ../src/c.bqn by default but not
the runtime ../src/r.bqn. Pass -rt to test with the runtime, and -comp
to test dzaima/BQN only (this doesn't pass as of the time of writing).
-Test cases:
+Test cases (cases/):
js dz_comp dz_wasm.js
-- cases.bqn * * *
-- bcases.bqn * *
+- simple.bqn * * *
+- syntax.bqn * *
- prim.bqn -prim -prim
Contents of bin/dbqn follow (3 lines). Replace "/path/to/dzaima/" with
diff --git a/test/prim.bqn b/test/cases/prim.bqn
index 03df0500..03df0500 100644
--- a/test/prim.bqn
+++ b/test/cases/prim.bqn
diff --git a/test/cases.bqn b/test/cases/simple.bqn
index b460c6a9..b460c6a9 100644
--- a/test/cases.bqn
+++ b/test/cases/simple.bqn
diff --git a/test/bcases.bqn b/test/cases/syntax.bqn
index 41f155ad..41f155ad 100644
--- a/test/bcases.bqn
+++ b/test/cases/syntax.bqn
diff --git a/test/dz_comp b/test/dz_comp
index c415bdf8..bb6f40dd 100755
--- a/test/dz_comp
+++ b/test/dz_comp
@@ -25,8 +25,9 @@ GetRT ← {𝕤:
Native ← {⍎𝕩}
exec ← (rt¬nc)◶⟨Native˙, DRun˙, {𝕩⊸DRun}∘GetRT⟩ @
-c ← ∾(•FLines ∾⟜"cases.bqn")¨""‿"b"
-{𝕩: c ∾↩ "1 %"⊸∾¨ (0<≠)◶0‿('#'≠⊑)¨⊸/ •FLines "prim.bqn" }⍟⊢ prim
+Cases ← (0<≠)◶0‿('#'≠⊑)¨⊸/ · •FLines "cases/"∾∾⟜".bqn"
+c ← ∾ Cases¨ "simple"‿"syntax"
+{𝕩: c ∾↩ "1 %"⊸∾¨ Cases "prim" }⍟⊢ prim
M ← {e‿b:
Err ← {(@+10)∾˜""""∾b∾""": expected "∾e∾" but received "∾⍕𝕩}
(Native e) ≢◶""‿Err Exec b
diff --git a/test/dz_wasm.js b/test/dz_wasm.js
index b8faa668..9fcdbdde 100755
--- a/test/dz_wasm.js
+++ b/test/dz_wasm.js
@@ -5,7 +5,7 @@ const execFile = require('child_process').execFile
, runWasm=w=>new WebAssembly.Instance(new WebAssembly.Module(Uint8Array.from(w)))
.exports.fn()
-const t=load('cases.bqn').split('\n').filter(x=>x).map(x=>x.split(' % '))
+const t=load('cases/simple.bqn').split('\n').filter(x=>x).map(x=>x.split(' % '))
, test=t.map(e=>'"'+e[1]+'"').join('\n')
, expt=t.map(e=>+e[0])
diff --git a/test/js b/test/js
index f70a0ca4..fd1fa980 100755
--- a/test/js
+++ b/test/js
@@ -1,19 +1,19 @@
#! /usr/bin/env node
let bqn = require(__dirname+'/../docs/bqn.js');
-let load = f=>require('fs').readFileSync(__dirname+'/'+f,'utf8');
+let read = require('fs').readFileSync;
+let cases = f=>read(__dirname+'/cases/'+f+'.bqn','utf8').split('\n')
+ .filter(x=>x.length>0 && x.charAt(0)!=='#');
let args = process.argv.slice(2);
let prim = args[0]==="-prim";
if (prim || args.length==0) {
- let t = (load('cases.bqn')+load('bcases.bqn'))
- .split('\n').filter(x=>x).map(x=>x.split(' % '));
+ let t = [].concat(cases('simple'),cases('syntax'))
+ .map(x=>x.split(' % '));
let test = t.map(e=>e[1]);
let expt = t.map(e=>+e[0]);
if (prim) {
- let r = load('prim.bqn').split('\n')
- .filter(x=>x.length>0
- &&x.charAt(0)!=='#');
+ let r = cases('prim');
test = test.concat(r);
expt = expt.concat(r.map(e=>1));
}