-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
repo census #99
Comments
|
terms-gen-meta doesn't generate code that can be meaningfully tested. it's for lsp only. it would be helpful to have it in a commit hook like we currently have stylua formatting check in the commit hook, to make sure the lsp types of terms constructors/unwraps/etc are always up to date |
currently tests are indeed not centralized afaict. they are run individually and some require a specific runtime (as noted in the table) there are two test frameworks that i can see currently in use: tap (for luvit, used in test-fitsinto) and luaunit (for luajit, used in test, and formerly test-pretty-print) |
I believe i had trouble getting tap working on windows, so we would need to figure that out if we wanted to use it. |
i'll probably need guidance to be sure that i'm maintaining the intent of the tests. particularly seeing how the smoketests and test-syntax-to-terms-to-eval seem similar in shape to runtest |
The smoke tests are intended to run a minimal amount of stuff all the way through their respective target; the metalanguage smoke test defines a minimal interpreted language based on the metalanguage system and evaluates some code in it to exercise a whole metalanguage pipeline. The Alicorn smoke test instantiates the whole Alicorn syntax and type system and makes it run essentially 2+2=4. The various test-$system tests are intended to run their system in isolation and test it on many cases, checking that the outputs match what we expect. Run test then launches a whole Alicorn interpreter and runs actual sizable code that does significant interaction with the compiler and goes through more of the bootstrap path to build and exercise high level capabilities inside the language. It should probably be refactored into a separated prelude which can be used in various tests and files as we build the base library, or have static tests built in with assertions in Alicorn to check them as the prelude gets checked. |
the unformatter test in test.lua is noticeably slower than all the other tests, do we want to look into that? |
at this time the only failing tests left are alicorn-smoketest, test-eval, and test-fitsinto |
we're ignoring test-fitsinto as it's not relevant right now, but we should probably fix test-eval. Alicorn-smoketest is the exact same as metalanguage-smoketest and has been deleted. @bootstrap-prime needs to explain why paranthesis parsing is quadratic |
from my analysis of the requires, all the files reachable from runtest are:
besides runtest, there are other tests, and few of these give a clear indication of pass/fail:
test-format-adapteranycrashes, out of date (requires 'temp-format', deleted 2023-12-19 5a3788e)not a test, an old version of format-adapter used by metalanguage-smoketestruns to completion, not clear whether pass/failcrashes, out of dateout of all the lua files that are left, terms-gen-meta is used to regenerate the files under types/, and all the others seem to be obsolete code (besides repo-wide refactors, they didn't get meaningful changes since 2023-07-16):
there's also a samplecode.alc file that seems intended for illustration and not for running
The text was updated successfully, but these errors were encountered: