summaryrefslogtreecommitdiffstats
path: root/tests/functions_test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functions_test')
-rwxr-xr-xtests/functions_test54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/functions_test b/tests/functions_test
new file mode 100755
index 0000000..c5db566
--- /dev/null
+++ b/tests/functions_test
@@ -0,0 +1,54 @@
+#!/bin/sh
+set -u
+
+# Unit tests for scripts/functions
+
+TEST_DIR="${0%/*}"
+ROOT_DIR="$TEST_DIR/.."
+CR="
+"
+
+oneTimeSetUp() {
+ . "$ROOT_DIR/scripts/functions"
+}
+
+HOSTS_FOOTER="
+# The following lines are desirable for IPv6 capable hosts
+::1 localhost ip6-localhost ip6-loopback
+ff02::1 ip6-allnodes
+ff02::2 ip6-allrouters"
+
+test_generate_hosts_content_with_domain() {
+ hosts_content=$(_generate_hosts_content example com)
+ assertEquals "127.0.0.1 localhost${CR}127.0.1.1 example.com example${CR}${HOSTS_FOOTER}" "$hosts_content"
+}
+
+test_generate_hosts_content_without_domain() {
+ hosts_content=$(_generate_hosts_content example "")
+ assertEquals "127.0.0.1 localhost${CR}127.0.1.1 example${CR}${HOSTS_FOOTER}" "$hosts_content"
+}
+
+test_netinfo_to_resolv_conf_IPv4() {
+ resolv_conf=$(netinfo_to_resolv_conf - "$TEST_DIR/netinfo/net-eth0.conf")
+ assertEquals "domain example.net${CR}nameserver 192.0.2.42${CR}search example.net. example.com." "$resolv_conf"
+}
+
+test_netinfo_to_resolv_conf_duplicates() {
+ resolv_conf=$(netinfo_to_resolv_conf - "$TEST_DIR/netinfo/net-eth0.conf" "$TEST_DIR/netinfo/net-eth0.conf")
+ assertEquals "domain example.net${CR}nameserver 192.0.2.42${CR}search example.net. example.com." "$resolv_conf"
+}
+
+test_netinfo_to_resolv_conf_mutliple() {
+ resolv_conf=$(netinfo_to_resolv_conf - "$TEST_DIR/netinfo/net-eth0.conf" "$TEST_DIR/netinfo/net-eth1.conf")
+ assertEquals "domain example.org${CR}nameserver 192.0.2.42${CR}nameserver 192.0.2.84${CR}search example.net. example.com. example.org." "$resolv_conf"
+}
+
+test_netinfo_to_resolv_conf_write_output() {
+ tmpfile=$(mktemp -t initramfs-tools.XXXXXXXXXX)
+ netinfo_to_resolv_conf "$tmpfile" "$TEST_DIR/netinfo/net-eth0.conf"
+ assertEquals "domain example.net${CR}nameserver 192.0.2.42${CR}search example.net. example.com." "$(cat "$tmpfile")"
+ rm -f "$tmpfile"
+}
+
+# Load shUnit2.
+. shunit2