#!/usr/bin/perl use lib '.'; use lib 't'; use SATest; sa_t_init("dnsbl_sc_meta"); use constant TEST_ENABLED => conf_bool('run_net_tests'); use constant HAS_NET_DNS => eval { require Net::DNS; }; # bug 3806: # Do not run this test with version of Sys::Hostname::Long older than 1.4 # on non-Linux unices as root, due to a bug in Sys::Hostname::Long # (which is used by Net::DNS) use constant IS_LINUX => $^O eq 'linux'; use constant IS_WINDOWS => ($^O =~ /^(mswin|dos|os2)/oi); use constant AM_ROOT => $< == 0; use constant HAS_SAFE_HOSTNAME => eval { require Sys::Hostname::Long; Sys::Hostname::Long->VERSION(1.4) }; use constant DO_RUN => TEST_ENABLED && HAS_NET_DNS && (HAS_SAFE_HOSTNAME || !AM_ROOT || IS_LINUX || IS_WINDOWS); use Test; BEGIN { plan tests => (DO_RUN ? 2 : 0), }; exit unless (DO_RUN); # --------------------------------------------------------------------------- %patterns = ( q{ DNSBL_TEST_TOP } => 'DNSBL_TEST_TOP', q{ SC_DNSBL } => 'SC_DNSBL', ); %anti_patterns = ( ); tstprefs(" loadplugin Mail::SpamAssassin::Plugin::Shortcircuit rbl_timeout 60 clear_trusted_networks trusted_networks 127. trusted_networks 10. trusted_networks 150.51.53.1 header DNSBL_TEST_TOP eval:check_rbl('test', 'dnsbltest.spamassassin.org.') tflags DNSBL_TEST_TOP net meta SC_DNSBL (DNSBL_TEST_TOP) priority SC_DNSBL -700 shortcircuit SC_DNSBL on "); sarun ("-t < data/spam/dnsbl.eml 2>&1", \&patterns_run_cb); ok_all_patterns();