summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rwxr-xr-xtests/functions_test54
-rw-r--r--tests/netinfo/net-eth0.conf17
-rw-r--r--tests/netinfo/net-eth1.conf17
3 files changed, 88 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
diff --git a/tests/netinfo/net-eth0.conf b/tests/netinfo/net-eth0.conf
new file mode 100644
index 0000000..3c79b6d
--- /dev/null
+++ b/tests/netinfo/net-eth0.conf
@@ -0,0 +1,17 @@
+DEVICE='eth0'
+PROTO='dhcp'
+IPV4ADDR='192.0.2.101'
+IPV4BROADCAST='192.0.2.255'
+IPV4NETMASK='255.255.255.0'
+IPV4GATEWAY='192.0.2.1'
+IPV4DNS0='192.0.2.42'
+IPV4DNS1='0.0.0.0'
+HOSTNAME='example-host'
+DNSDOMAIN='example.net'
+NISDOMAIN=''
+ROOTSERVER='192.0.2.1'
+ROOTPATH=''
+filename=''
+UPTIME='4'
+DHCPLEASETIME='86400'
+DOMAINSEARCH='example.net. example.com.'
diff --git a/tests/netinfo/net-eth1.conf b/tests/netinfo/net-eth1.conf
new file mode 100644
index 0000000..fb3fb27
--- /dev/null
+++ b/tests/netinfo/net-eth1.conf
@@ -0,0 +1,17 @@
+DEVICE='eth1'
+PROTO='dhcp'
+IPV4ADDR='192.0.2.150'
+IPV4BROADCAST='192.0.2.255'
+IPV4NETMASK='255.255.255.0'
+IPV4GATEWAY='192.0.2.254'
+IPV4DNS0='192.0.2.84'
+IPV4DNS1='0.0.0.0'
+HOSTNAME='example-host'
+DNSDOMAIN='example.org'
+NISDOMAIN=''
+ROOTSERVER='192.0.2.254'
+ROOTPATH=''
+filename=''
+UPTIME='4'
+DHCPLEASETIME='86400'
+DOMAINSEARCH='example.org.'