From fce1044b648a3b568ccc080acf2d554ae8251c84 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sat, 3 Apr 2021 14:01:35 -0400 Subject: Add tester for an arbitrary executable via stdin/stdout --- test/exe | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100755 test/exe (limited to 'test') diff --git a/test/exe b/test/exe new file mode 100755 index 00000000..fdf0acd3 --- /dev/null +++ b/test/exe @@ -0,0 +1,16 @@ +#! /usr/bin/env dbqn + +"usage: exe name [opts --] [tests]"!1≤≠•args + +# BQN is called with the first argument, or all up to the last -- +files‿exe ← •args ⊔˜ 2 ∾˜ ⊑◶⟨1⌾⊑,«⊸(⊣-<)⟩ ∨`⌾⌽ •args≡¨<"--" + +files ↩ ⟨"prim"⟩⍟(0=≠) files + +Include ← '%'⊸(∧´≠) ∧ (0<≠)◶0‿('#'≠⊑) +Cases ← Include¨⊸/ · •FLines "cases/"∾∾⟜".bqn" +c ← ∾ Cases¨ files +code‿r‿err ← {inp⇐∾∾⟜(@+10)¨c∾⟨""⟩} •SH exe +err ! 0≡code +rv ← •BQN "⟨"∾r∾"⟩" +•Out (0<≠)◶⟨"All "∾(⍕≠c)∾" passed!"˙,(⍕≠)∾" failed!"˙⟩ /1≢¨rv -- cgit v1.2.3