aboutsummaryrefslogtreecommitdiff
path: root/test/dzaima
blob: c86cf62134ac051cc6c5a62b7c947e82c3e56bea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#! /usr/bin/env dbqn

ncrtref  "-nocomp""-rt""-ref"  args
files  "simple""syntax""prim"(0=) ('-'≠⊑)¨⊸/ args
"Can't test runtime without the compiler!" ! ¬ncrtref

Native  BQN
exec  {
  nc ? Native ;
  # Otherwise compiled
  DRun  Import "dc.bqn"
  r  {
    ref ? Import "ref.bqn"  ;            # Reference implementations
    rt  ? Import "dzrt.bqn" ;            # Self-hosted
    BQN∘⥊¨  Import "../src/glyphs.bqn" # Native runtime
  }
  rDRun
}

Cases  (0<)0('#'≠⊑)¨⊸/ · FLines "cases/"∾∾⟜".bqn"
c   Cases¨ files
Trim  ((∨`∧∨`⌾⌽)' '⊸≠)/
M  {eb:
  Msg  {∾⟨
    """",b,""": expected "
    "to fail"("!"⊸≡)e
    " but "
    0⊸≡◶⟨"received "2Fmt,"evaluation failed"𝕩
    ⥊@+10
  }
  ("!"⊸≡◶⟨<Native,0˙⟩ e) ≢◶""Msg <Exec0 b
}
r  (M '%'= (∨´⊣)◶⟨"1"⋈⊢, Trim¨(+`-2⊸×)⊸⊔⟩ )¨ c
Out ("All "(Reprc)" passed!")(0=) ¯1↓∾r