I'm working on a module which returns data useful when generating abuse reports. Some of the functions are meant to return undef in normal cases. For example, a function which takes an IP and a DNSBL zone and returns undef if the IP isn't listed in the given DNSBL or returns the TXT record if it is listed. 127.0.0.2 is a common test address listed on many DNSBLs so I can check for it on a couple known to list it. What happens when their DNS servers are down when someone runs 'make test'?
The problem comes with some of the other functions. For example, one returns the email addresses listed with abuse.net for a given domain. If I pick a random common domain to test against, I don't know that they won't change the listing. Picking one of my, or my employer's, domains would be better but then if the address(es) is/are changed, a new release is necessary with updated tests. What about for my function that returns the ASN announcing an IP? Or the function that returns whois contacts for a given IP? I've looked at some of the other modules that deal with dynamic network data. Picking the authors domain seems to be a common method. Are there other common methods I missed? I can see that this would be a fairly robust solution but I was hoping for something more fault tollerant. Michael
