diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2015-11-05 14:21:31 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2015-11-05 14:21:31 +0000 |
commit | b931a482d7d152c53863d1f15413d6ce595d6c79 (patch) | |
tree | 3938098eaa88859b8509d2559e4cc6eee23b3a71 | |
parent | d802f4714a68b28a7b48f03d4784ff4d04bf4a78 (diff) | |
download | lace-b931a482d7d152c53863d1f15413d6ce595d6c79.tar.gz |
Fix small bug which fails to propagate defaults
-rw-r--r-- | lib/lace/compiler.lua | 4 | ||||
-rw-r--r-- | test/test-lace.compile-defaults_propagate.rules | 2 | ||||
-rw-r--r-- | test/test-lace.compile-defaults_propagate_2.rules | 1 | ||||
-rw-r--r-- | test/test-lace.compiler.lua | 7 |
4 files changed, 11 insertions, 3 deletions
diff --git a/lib/lace/compiler.lua b/lib/lace/compiler.lua index 26a4e23..57b432f 100644 --- a/lib/lace/compiler.lua +++ b/lib/lace/compiler.lua @@ -2,7 +2,7 @@ -- -- Lua Access Control Engine - Ruleset compiler -- --- Copyright 2012 Daniel Silverstone <dsilvers@digital-scurf.org> +-- Copyright 2012,2015 Daniel Silverstone <dsilvers@digital-scurf.org> -- -- For licence terms, see COPYING -- @@ -152,7 +152,7 @@ local function internal_compile_ruleset(compcontext, sourcename, content, suppre -- in which case use the default -- There's no unconditional result and no default, fake up a default and -- then use it. - if not suppress_default and not uncond and not result then + if not suppress_default and not uncond and not result and not compcontext._lace.default then local _, nores = err.error("No result set whatsoever", {}) return false, err.augment(nores, ruleset.content, #ruleset.content.lines + 1) end diff --git a/test/test-lace.compile-defaults_propagate.rules b/test/test-lace.compile-defaults_propagate.rules new file mode 100644 index 0000000..d7d11e5 --- /dev/null +++ b/test/test-lace.compile-defaults_propagate.rules @@ -0,0 +1,2 @@ +# Nothing +include defaults_propagate_2 diff --git a/test/test-lace.compile-defaults_propagate_2.rules b/test/test-lace.compile-defaults_propagate_2.rules new file mode 100644 index 0000000..464f4f4 --- /dev/null +++ b/test/test-lace.compile-defaults_propagate_2.rules @@ -0,0 +1 @@ +default allow "OK" diff --git a/test/test-lace.compiler.lua b/test/test-lace.compiler.lua index 89fde98..412f93c 100644 --- a/test/test-lace.compiler.lua +++ b/test/test-lace.compiler.lua @@ -2,7 +2,7 @@ -- -- Lua Access Control Engine -- Tests for the compiler -- --- Copyright 2012 Daniel Silverstone <dsilvers@digital-scurf.org> +-- Copyright 2012,2015 Daniel Silverstone <dsilvers@digital-scurf.org> -- -- For Licence terms, see COPYING -- @@ -375,6 +375,11 @@ function suite.error_in_include2() assert(line4 == " ^^^^^^^^^^^^^^^^^^^^^^^^", "The fourth line highlights relevant words") end +function suite.defaults_propagate() + local result, msg = compiler.compile(comp_context, "defaults_propagate") + assert(result, msg) +end + local count_ok = 0 for _, testname in ipairs(testnames) do -- print("Run: " .. testname) |