project/firewall4.git
3 years agotests: expand testing
Jo-Philipp Wich [Wed, 31 Mar 2021 20:09:01 +0000 (22:09 +0200)]
tests: expand testing

 - Rewrite test framework
 - Add initial rule test coverage

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
3 years agofw4.uc: fix family test functions
Jo-Philipp Wich [Wed, 31 Mar 2021 19:55:08 +0000 (21:55 +0200)]
fw4.uc: fix family test functions

Rewrite the family test functions as arrow functions since ucode HEAD does
implicitly return the last function value expression as result anymore for
ordinary functions.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
3 years agofw4.uc: fix parsing boolean "0" values
Jo-Philipp Wich [Wed, 31 Mar 2021 19:05:56 +0000 (21:05 +0200)]
fw4.uc: fix parsing boolean "0" values

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
3 years agorule.uc: fix redundant whitespace in rules without target
Jo-Philipp Wich [Wed, 31 Mar 2021 19:05:11 +0000 (21:05 +0200)]
rule.uc: fix redundant whitespace in rules without target

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
3 years agoruleset.uc: reduce empty lines in output
Jo-Philipp Wich [Wed, 31 Mar 2021 17:45:46 +0000 (19:45 +0200)]
ruleset.uc: reduce empty lines in output

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
3 years agofw4.uc: gracefully handle missing defaults section
Jo-Philipp Wich [Wed, 31 Mar 2021 17:45:22 +0000 (19:45 +0200)]
fw4.uc: gracefully handle missing defaults section

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
3 years agotreewide: remove ucode module preloading
Jo-Philipp Wich [Tue, 30 Mar 2021 13:10:00 +0000 (15:10 +0200)]
treewide: remove ucode module preloading

Instead of preloading ucode modules via the cmdline, require the modules
as needed. This simplifies test case constructions since mock modules
can be injected by modifying the search path.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
3 years agofw4.uc: remove upvalue caching
Jo-Philipp Wich [Mon, 29 Mar 2021 12:06:01 +0000 (14:06 +0200)]
fw4.uc: remove upvalue caching

Now that ucode HEAD inherits the global scope in include() by default, we
do not need to cache our used functions anymore.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
3 years agoInitial commit
Jo-Philipp Wich [Fri, 19 Mar 2021 18:26:04 +0000 (19:26 +0100)]
Initial commit

Signed-off-by: Jo-Philipp Wich <jo@mein.io>