2
0
Эх сурвалжийг харах

Don't handle lack of IPv6 as fatal in unit tests

sapier 10 жил өмнө
parent
commit
2b9beead38
1 өөрчлөгдсөн 20 нэмэгдсэн , 13 устгасан
  1. 20 13
      src/test.cpp

+ 20 - 13
src/test.cpp

@@ -1517,22 +1517,29 @@ struct TestSocket: public TestBase
 			const char sendbuffer[] = "hello world!";
 			IPv6AddressBytes bytes;
 			bytes.bytes[15] = 1;
-			socket6.Send(Address(&bytes, port), sendbuffer, sizeof(sendbuffer));
+			
+			try {
+				socket6.Send(Address(&bytes, port), sendbuffer, sizeof(sendbuffer));
 
-			sleep_ms(50);
+				sleep_ms(50);
 
-			char rcvbuffer[256];
-			memset(rcvbuffer, 0, sizeof(rcvbuffer));
-			Address sender;
-			for(;;)
-			{
-				int bytes_read = socket6.Receive(sender, rcvbuffer, sizeof(rcvbuffer));
-				if(bytes_read < 0)
-					break;
+				char rcvbuffer[256];
+				memset(rcvbuffer, 0, sizeof(rcvbuffer));
+				Address sender;
+				for(;;)
+				{
+					int bytes_read = socket6.Receive(sender, rcvbuffer, sizeof(rcvbuffer));
+					if(bytes_read < 0)
+						break;
+				}
+				//FIXME: This fails on some systems
+				UASSERT(strncmp(sendbuffer, rcvbuffer, sizeof(sendbuffer))==0);
+				UASSERT(memcmp(sender.getAddress6().sin6_addr.s6_addr, Address(&bytes, 0).getAddress6().sin6_addr.s6_addr, 16) == 0);
 			}
-			//FIXME: This fails on some systems
-			UASSERT(strncmp(sendbuffer, rcvbuffer, sizeof(sendbuffer))==0);
-			UASSERT(memcmp(sender.getAddress6().sin6_addr.s6_addr, Address(&bytes, 0).getAddress6().sin6_addr.s6_addr, 16) == 0);
+			catch (SendFailedException e) {
+				errorstream << "IPv6 support enabled but not available!" << std::endl;
+ 			}
+			
 		}
 
 		// IPv4 socket test