- Nov 28, 2017
-
-
Petr Špaček authored
Updated config tests, fixing code coverage for C and Lua See merge request !403
-
Petr Špaček authored
-
Petr Špaček authored
It does not make sense to create "distribution" tarball with dirty working tree or missing submodules, so this is now forbidden. make-archive.sh requires clean working tree and all submodules. Packing all submodules prevents us from releasing incomplete tarball, especially around release time. Distributions like Fedora are gradually getting ability to run integration test suites so it does not hurt to pack everything including test.
-
The 2.4.0 is required as a minimum.
-
Lint should always render the .lua from .lua.in files before checking.
-
Currently it gathers gcov and luacov code coverage, and merges it in a single lcov info file. It returns summary at the end which the CI can parse and interpret. It can build a html report later using the data.
-
I moved the test files to module directories because it allows vendoring of whole modules including tests etc. The test environment provides convenience functions and produces test output in TAP format. Ideally all tests should use a common format, so that CI can parse it provide better test output on PRs. It seems like Gitlab CI doesn't support anything yet, but there are two sort-of standards supported in CI tools - TAP and JUnit. I chose TAP because it's easier to read for humans, cmocka supports it, and it should be easier to adapt Deckard. There are also tools to convert TAP into JUnit XML file. Also added more tests for global functions and variables, and the test tool now also tracks coverage (if `luacov` is installed).
-
- Nov 27, 2017
-
-
Petr Špaček authored
CI: unify Docker images for kresd and Deckard CI See merge request !404
-
Petr Špaček authored
The Docker image now should work for both projects. Also, the image was extended with tools to measure code coverage.
-
- Nov 24, 2017
-
-
Petr Špaček authored
CI: add Lua lint and installcheck tests See merge request !402
-
Petr Špaček authored
/bin/sh in our image does not support "function" keyword
-
Petr Špaček authored
-
Petr Špaček authored
The test is useless in its current form because all the information goes to logs, which are later discarded. We need to fix issues detected by Valgrind first and then enable strict mode which will not let the test pass if any problem is detected. This might require recompiling LuaJIT in a way which is compatible with Valgrind.
-
Petr Špaček authored
-
Petr Špaček authored
-
Petr Špaček authored
Fixed linter issues in `daemon/lua`, added more config tests See merge request !400
-
Petr Špaček authored
fixed obvious linter problems See merge request !401
-
Marek Vavruša authored
there are two modules that couldn't work before: * graphite * ketcd
-
Marek Vavruša authored
Also fixed improper promotion of `ffi` to global variable. ``` $ luacheck --codes daemon/lua/ Checking daemon/lua/config.lua OK Checking daemon/lua/kres-gen.lua OK Checking daemon/lua/kres.lua OK Checking daemon/lua/sandbox.lua OK Checking daemon/lua/trust_anchors.lua OK Checking daemon/lua/zonefile.lua OK Total: 0 warnings / 0 errors in 6 files ```
-
Marek Vavruša authored
The library now depends on libknot >= 2.4.0 (in Debian stable), this allows us to remove a dead code and sed-ing of the kres.lua Added a basic config tests to check that constants still work, and basic interface to rrsets still works after the change.
-
Petr Špaček authored
Fixed predict module, config tests, cleanup See merge request !399
-
Marek Vavruša authored
this tests that: * sampling frequent queries works * the code to find periodic appearences of the same name and type * resolving predicted queries works it doesn't test pessimistic cases or failure modes
-
Marek Vavruša authored
There is no dependency on a testing library yet, so I added a basic interface for mocking and asserting test values to get something to start with. I'll probably replace it with busted or telescope later on to get nicer testing output.
-
Marek Vavruša authored
-
Marek Vavruša authored
The difficulty with using structs as constant tables is that access to non-existent fields throws an error. This is difficult to handle without wrapping every access in a pcall, for example in predict module: ``` error: /usr/local/lib/kdns_modules/predict.lua:34: 'struct rr_type' has no member named 'TYPE65535' ``` So I converted the constant tables into regular Lua tables, and added a metatable for RR types to allow looking up unnamed types, in the TYPE%d format. Looking up non-existent fields will now return nil instead of throwing an error.
-
Marek Vavruša authored
The `stats` module is now also included if not exists. ``` $ luacheck modules/predict Checking modules/predict/predict.lua OK Total: 0 warnings / 0 errors in 1 file ```
-
Marek Vavruša authored
The config tests locked up on error as if error was raised from the event callback, it would never reach the `quit()` statement, so server would never close on error. Added a script to make running these types of tests a little bit nicer and to allow concurrent execution of config tests. Added a test for the predict module, that fails on prediction of unknown types: ``` error: /usr/local/lib/kdns_modules/predict.lua:34: 'struct rr_type' has no member named 'TYPE65535' ```
-
- Nov 23, 2017
-
-
Petr Špaček authored
Added luacheck for linting Lua files and static analysis See merge request !398
-
Marek Vavruša authored
This is super useful for checking things like misusing undefined variables or modifying globals, especially in modules when it's not immediately visible which variables are in the global namespace and which are not. I added several exceptions for files in daemon/lua and tests, as for example sandbox module needs to legitimately modify global namespace. There's a lot of things failing, so I didn't make it part of the standard `make check`, but we should eventually enable it to improve code quality and spot problems with CI.
-
- Nov 20, 2017
-
-
Petr Špaček authored
CI optimization Closes #270 See merge request !397
-
Petr Špaček authored
-
Petr Špaček authored
See Deckard MR!85 for details.
-
Petr Špaček authored
-
Petr Špaček authored
Packages are already present in the image so we do not need to spend time on package maintenance.
-
Vladimír Čunát authored
-
Vladimír Čunát authored
For now I didn't touch the generator to be correct on this line, as we will probably want to change it after bumping minimal libknot version.
-
Vladimír Čunát authored
-
Vladimír Čunát authored
-