summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2022-05-12 12:01:36 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2022-05-12 12:01:36 +0200
commit14479d66c893f72a6e8313cdca1b3269b2418bc3 (patch)
tree9a1fa4319a8ccc73005355ba8bb25afc8e39b148 /tests
parent654cbd2971de0d3e18b7610d3e7b3bd025348d5b (diff)
downloadalpine-conf-14479d66c893f72a6e8313cdca1b3269b2418bc3.zip
tests: refactor to de-duplicate code
Have a shared test_env.sh to de-duplicate code. Add a common test_usage, where we test that: - option -h prints to stdout and exit with success - invalid option prints usage to stderr and exit with error Use a common init_tests and a common atf_init_test_cases Move documenation links to README.md
Diffstat (limited to 'tests')
-rw-r--r--tests/README.md10
-rwxr-xr-xtests/setup_devd_test22
-rwxr-xr-xtests/setup_hostname_test22
-rwxr-xr-xtests/setup_interfaces_test10
-rwxr-xr-xtests/setup_keymap_test22
-rwxr-xr-xtests/setup_sshd_test35
6 files changed, 40 insertions, 81 deletions
diff --git a/tests/README.md b/tests/README.md
new file mode 100644
index 0000000..b20c5d7
--- /dev/null
+++ b/tests/README.md
@@ -0,0 +1,10 @@
+# alpine-conf testsuite
+
+This testsuite uses kyua and atf-sh
+
+For documentation:
+
+- https://github.com/jmmv/kyua/wiki/Quickstart-atf-sh-test
+- https://manned.org/atf-sh-api
+
+
diff --git a/tests/setup_devd_test b/tests/setup_devd_test
index d911314..60e84b3 100755
--- a/tests/setup_devd_test
+++ b/tests/setup_devd_test
@@ -1,24 +1,10 @@
#!/usr/bin/env atf-sh
-init_env() {
- PATH=$(atf_get_srcdir)/..:$PATH
- export ROOT=$PWD LIBDIR=$(atf_get_srcdir)/.. MOCK=echo
-}
-
-# docs:
-# - https://github.com/jmmv/kyua/wiki/Quickstart-atf-sh-test
-# - https://manned.org/atf-sh-api
-
-atf_init_test_cases() {
- atf_add_test_case setup_devd_usage
-}
+. $(atf_get_srcdir)/test_env.sh
+init_tests \
+ setup_devd_usage
-atf_test_case setup_devd_usage
setup_devd_usage_body() {
- init_env
- atf_check -s exit:0 \
- -o match:'^usage: setup-devd' \
- -e empty \
- setup-devd -h
+ test_usage setup-devd
}
diff --git a/tests/setup_hostname_test b/tests/setup_hostname_test
index 2a5943f..a4c1809 100755
--- a/tests/setup_hostname_test
+++ b/tests/setup_hostname_test
@@ -1,24 +1,10 @@
#!/usr/bin/env atf-sh
-init_env() {
- PATH=$(atf_get_srcdir)/..:$PATH
- export ROOT=$PWD LIBDIR=$(atf_get_srcdir)/.. MOCK=echo
-}
-
-# docs:
-# - https://github.com/jmmv/kyua/wiki/Quickstart-atf-sh-test
-# - https://manned.org/atf-sh-api
-
-atf_init_test_cases() {
- atf_add_test_case setup_hostname_usage
-}
+. $(atf_get_srcdir)/test_env.sh
+init_tests \
+ setup_hostname_usage
-atf_test_case setup_hostname_usage
setup_hostname_usage_body() {
- init_env
- atf_check -s exit:0 \
- -o match:'^usage: setup-hostname' \
- -e empty \
- setup-hostname -h
+ test_usage setup-hostname
}
diff --git a/tests/setup_interfaces_test b/tests/setup_interfaces_test
new file mode 100755
index 0000000..e486083
--- /dev/null
+++ b/tests/setup_interfaces_test
@@ -0,0 +1,10 @@
+#!/usr/bin/env atf-sh
+
+. $(atf_get_srcdir)/test_env.sh
+init_tests \
+ setup_interfaces_usage
+
+setup_interfaces_usage_body() {
+ test_usage setup-interfaces
+}
+
diff --git a/tests/setup_keymap_test b/tests/setup_keymap_test
index 44c1643..30efbed 100755
--- a/tests/setup_keymap_test
+++ b/tests/setup_keymap_test
@@ -1,24 +1,10 @@
#!/usr/bin/env atf-sh
-init_env() {
- PATH=$(atf_get_srcdir)/..:$PATH
- export ROOT=$PWD LIBDIR=$(atf_get_srcdir)/.. MOCK=echo
-}
-
-# docs:
-# - https://github.com/jmmv/kyua/wiki/Quickstart-atf-sh-test
-# - https://manned.org/atf-sh-api
-
-atf_init_test_cases() {
- atf_add_test_case setup_keymap_usage
-}
+. $(atf_get_srcdir)/test_env.sh
+init_tests \
+ setup_keymap_usage
-atf_test_case setup_keymap_usage
setup_keymap_usage_body() {
- init_env
- atf_check -s exit:0 \
- -o match:'^usage: setup-keymap' \
- -e empty \
- setup-keymap -h
+ test_usage setup-keymap
}
diff --git a/tests/setup_sshd_test b/tests/setup_sshd_test
index c8e9dc7..b47f05e 100755
--- a/tests/setup_sshd_test
+++ b/tests/setup_sshd_test
@@ -1,33 +1,17 @@
#!/usr/bin/env atf-sh
+. $(atf_get_srcdir)/test_env.sh
+init_tests \
+ setup_sshd_usage \
+ setup_sshd_empty \
+ setup_sshd_dropbear \
+ setup_sshd_openssh \
+ setup_sshd_interactive
-init_env() {
- PATH=$(atf_get_srcdir)/..:$PATH
- export ROOT=$PWD LIBDIR=$(atf_get_srcdir)/.. MOCK=echo
-}
-
-# docs:
-# - https://github.com/jmmv/kyua/wiki/Quickstart-atf-sh-test
-# - https://manned.org/atf-sh-api
-
-atf_init_test_cases() {
- atf_add_test_case setup_sshd_usage
- atf_add_test_case setup_sshd_empty
- atf_add_test_case setup_sshd_dropbear
- atf_add_test_case setup_sshd_openssh
- atf_add_test_case setup_sshd_interactive
-}
-
-atf_test_case setup_sshd_usage
setup_sshd_usage_body() {
- init_env
- atf_check -s exit:0 \
- -o match:'^usage:' \
- -e empty \
- setup-sshd -h
+ test_usage setup-sshd
}
-atf_test_case setup_sshd_empty
setup_sshd_empty_body() {
init_env
atf_check -s exit:0 \
@@ -36,7 +20,6 @@ setup_sshd_empty_body() {
setup-sshd none
}
-atf_test_case setup_sshd_dropbear
setup_sshd_dropbear_body() {
init_env
atf_check -s exit:0 \
@@ -47,7 +30,6 @@ setup_sshd_dropbear_body() {
setup-sshd dropbear
}
-atf_test_case setup_sshd_openssh
setup_sshd_openssh_body() {
init_env
atf_check -s exit:0 \
@@ -59,7 +41,6 @@ setup_sshd_openssh_body() {
grep '^wget .*https://example.com/user.keys$' root/.ssh/authorized_keys || atf_fail "failed to wget ssh key"
}
-atf_test_case setup_sshd_interactive
setup_sshd_interactive_body() {
init_env
mkdir -p etc/ssh