on master help sign in
did tests
2ba97e9iko
README.mdnew file+9
@@ -0,0 +1,9 @@
1+# Luau
2+
3+A lua interpreter for urbit.
4+
5+## Running tests
6+
7+```
8+-luau!test-lua
9+```
zod/luau/ted/test-lua.hoon+15−6
@@ -1,5 +1,6 @@
1/- spider
1/- spider
2/+ *strandio
2/+ *strandio
3+/+ lua-parser
3=<
4=<
4=/ m (strand:spider ,vase)
5=/ m (strand:spider ,vase)
5^- thread:spider
6^- thread:spider
@@ -7,17 +8,25 @@
7^- form:m
8^- form:m
8;< bek=beak bind:m get-beak
9;< bek=beak bind:m get-beak
9;< lua-files=(list path) bind:m (list-tree [bek /res/lua])
10;< lua-files=(list path) bind:m (list-tree [bek /res/lua])
10−:: ;< * bind:m ((map-m ,@ud ~) ~[1 2 3] |=(x=@ (flog-text "{<x>}")))
11;< results=(list test-result) bind:m
11;< results=(list test-result) bind:m
12 =/ m (strand:spider ,(list test-result))
12 =/ m (strand:spider ,(list test-result))
13 =/ res=(list test-result) ~
13 =/ res=(list test-result) ~
14 |-
14 |-
15 ?~ lua-files (pure:m res)
15 ?~ lua-files (pure:m res)
16+ =/ current-file i.lua-files
17+ ~& current-file
16− ;< =cage bind:m (read-file [bek i.lua-files])
18+ ;< =cage bind:m (read-file [bek current-file])
17− =/ bar (of-wain:format !<(wain +.cage))
19+ =/ lua-code=@t (of-wain:format !<(wain +.cage))
18− :: ;< * bind:m (flog-text "{<i.lua-files>} {(scag 50 (trip bar))}")
20+ ~& %parsing
21+ =/ parse-result ?~ (rush lua-code lua-parser) %err %ok
22+ ~& parse-result
19− $(lua-files t.lua-files, res [%ok res])
23+ $(lua-files t.lua-files, res [parse-result res])
20−(pure:m !>(~))
24+%- pure:m
25+ !>
26+ :*
27+ passed=(lent (skim results |=(=test-result =(%ok test-result))))
28+ errored=(lent (skim results |=(=test-result =(%err test-result))))
29+ ==
21|%
30|%
22+$ test-result $?(%ok %err)
31+$ test-result $?(%ok %err)
23--
32--