1#!/usr/bin/perl 2 3use strict; 4use warnings; 5 6use Test::More; 7 8use IO::Async::Test; 9use IO::Async::Loop; 10 11use IO::Async::Resolver::DNS; 12 13my $loop = IO::Async::Loop->new; 14 15testing_loop( $loop ); 16 17my $resolver = $loop->resolver; 18 19{ 20 can_ok( $resolver, "res_query" ); 21 22 my $result; 23 $resolver->res_query( 24 dname => "www.cpan.org", 25 type => "A", 26 on_resolved => sub { 27 $result = shift; 28 }, 29 on_error => sub { die "Test failed early - $_[-1]" }, 30 ); 31 32 wait_for { $result }; 33 34 isa_ok( $result, "Net::DNS::Packet", '$result from ->res_query isa Net::DNS::Packet' ); 35 # Lets not be too sensitive to what the answers actually are 36 cmp_ok( scalar $result->answer, '>=', 1, '$result from ->res_query contains some answers' ) or 37 diag( $result->string ); 38} 39 40{ 41 can_ok( $resolver, "res_search" ); 42 43 my $result; 44 $resolver->res_search( 45 dname => "www.cpan.org", 46 type => "A", 47 on_resolved => sub { 48 $result = shift; 49 }, 50 on_error => sub { die "Test failed early - $_[-1]" }, 51 ); 52 53 wait_for { $result }; 54 55 isa_ok( $result, "Net::DNS::Packet", '$result from ->res_search isa Net::DNS::Packet' ); 56 # Lets not be too sensitive to what the answers actually are 57 cmp_ok( scalar $result->answer, '>=', 1, '$result from ->res_search contains some answers' ) or 58 diag( $result->string ); 59} 60 61done_testing; 62