Fix tests on *BSD.
authorGuus Sliepen <guus@tinc-vpn.org>
Mon, 17 Apr 2017 11:54:02 +0000 (13:54 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Mon, 17 Apr 2017 12:22:39 +0000 (14:22 +0200)
src/ifconfig.c
test/executables.test
test/sptps-basic.test
test/testlib.sh

index 7688a3c67779b2e3eab7f399e81c42a3027cb0ac..06f2c629a26ac2df1d6591252338f7d839a2c943 100644 (file)
@@ -104,13 +104,6 @@ void ifconfig_address(FILE *out, const char *value) {
                case SUBNET_IPV6: fprintf(out, "ip addr replace %s dev \"$INTERFACE\"\n", address_str); break;
                default: return;
        }
-#elif defined(HAVE_BSD)
-       switch(address.type) {
-               case SUBNET_MAC:  fprintf(out, "ifconfig \"$INTERFACE\" link %s\n", address_str); break;
-               case SUBNET_IPV4: fprintf(out, "ifconfig \"$INTERFACE\" %s\n", address_str); break;
-               case SUBNET_IPV6: fprintf(out, "ifconfig \"$INTERFACE\" inet6 %s\n", address_str); break;
-               default: return;
-       }
 #elif defined(HAVE_MINGW) || defined(HAVE_CYGWIN)
        switch(address.type) {
                case SUBNET_MAC:  fprintf(out, "ip link set \"$INTERFACE\" address %s\n", address_str); break;
@@ -118,6 +111,13 @@ void ifconfig_address(FILE *out, const char *value) {
                case SUBNET_IPV6: fprintf(out, "netsh inetface ipv6 set address \"$INTERFACE\" static %s\n", address_str); break;
                default: return;
        }
+#else // assume BSD
+       switch(address.type) {
+               case SUBNET_MAC:  fprintf(out, "ifconfig \"$INTERFACE\" link %s\n", address_str); break;
+               case SUBNET_IPV4: fprintf(out, "ifconfig \"$INTERFACE\" %s\n", address_str); break;
+               case SUBNET_IPV6: fprintf(out, "ifconfig \"$INTERFACE\" inet6 %s\n", address_str); break;
+               default: return;
+       }
 #endif
 }
 
@@ -152,8 +152,21 @@ void ifconfig_route(FILE *out, const char *value) {
                        default: return;
                }
        }
-#elif defined(HAVE_BSD)
-       // BSD route command is silly and doesn't accept an interface name as a destination.
+#elif defined(HAVE_MINGW) || defined(HAVE_CYGWIN)
+       if(*gateway_str) {
+               switch(subnet.type) {
+                       case SUBNET_IPV4: fprintf(out, "netsh inetface ipv4 add route %s \"%%INTERFACE%%\" %s\n", subnet_str, gateway_str); break;
+                       case SUBNET_IPV6: fprintf(out, "netsh inetface ipv6 add route %s \"%%INTERFACE%%\" %s\n", subnet_str, gateway_str); break;
+                       default: return;
+               }
+       } else {
+               switch(subnet.type) {
+                       case SUBNET_IPV4: fprintf(out, "netsh inetface ipv4 add route %s \"%%INTERFACE%%\"\n", subnet_str); break;
+                       case SUBNET_IPV6: fprintf(out, "netsh inetface ipv6 add route %s \"%%INTERFACE%%\"\n", subnet_str); break;
+                       default: return;
+               }
+       }
+#else // assume BSD
        if(!*gateway_str) {
                switch(subnet.type) {
                        case SUBNET_IPV4:
@@ -180,19 +193,5 @@ void ifconfig_route(FILE *out, const char *value) {
                case SUBNET_IPV6: fprintf(out, "route add -inet6 %s %s\n", subnet_str, gateway_str); break;
                default: return;
        }
-#elif defined(HAVE_MINGW) || defined(HAVE_CYGWIN)
-       if(*gateway_str) {
-               switch(subnet.type) {
-                       case SUBNET_IPV4: fprintf(out, "netsh inetface ipv4 add route %s \"%%INTERFACE%%\" %s\n", subnet_str, gateway_str); break;
-                       case SUBNET_IPV6: fprintf(out, "netsh inetface ipv6 add route %s \"%%INTERFACE%%\" %s\n", subnet_str, gateway_str); break;
-                       default: return;
-               }
-       } else {
-               switch(subnet.type) {
-                       case SUBNET_IPV4: fprintf(out, "netsh inetface ipv4 add route %s \"%%INTERFACE%%\"\n", subnet_str); break;
-                       case SUBNET_IPV6: fprintf(out, "netsh inetface ipv6 add route %s \"%%INTERFACE%%\"\n", subnet_str); break;
-                       default: return;
-               }
-       }
 #endif
 }
index 35dd2bc8442163bcc9557879eb9787e4c792c708..801de58c1c3abc447a886dcc68b6c315d8fc45f1 100755 (executable)
@@ -5,4 +5,6 @@
 # Just test whether the executables work
 $tincd --help
 $tinc --help
-$sptps_test --help
+if [ -e $sptps_test ]; then
+       $sptps_test --help
+fi
index 644a31e0b1f0b216baa7b4dd03f484b64111aaed..28c0c4048e3538574a34c242cef00b90a98207f2 100755 (executable)
@@ -2,6 +2,10 @@
 
 . ./testlib.sh
 
+# Skip this test if we did not compile sptps_test
+
+test -e $sptps_test || exit 77
+
 # Generate keys
 
 mkdir -p $d1
index 31033352c4137d19c474755294c5826af807d6de..75b60a792a21598c4c6f272bf71c03c625aab237 100644 (file)
@@ -9,18 +9,10 @@ sptps_keypair=../src/sptps_keypair
 
 # Test directories
 
-case "$_" in
-       /*)
-               d1=$_.1
-               d2=$_.2
-               d3=$_.3
-       ;;
-       *)
-               d1=$PWD/$_.1
-               d2=$PWD/$_.2
-               d3=$PWD/$_.3
-       ;;
-esac
+scriptname=`basename $0`
+d1=$PWD/$scriptname.1
+d2=$PWD/$scriptname.2
+d3=$PWD/$scriptname.3
 
 # Default arguments for both tinc and tincd