Skip to content

Commit

Permalink
libstd: Use iotest! for for get_host_addresses.
Browse files Browse the repository at this point in the history
  • Loading branch information
luqmana committed Jan 24, 2014
1 parent 5aa31c4 commit a04cc4d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 41 deletions.
36 changes: 0 additions & 36 deletions src/librustuv/addrinfo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -183,39 +183,3 @@ pub fn accum_addrinfo(addr: &Addrinfo) -> ~[ai::Info] {
return addrs;
}
}

// cannot give tcp/ip permission without help of apk
#[cfg(test, not(target_os="android"))]
mod test {
use std::io::net::ip::{SocketAddr, Ipv4Addr};
use super::super::local_loop;
use super::GetAddrInfoRequest;

#[test]
fn getaddrinfo_test() {
let loop_ = &mut local_loop().loop_;
match GetAddrInfoRequest::run(loop_, Some("localhost"), None, None) {
Ok(infos) => {
let mut found_local = false;
let local_addr = &SocketAddr {
ip: Ipv4Addr(127, 0, 0, 1),
port: 0
};
for addr in infos.iter() {
found_local = found_local || addr.address == *local_addr;
}
assert!(found_local);
}
Err(e) => fail!("{:?}", e),
}
}

#[test]
fn issue_10663() {
let loop_ = &mut local_loop().loop_;
// Something should happen here, but this certainly shouldn't cause
// everything to die. The actual outcome we don't care too much about.
GetAddrInfoRequest::run(loop_, Some("irc.n0v4.com"), None,
None);
}
}
16 changes: 11 additions & 5 deletions src/libstd/io/net/addrinfo.rs
Original file line number Diff line number Diff line change
Expand Up @@ -98,21 +98,27 @@ fn lookup(hostname: Option<&str>, servname: Option<&str>, hint: Option<Hint>)
LocalIo::maybe_raise(|io| io.get_host_addresses(hostname, servname, hint))
}

#[cfg(test)]
// Ignored on android since we cannot give tcp/ip
// permission without help of apk
#[cfg(test, not(target_os = "android"))]
mod test {
use io::net::ip::Ipv4Addr;
use prelude::*;
use super::*;

#[test]
#[ignore(cfg(target_os="android"))] // cannot give tcp/ip permission without help of apk
fn dns_smoke_test() {
iotest!(fn dns_smoke_test() {
let ipaddrs = get_host_addresses("localhost").unwrap();
let mut found_local = false;
let local_addr = &Ipv4Addr(127, 0, 0, 1);
for addr in ipaddrs.iter() {
found_local = found_local || addr == local_addr;
}
assert!(found_local);
}
})

iotest!(fn issue_10663() {
// Something should happen here, but this certainly shouldn't cause
// everything to die. The actual outcome we don't care too much about.
get_host_addresses("example.com");
} #[ignore])
}

0 comments on commit a04cc4d

Please sign in to comment.