--- /dev/null
+use strictures 1;
+use Test::More;
+
+require 't/logsetup.pl';
+
+use Object::Remote::Connection;
+use Object::Remote::FromData;
+
+$SIG{ALRM} = sub { fail("Watchdog killed remote process in time"); die "test failed" };
+
+my $conn = Object::Remote::Connection->conn_from_spec("-", watchdog_timeout => 1)->connect;
+
+my $remote = HangClass->new::on($conn);
+
+isa_ok($remote, 'Object::Remote::Proxy');
+is($remote->alive, 1, "Hanging test object is running");
+
+alarm(3);
+
+eval { $remote->hang };
+
+like($@, qr/^Object::Remote connection lost: eof/, "Correct error message");
+
+done_testing;
+
+__DATA__
+
+package HangClass;
+
+use Moo;
+
+sub alive {
+ return 1;
+}
+
+sub hang {
+ while(1) {
+ sleep(1);
+ }
+}
+
+
+
+
+