6 cat >tests/testcase.1 <<EOF
18 Configuring interface eth0=eth0 (inet)
19 run-parts --verbose /etc/network/if-pre-up.d
21 ifconfig eth0 1.2.3.4 netmask 255.255.255.0 up
25 run-parts --verbose /etc/network/if-up.d
28 cat >tests/testcase.2 <<EOF
33 iface eth0 inet static
36 iface eth1 inet static
39 iface eth2 inet static
42 iface eth3 inet static
45 iface eth4 inet static
48 iface eth5 inet static
51 iface eth6 inet static
54 iface eth7 inet static
61 Configuring interface eth0=eth0 (inet)
62 run-parts --verbose /etc/network/if-pre-up.d
64 ifconfig eth0 1.2.3.4 netmask 255.255.255.0 up
66 run-parts --verbose /etc/network/if-up.d
67 Configuring interface eth1=eth1 (inet)
68 run-parts --verbose /etc/network/if-pre-up.d
70 ifconfig eth1 1.3.4.5 netmask 255.255.255.0 up
72 run-parts --verbose /etc/network/if-up.d
73 Configuring interface eth2=eth2 (inet)
74 run-parts --verbose /etc/network/if-pre-up.d
76 ifconfig eth2 1.4.5.6 netmask 255.255.255.0 up
78 run-parts --verbose /etc/network/if-up.d
79 Configuring interface eth3=eth3 (inet)
80 run-parts --verbose /etc/network/if-pre-up.d
82 ifconfig eth3 1.5.6.7 netmask 255.255.255.0 up
84 run-parts --verbose /etc/network/if-up.d
85 Configuring interface eth4=eth4 (inet)
86 run-parts --verbose /etc/network/if-pre-up.d
88 ifconfig eth4 1.7.8.9 netmask 255.255.255.0 up
90 run-parts --verbose /etc/network/if-up.d
91 Configuring interface eth5=eth5 (inet)
92 run-parts --verbose /etc/network/if-pre-up.d
94 ifconfig eth5 1.8.9.10 netmask 255.255.255.0 up
96 run-parts --verbose /etc/network/if-up.d
98 cat >tests/testcase.3 <<EOF
101 iface eth0 inet static
103 netmask 255.255.255.0
104 iface eth0 inet6 static
105 address 3ffe:ffff:100:f101::1
108 cat >tests/up.3 <<EOF
111 Configuring interface eth0=eth0 (inet)
112 run-parts --verbose /etc/network/if-pre-up.d
114 ifconfig eth0 1.2.3.4 netmask 255.255.255.0 up
116 run-parts --verbose /etc/network/if-up.d
117 Configuring interface eth0=eth0 (inet6)
118 run-parts --verbose /etc/network/if-pre-up.d
120 ifconfig eth0 add 3ffe:ffff:100:f101::1/64
122 run-parts --verbose /etc/network/if-up.d
125 cat >tests/testcase.4 <<EOF
128 script tests/map.eth0.work
129 iface work inet static
131 netmask 255.255.255.0
135 cat >tests/up.4 <<EOF
138 Configuring interface eth0=work (inet)
139 run-parts --verbose /etc/network/if-pre-up.d
141 ifconfig eth0 1.2.3.4 netmask 255.255.255.0 up
145 run-parts --verbose /etc/network/if-up.d
150 for test in 1 2 3 4; do
151 args="$(cat tests/testcase.$test | sed -n 's/^# RUN: //p')"
152 ./ifup -nv --force -i tests/testcase.$test $args \
153 >tests/up-res-out.$test 2>tests/up-res-err.$test ||
155 (echo "====stdout===="; cat tests/up-res-out.$test
156 echo "====stderr===="; cat tests/up-res-err.$test) > tests/up-res.$test
158 echo "Testcase $test: $args"
160 if diff -ub tests/up.$test tests/up-res.$test; then
170 echo "(okay overall)"
173 echo "(failed overall)"