-
Notifications
You must be signed in to change notification settings - Fork 19
/
README
77 lines (46 loc) · 2.47 KB
/
README
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
********************************************
** THIS IS NOT THE TEST SUITE FOR LUAJIT! **
********************************************
In fact it doesn't even have the steps to build it or run it,
so please don't complain.
This repo is a place to collect and cleanup tests for LuaJIT.
They should eventually be merged into the main LuaJIT repo.
It's definitely not in the best state and needs a serious
cleanup effort. Sorry.
Many issues need to be resolved before the merge can be performed:
- Choose a portable test runner
Requirement: very few dependencies, possibly Lua/Shell only
- Minimal test runner library, wherever assert() is not enough
- Debugging test failures is a lot simpler, when individual tests can still
be run from the LuaJIT command line without any big dependencies
- Define consistent grouping of all tests
- Define consistent naming of all tests
- Split everything into a lot of tiny tests
- Reduce time taken to run the test suite
Separate tiers, parallelized testing
- Some tests can only run under certain configurations (e.g. FFI)
- Some tests need a clean slate to give reproducible results
Most others should be run from the same state for performance resons
- Hard to check that the JIT compiler actually generates the intended code
Maybe use a test matching variant of the jit.dump module
- Portability concerns
- Avoiding undefined behavior in tests or ignoring it
- Matrix of architectures + configuration options that need testing
- Merge tests from other sources, e.g. the various Lua test suites.
- Tests should go into the LuaJIT git repo, but in separate tarballs
for the releases
There are some benchmarks, too:
- Some of the benchmarks can be used as tests (with low scaling)
by checksumming their output and comparing against known good results
- Most benchmarks need different scalings to be useful for comparison
on all architectures
Note from Mike Pall:
I've removed all tests of undeterminable origin or that weren't explicitly
contributed with the intention of being part of a public test suite.
I hereby put all Lua/LuaJIT tests and benchmarks that I wrote under the
public domain. I've removed any copyright headers.
If I've forgotten an attribution or you want your contributed test to be
removed, please open an issue.
There are some benchmarks that bear other copyrights, probably public
domain, BSD or MIT licensed. If the status cannot be determined, they
need to be replaced or removed before merging with the LuaJIT repo.