Integrate mainline (STDCHAR)
[p5sagit/p5-mst-13.2.git] / t / lib / syslog.t
index 7ad4204..05d8b22 100755 (executable)
@@ -8,6 +8,18 @@ BEGIN {
        print "1..0 # Skip: Sys::Syslog was not built\n";
        exit 0;
     }
+
+    require Socket;
+
+    # This code inspired by Sys::Syslog::connect():
+    require Sys::Hostname;
+    my ($host_uniq) = Sys::Hostname::hostname();
+    my ($host)      = $host_uniq =~ /([A-Za-z0-9_.-]+)/;
+
+    if (! defined Socket::inet_aton($host)) {
+        print "1..0 # Skip: Can't lookup $host\n";
+        exit 0;
+    }
 }
 
 use Sys::Syslog qw(:DEFAULT setlogsock);
@@ -15,9 +27,19 @@ use Sys::Syslog qw(:DEFAULT setlogsock);
 print "1..6\n";
 
 if (Sys::Syslog::_PATH_LOG()) {
-    print defined(eval { setlogsock('unix') }) ? "ok 1\n" : "not ok 1\n";
-    print defined(eval { openlog('perl', 'ndelay', 'local0') }) ? "ok 2\n" : "not ok 2\n";
-    print defined(eval { syslog('info', 'test') }) ? "ok 3\n" : "not ok 3\n";
+    if (-e Sys::Syslog::_PATH_LOG()) {
+        print defined(eval { setlogsock('unix') }) ? "ok 1\n" : "not ok 1\n";
+        print defined(eval { openlog('perl', 'ndelay', 'local0') }) ? "ok 2\n" : "not ok 2\n";
+        print defined(eval { syslog('info', 'test') }) ? "ok 3\n" : "not ok 3\n";
+    }
+    else {
+        for (1..3) {
+            print
+                "ok $_ # skipping, file ",
+                Sys::Syslog::_PATH_LOG(),
+                " does not exist\n";
+        }
+    }
 }
 else {
     for (1..3) { print "ok $_ # skipping, _PATH_LOG unavailable\n" }