[WIP] Modified Lua 5.4.7 test suite #219
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR attempts to lightly adapt the Lua 5.4.7 test suite to Luerl. I have gone through most (if not all) of the tests and commented out the tests that are not functional and added an appropriate print() noting that the test is non-functional and a TODO in the comments where applicable. As we've discussed in Discord, a lot of the failing tests may not make sense to fix in Luerl, but I do think I've identified a few a few genuine compatibility bugs here and there.
I don't expect this PR to get merged as-is, but I think it's a starting point for building something Luerl-specific. Maybe we could discuss an appropriate structure (eunit-based, perhaps?) for Luerl-specific tests, based off of the Lua test suite, that could run as part of the GitHub action, or separately. That's my thinking for the ultimate direction of this PR (or a new PR after closing this one).
Here's how I've been approaching each file:
Which gives an output like this:
Where possible, I've tried to describe the test in print() if an existing comment didn't exist -- some of these may not be accurate. I've also annotated some of the nonfunctioning tests with a TODO comment, which you can grep through:
Broadly summarizing the categories of non-functional tests:
goto
,coroutine
, etc. Some of the tests also (as you might expect) depend on functionality that hasn't been implemented indebug
orio
, for instance. I don't see these as particularly urgent.heavy.lua
, for instance, hung up the shell for a bit, but were OOM-killed on a machine with 32GB RAM. Other tests unexpectedly hung the shell for reasons I couldn't understand. I've tried to note these in TODOs where I remembered to do so :)