diff --git a/runtime/bin/socket.cc b/runtime/bin/socket.cc index 17f56417ccb..b0e384c8b18 100644 --- a/runtime/bin/socket.cc +++ b/runtime/bin/socket.cc @@ -551,7 +551,7 @@ void FUNCTION_NAME(Socket_GetRemotePeer)(Dart_NativeArguments args) { Dart_ListSetAt(entry, 1, Dart_NewStringFromCString(addr->as_string())); RawAddr raw = addr->addr(); - intptr_t data_length = SocketAddress::GetAddrLength(raw); + intptr_t data_length = SocketAddress::GetInAddrLength(raw); Dart_Handle data = Dart_NewTypedData(Dart_TypedData_kUint8, data_length); Dart_ListSetAsBytes(data, 0, reinterpret_cast(&raw), data_length); Dart_ListSetAt(entry, 2, data); diff --git a/tests/standalone/io/socket_info_test.dart b/tests/standalone/io/socket_info_ipv4_test.dart similarity index 81% rename from tests/standalone/io/socket_info_test.dart rename to tests/standalone/io/socket_info_ipv4_test.dart index eb14246bc61..f8d63bdd0a0 100644 --- a/tests/standalone/io/socket_info_test.dart +++ b/tests/standalone/io/socket_info_ipv4_test.dart @@ -14,7 +14,11 @@ void testHostAndPort() { Expect.equals(clientSocket.port, socket.remotePort); Expect.equals(clientSocket.remotePort, socket.port); Expect.equals(socket.remoteAddress.address, "127.0.0.1"); + Expect.equals(socket.remoteAddress.type, + InternetAddressType.IP_V4); Expect.equals(clientSocket.remoteAddress.address, "127.0.0.1"); + Expect.equals(clientSocket.remoteAddress.type, + InternetAddressType.IP_V4); socket.destroy(); clientSocket.destroy(); server.close(); diff --git a/tests/standalone/io/socket_info_ipv6_test.dart b/tests/standalone/io/socket_info_ipv6_test.dart new file mode 100644 index 00000000000..d6969abf63a --- /dev/null +++ b/tests/standalone/io/socket_info_ipv6_test.dart @@ -0,0 +1,32 @@ +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import "package:expect/expect.dart"; +import "dart:io"; + +void testHostAndPort() { + ServerSocket.bind("::1", 0).then((server) { + + Socket.connect("::1", server.port).then((clientSocket) { + server.listen((socket) { + Expect.equals(socket.port, server.port); + Expect.equals(clientSocket.port, socket.remotePort); + Expect.equals(clientSocket.remotePort, socket.port); + Expect.equals(socket.remoteAddress.address, "::1"); + Expect.equals(socket.remoteAddress.type, + InternetAddressType.IP_V6); + Expect.equals(clientSocket.remoteAddress.address, "::1"); + Expect.equals(clientSocket.remoteAddress.type, + InternetAddressType.IP_V6); + socket.destroy(); + clientSocket.destroy(); + server.close(); + }); + }); + }); +} + +void main() { + testHostAndPort(); +} diff --git a/tests/standalone/standalone.status b/tests/standalone/standalone.status index fb7510fcf67..d5a7c309227 100644 --- a/tests/standalone/standalone.status +++ b/tests/standalone/standalone.status @@ -352,10 +352,11 @@ io/test_runner_test: Pass, Slow # Slow. io/skipping_dart2js_compilations_test: Pass, Slow # Slow. [ $builder_tag == no_ipv6 ] -io/http_bind_test: Skip -io/raw_datagram_socket_test: Skip -io/socket_source_address_test: Skip -io/socket_bind_test: Skip -io/http_proxy_advanced_test: Skip -io/http_ipv6_test: Skip -io/socket_ipv6_test: Skip +io/http_bind_test: SkipByDesign +io/raw_datagram_socket_test: SkipByDesign +io/socket_source_address_test: SkipByDesign +io/socket_bind_test: SkipByDesign +io/http_proxy_advanced_test: SkipByDesign +io/http_ipv6_test: SkipByDesign +io/socket_ipv6_test: SkipByDesign +io/socket_info_ipv6_test: SkipByDesign