8 #include <boost/algorithm/string/case_conv.hpp>
10 #include <simgear/simgear_config.h>
12 #include "DNSClient.hxx"
14 #include "test_DNS.hxx"
16 #include <simgear/debug/logstream.hxx>
22 using namespace simgear;
24 #define COMPARE(a, b) \
26 cerr << "failed:" << #a << " != " << #b << endl; \
27 cerr << "\tgot:'" << a << "'" << endl; \
32 int main(int argc, char* argv[])
34 sglog().setLogLevels( SG_ALL, SG_DEBUG );
38 // test existing NAPTR
39 // fgtest.t3r.de. 600 IN NAPTR 999 99 "U" "test" "!^.*$!http://dnstest.flightgear.org/!" .
41 DNS::NAPTRRequest * naptrRequest = new DNS::NAPTRRequest("fgtest.t3r.de");
42 DNS::Request_ptr r(naptrRequest);
44 while( !r->complete() )
47 COMPARE(naptrRequest->entries.size(), 1 );
48 COMPARE(naptrRequest->entries[0]->order, 999 );
49 COMPARE(naptrRequest->entries[0]->preference, 99 );
50 COMPARE(naptrRequest->entries[0]->service, "test" );
51 COMPARE(naptrRequest->entries[0]->regexp, "!^.*$!http://dnstest.flightgear.org/!" );
52 COMPARE(naptrRequest->entries[0]->replacement, "" );
55 // test non-existing NAPTR
57 DNS::NAPTRRequest * naptrRequest = new DNS::NAPTRRequest("jurkxkqdiufqzpfvzqok.prozhqrlcaavbxifkkhf");
58 DNS::Request_ptr r(naptrRequest);
60 while( !r->complete() )
63 COMPARE(naptrRequest->entries.size(), 0 );
66 cout << "all tests passed ok" << endl;