summaryrefslogtreecommitdiff
path: root/tests/tableopts.rules
Commit message (Collapse)AuthorAgeFilesLines
* Rulesets now carry their test loads with them.Eric S. Raymond2020-10-311-1/+3
| | | | Makes it easier to see what the tests are doing.
* Move some boilerplate out of rules files.Eric S. Raymond2020-10-241-6/+1
| | | | They are now pure Flex rulesets.
* Introduce testmaker.m4 and testmaker.shEric S. Raymond2020-10-201-0/+39
The existing method of generating multiple tests from l4 files is not flexible enough to handle multilanguage - reliance on the C preprocessor prevents that. This commit creates replacement machinery that's more flexible and will greatly reduce the complexity of adding new back ends. The idea is to generate test .l files by combining a backend-independent ruleset with backend-dependent boilerplate for test mains and preambles. This commit creates the rules files, the m4 to template them into tests, and a shell wrapper to drive the m4 expansion. The autoconf integration works OK, but requires additional rules at the end of tests/Makefile.am that probably ought to be autogenerated. There was one other change forced by this. In order for the new testmaker to work, it needs to be possible to analyze test file names into stems and option modifiers. Having underscores in the stem would make the analysis slower and bug-prone. I wanted to change them to "-" rather than deleting them, but this gives autoconf fits - it seems to not like filenames with embedded dashes in certain contexts. At this commit, only one test - array_nr.l - is generated using the new system.