diff options
author | Lukáš Ježek <lukas.jezek@nic.cz> | 2019-11-18 12:16:42 +0100 |
---|---|---|
committer | Petr Špaček <petr.spacek@nic.cz> | 2019-11-20 13:36:18 +0100 |
commit | e4196a56ad9d900c7ec6228c5682c131fab62f95 (patch) | |
tree | da6543a137661b439a7aa465833a746709d36b9e /modules/experimental_dot_auth | |
parent | Merge branch 'doh_decrypt' into 'master' (diff) | |
download | knot-resolver-e4196a56ad9d900c7ec6228c5682c131fab62f95.tar.xz knot-resolver-e4196a56ad9d900c7ec6228c5682c131fab62f95.zip |
tests: packaging
Directory with subdirectory "packaging" is called "component".
List all components: python3 tests/packaging-doc.py --list
Run all tests/compoments: python3 tests/packaging-doc.py
Run specific test/component: python3 tests/packaging-doc.py --test <component>
The file structure for 1 component:
daemon - dependencies for 1 component "kresd daemon" (default component, must always be there)
scripts/distros - dependencies for 1 component for specific distro (must always be there)
scripts/dockerfile_gen.py - test Dockerfile generator, see below
tests/packaging.py - script to generate and build all combinations
of Docker files for all components
[component] - directory of component/test, see below
(e.g. "client/packaging/", "modules/http/packaging/" etc.)
The file structure of each component:
[component]
<distro>/<version> - package names
- builddeps - list of build depedencies
- rundeps - list of runtime depedencies
- pre-build.sh - script called before build phase
- post-build.sh - script called after build phase
- pre-run.sh - script called before run phase
- post-run.sh - script called after run phase
- install.sh and build.sh script called during build phase
test.config or test.sh - kresd config test or shell script
note: content of "scripts/distroos" is same as "<distro>/<version>" of component.
There are "build" and "run" phases. "build" phase precedes "run" phase.
All script are called in this order:
1. pre-<phase>.sh
2. install packages specifed in the file "<phase>deps"
3a. for "build" phase: run build.sh and install.sh
3b. for "run" phase: run 'kresd -c [component]/test.config' or config.sh
4. remove packages specified in the file "<phase>deps"
5. post-<phase>.sh
Each step above is combines base components with a component under test.
E.g. component "scripts/distros" always precedes component "daemon/packaging"
and it precedes the tested component e.g. "modules/http".
In long term we might migrate this to py.test or some other well known
framework.
Diffstat (limited to 'modules/experimental_dot_auth')
-rw-r--r-- | modules/experimental_dot_auth/packaging/debian/10/rundeps | 1 | ||||
-rw-r--r-- | modules/experimental_dot_auth/packaging/test.config | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/modules/experimental_dot_auth/packaging/debian/10/rundeps b/modules/experimental_dot_auth/packaging/debian/10/rundeps new file mode 100644 index 00000000..36b83e18 --- /dev/null +++ b/modules/experimental_dot_auth/packaging/debian/10/rundeps @@ -0,0 +1 @@ +lua-basexx diff --git a/modules/experimental_dot_auth/packaging/test.config b/modules/experimental_dot_auth/packaging/test.config new file mode 100644 index 00000000..e66cff40 --- /dev/null +++ b/modules/experimental_dot_auth/packaging/test.config @@ -0,0 +1,3 @@ +modules.load('experimental_dot_auth') +assert(experimental_dot_auth) +quit() |