[Lace 00/11] Add compile-time checking for define names
by dsilvers@digital-scurf.org
From: Daniel Silverstone <dsilvers(a)digital-scurf.org>
Repo: git://git.gitano.org.uk/lace.git
Ref: dsilvers/definechecking
Sha1: 52d0418b0a71c9c9a0d16140e59f43193331208a
This series adds compile-time define name checking for:
* allow/deny conditions
* anyof/allof match types
* include conditions
This includes updating the test suite to support the need for the predefined
names to be declared; and also to test the condition matching.
Daniel Silverstone (11):
Save names of defines for checking later
Augment compcontext for tests.
Check in allow/deny that names are defined
Test for bad defines in allow
Ensure defined values
Remove obsolete tests
Support checking defines in anyof/allof
Test checking defines in anyof/allof
Ensure definitions are faked for include tests
Ensure defines used in include are checked for existing
Test that include statements error on bad condition names
lib/lace/builtin.lua | 39 ++++++++++++++-
test/test-lace.builtin.lua | 61 +++++++++++++++++-------
test/test-lace.compile-errorindefineanyof3.rules | 5 ++
test/test-lace.compile-errorindefineanyof4.rules | 5 ++
test/test-lace.compiler.lua | 28 ++++++++++-
test/test-lace.engine-unknownanyof.rules | 5 --
test/test-lace.engine-unknowndefine.rules | 3 --
test/test-lace.engine.lua | 26 ----------
8 files changed, 117 insertions(+), 55 deletions(-)
create mode 100644 test/test-lace.compile-errorindefineanyof3.rules
create mode 100644 test/test-lace.compile-errorindefineanyof4.rules
delete mode 100644 test/test-lace.engine-unknownanyof.rules
delete mode 100644 test/test-lace.engine-unknowndefine.rules
--
2.11.0