lua: scoreboard baseline — 0/16 runnable (14 parse, 1 print, 1 vararg)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled

This commit is contained in:
2026-04-24 17:43:33 +00:00
parent 3ab8474e78
commit 4815db461b
3 changed files with 212 additions and 1 deletions

171
lib/lua/scoreboard.json Normal file
View File

@@ -0,0 +1,171 @@
{
"totals": {
"pass": 0,
"fail": 16,
"timeout": 0,
"skip": 8,
"total": 24,
"runnable": 16,
"pass_rate": 0.0
},
"top_failure_modes": [
[
"parse error",
14
],
[
"undefined symbol: print\\",
1
],
[
"transpile: unsupported node",
1
]
],
"results": [
{
"name": "all.lua",
"status": "skip",
"reason": "driver uses dofile to chain other tests",
"ms": 0
},
{
"name": "api.lua",
"status": "skip",
"reason": "requires testC (C debug library)",
"ms": 0
},
{
"name": "attrib.lua",
"status": "fail",
"reason": "parse error",
"ms": 3243
},
{
"name": "big.lua",
"status": "fail",
"reason": "undefined symbol: print\\",
"ms": 4383
},
{
"name": "calls.lua",
"status": "fail",
"reason": "parse error",
"ms": 3565
},
{
"name": "checktable.lua",
"status": "skip",
"reason": "internal debug helpers",
"ms": 0
},
{
"name": "closure.lua",
"status": "fail",
"reason": "parse error",
"ms": 3465
},
{
"name": "code.lua",
"status": "skip",
"reason": "bytecode inspection via debug library",
"ms": 0
},
{
"name": "constructs.lua",
"status": "fail",
"reason": "parse error",
"ms": 2522
},
{
"name": "db.lua",
"status": "skip",
"reason": "debug library",
"ms": 0
},
{
"name": "errors.lua",
"status": "fail",
"reason": "parse error",
"ms": 2371
},
{
"name": "events.lua",
"status": "fail",
"reason": "parse error",
"ms": 5133
},
{
"name": "files.lua",
"status": "skip",
"reason": "io library",
"ms": 0
},
{
"name": "gc.lua",
"status": "skip",
"reason": "collectgarbage / finalisers",
"ms": 0
},
{
"name": "literals.lua",
"status": "fail",
"reason": "parse error",
"ms": 1434
},
{
"name": "locals.lua",
"status": "fail",
"reason": "parse error",
"ms": 1386
},
{
"name": "main.lua",
"status": "skip",
"reason": "standalone interpreter driver",
"ms": 0
},
{
"name": "math.lua",
"status": "fail",
"reason": "parse error",
"ms": 2427
},
{
"name": "nextvar.lua",
"status": "fail",
"reason": "parse error",
"ms": 4241
},
{
"name": "pm.lua",
"status": "fail",
"reason": "parse error",
"ms": 5026
},
{
"name": "sort.lua",
"status": "fail",
"reason": "parse error",
"ms": 930
},
{
"name": "strings.lua",
"status": "fail",
"reason": "parse error",
"ms": 3424
},
{
"name": "vararg.lua",
"status": "fail",
"reason": "transpile: unsupported node",
"ms": 1931
},
{
"name": "verybig.lua",
"status": "fail",
"reason": "parse error",
"ms": 450
}
]
}

39
lib/lua/scoreboard.md Normal file
View File

@@ -0,0 +1,39 @@
# Lua-on-SX conformance scoreboard
**Pass rate:** 0/16 runnable (0.0%)
fail=16 timeout=0 skip=8 total=24
## Top failure modes
- **14x** parse error
- **1x** undefined symbol: print\
- **1x** transpile: unsupported node
## Per-test results
| Test | Status | Reason | ms |
|---|---|---|---:|
| all.lua | skip | driver uses dofile to chain other tests | 0 |
| api.lua | skip | requires testC (C debug library) | 0 |
| attrib.lua | fail | parse error | 3243 |
| big.lua | fail | undefined symbol: print\ | 4383 |
| calls.lua | fail | parse error | 3565 |
| checktable.lua | skip | internal debug helpers | 0 |
| closure.lua | fail | parse error | 3465 |
| code.lua | skip | bytecode inspection via debug library | 0 |
| constructs.lua | fail | parse error | 2522 |
| db.lua | skip | debug library | 0 |
| errors.lua | fail | parse error | 2371 |
| events.lua | fail | parse error | 5133 |
| files.lua | skip | io library | 0 |
| gc.lua | skip | collectgarbage / finalisers | 0 |
| literals.lua | fail | parse error | 1434 |
| locals.lua | fail | parse error | 1386 |
| main.lua | skip | standalone interpreter driver | 0 |
| math.lua | fail | parse error | 2427 |
| nextvar.lua | fail | parse error | 4241 |
| pm.lua | fail | parse error | 5026 |
| sort.lua | fail | parse error | 930 |
| strings.lua | fail | parse error | 3424 |
| vararg.lua | fail | transpile: unsupported node | 1931 |
| verybig.lua | fail | parse error | 450 |

View File

@@ -57,7 +57,7 @@ Each item: implement → tests → tick box → update progress log.
- [x] Raw table access `t.k` / `t[k]` (no metatables yet)
- [x] Vendor PUC-Rio 5.1.5 suite to `lib/lua/lua-tests/` (just `.lua` files)
- [x] `lib/lua/conformance.sh` + Python runner (model on `lib/js/test262-runner.py`)
- [ ] `scoreboard.json` + `scoreboard.md` baseline
- [x] `scoreboard.json` + `scoreboard.md` baseline
### Phase 4 — metatables + error handling (next run)
- [ ] Metatable dispatch: `__index`, `__newindex`, `__add`/`__sub`/…, `__eq`, `__lt`, `__call`, `__tostring`, `__len`
@@ -82,6 +82,7 @@ Each item: implement → tests → tick box → update progress log.
_Newest first. Agent appends on every commit._
- 2026-04-24: lua: PUC-Rio scoreboard baseline — 0/16 runnable pass (0.0%). Top modes: 14× parse error, 1× `print` undef, 1× vararg transpile. Phase 3 complete.
- 2026-04-24: lua: conformance runner — `conformance.sh` shim + `conformance.py` (long-lived sx_server, epoch protocol, classify_error, writes scoreboard.{json,md}). 24 files classified in full run: 8 skip / 16 fail / 0 timeout.
- 2026-04-24: lua: vendored PUC-Rio 5.1 test suite (lua5.1-tests.tar.gz from lua.org) to `lib/lua/lua-tests/` — 22 .lua files, 6304 lines; README kept for context.
- 2026-04-24: lua: raw table access — fix `lua-set!` to use `dict-set!` (mutating), fix `lua-len` `has?``has-key?`, `#t` works, mutation/chained/computed-key writes + reference semantics. 224 total tests.