Allow taking screenshots of formspecs and move message to chat
[oweals/minetest.git] / src / test.cpp
index c969c0951a76f72e859d7f88d9b723677eb7657a..8a080454b6bf7f447bc66727360c6f3dd8d37b2b 100644 (file)
@@ -1506,37 +1506,46 @@ struct TestSocket: public TestBase
        void Run()
        {
                const int port = 30003;
+               Address address(0,0,0,0, port);
+               Address address6((IPv6AddressBytes*) NULL, port);
 
                // IPv6 socket test
                {
                        UDPSocket socket6(true);
-                       socket6.Bind(port);
+                       socket6.Bind(address6);
 
                        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
                {
                        UDPSocket socket(false);
-                       socket.Bind(port);
+                       socket.Bind(address);
 
                        const char sendbuffer[] = "hello world!";
                        socket.Send(Address(127,0,0,1,port), sendbuffer, sizeof(sendbuffer));
@@ -1656,7 +1665,8 @@ struct TestConnection: public TestBase
                
                infostream<<"** Creating server Connection"<<std::endl;
                con::Connection server(proto_id, 512, 5.0, false, &hand_server);
-               server.Serve(30001);
+               Address address(0,0,0,0, 30001);
+               server.Serve(address);
                
                infostream<<"** Creating client Connection"<<std::endl;
                con::Connection client(proto_id, 512, 5.0, false, &hand_client);