uCBQN/test/readTests.bqn

35 lines
1.5 KiB
BQN
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#! /usr/bin/env dbqn
"Usage: ./test.bqn path/to/mlochbaum/BQN [-qsmevw] name | ./BQN"!2•args
# q - no "finished" at end
# s - only non-erroring
# e - only erroring
# v - verify that the result is the expected one
# w - wrap each expression in {}s so it can be a single compilation unit
path•wdpath•file.At •args
args1•args
opt""
{𝕊: opt𝕩 args˜1}('-') args
verify 'v'opt
wrap 'w'opt
onlyErr 'e'opt
onlyReg 's'opt
"Missing argument!"!0<args
{
case 𝕩".bqn"
tests •FLines path"/test/cases/"case
tests/˜ (("#"1)0<)¨tests
{𝕊: tests/˜'!'¨tests} onlyReg
{𝕊: tests/˜'!'=¨tests} onlyErr
RMC '#' # doesn't work for token.bqn but whatever
Q {
i𝕩'%'
((1+'!'𝕩)×verify)(1+i) { """should've errored!""∘•BQN⎊1 """ {𝕩/˜1+𝕩='"'}𝕩˜1+𝕩'%' """"} {"""incorrect!""‿1⊑˜(" i𝕩 ") ≡ {" (1+i)𝕩 " }"} RMC 𝕩
}
Out {•Out('%'){"""incorrect!""‿1⊑˜1≡{"RMC𝕩" }"}verify {"{"RMC𝕩"}"}wrap Q 𝕩}
(('m'opt)Out{•Show𝕩Out𝕩})¨tests
# ('%'⊸∊∨ '#'= ·⊑ ∾⟜"#")◶•Out‿@¨tests
}¨args
•Out(¬'q'opt) """finished"""
•Out(¬'q'opt) ""