Skip to content

Commit 0a62849

Browse files
committed
---
yaml --- r: 36024 b: refs/heads/try2 c: 781f8cb h: refs/heads/master v: v3
1 parent f45bab5 commit 0a62849

File tree

2 files changed

+56
-1
lines changed

2 files changed

+56
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: eb8fd119c65c67f3b1b8268cc7341c22d39b7b61
55
refs/heads/try: d324a424d8f84b1eb049b12cf34182bda91b0024
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: 79e538d32ab33604a8288e7b76c875ff075743d2
8+
refs/heads/try2: 781f8cbe4e5f729907d38cb4de8fc407c1bcb23e
99
refs/heads/incoming: d9317a174e434d4c99fc1a37fd7dc0d2f5328d37
1010
refs/heads/dist-snap: 22efa39382d41b084fde1719df7ae8ce5697d8c9
1111
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596

branches/try2/src/libstd/net_tcp.rs

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1249,6 +1249,10 @@ mod test {
12491249
impl_gl_tcp_ipv4_server_and_client();
12501250
}
12511251
#[test]
1252+
fn test_gl_tcp_get_peer_name() unsafe {
1253+
impl_gl_tcp_ipv4_get_peer_name();
1254+
}
1255+
#[test]
12521256
fn test_gl_tcp_ipv4_client_error_connection_refused() unsafe {
12531257
impl_gl_tcp_ipv4_client_error_connection_refused();
12541258
}
@@ -1275,6 +1279,11 @@ mod test {
12751279
}
12761280
#[test]
12771281
#[ignore(cfg(target_os = "linux"))]
1282+
fn test_gl_tcp_get_peer_name() unsafe {
1283+
impl_gl_tcp_ipv4_get_peer_name();
1284+
}
1285+
#[test]
1286+
#[ignore(cfg(target_os = "linux"))]
12781287
fn test_gl_tcp_ipv4_client_error_connection_refused() unsafe {
12791288
impl_gl_tcp_ipv4_client_error_connection_refused();
12801289
}
@@ -1342,6 +1351,52 @@ mod test {
13421351
assert str::contains(actual_req, expected_req);
13431352
assert str::contains(actual_resp, expected_resp);
13441353
}
1354+
fn impl_gl_tcp_ipv4_get_peer_name() {
1355+
let hl_loop = uv::global_loop::get();
1356+
let server_ip = ~"127.0.0.1";
1357+
let server_port = 8889u;
1358+
let expected_resp = ~"pong";
1359+
1360+
let server_result_po = core::comm::Port::<~str>();
1361+
let server_result_ch = core::comm::Chan(&server_result_po);
1362+
1363+
let cont_po = core::comm::Port::<()>();
1364+
let cont_ch = core::comm::Chan(&cont_po);
1365+
// server
1366+
do task::spawn_sched(task::ManualThreads(1u)) {
1367+
let actual_req = do comm::listen |server_ch| {
1368+
run_tcp_test_server(
1369+
server_ip,
1370+
server_port,
1371+
expected_resp,
1372+
server_ch,
1373+
cont_ch,
1374+
hl_loop)
1375+
};
1376+
server_result_ch.send(actual_req);
1377+
};
1378+
core::comm::recv(cont_po);
1379+
// client
1380+
log(debug, ~"server started, firing up client..");
1381+
do core::comm::listen |client_ch| {
1382+
let server_ip_addr = ip::v4::parse_addr(server_ip);
1383+
let iotask = uv::global_loop::get();
1384+
let connect_result = connect(move server_ip_addr, server_port,
1385+
iotask);
1386+
1387+
let sock = result::unwrap(move connect_result);
1388+
1389+
// This is what we are actually testing!
1390+
assert net::ip::format_addr(&sock.getpeername()) == ~"127.0.0.1";
1391+
assert net::ip::get_port(&sock.getpeername()) == 8889;
1392+
1393+
// Fulfill the protocol the test server expects
1394+
let resp_bytes = str::to_bytes(~"ping");
1395+
tcp_write_single(&sock, resp_bytes);
1396+
let read_result = sock.read(0u);
1397+
client_ch.send(str::from_bytes(read_result.get()));
1398+
};
1399+
}
13451400
fn impl_gl_tcp_ipv4_client_error_connection_refused() {
13461401
let hl_loop = uv::global_loop::get();
13471402
let server_ip = ~"127.0.0.1";

0 commit comments

Comments
 (0)