use strictures 1; use Test::More; $ENV{OBJECT_REMOTE_TEST_LOGGER} = 1; use Object::Remote::Connector::Local; $SIG{ALRM} = sub { die "alarm signal\n" }; my $fatnode_text = Object::Remote::Connector::Local->new(timeout => 1)->fatnode_text; #this simulates a node that has hung before it reaches #the watchdog initialization - it's an edge case that #could cause remote processes to not get cleaned up #if it's not handled right eval { no warnings 'once'; $Object::Remote::FatNode::INHIBIT_RUN_NODE = 1; eval $fatnode_text; if ($@) { die "could not eval fatnode text: $@"; } while(1) { sleep(1); } }; is($@, "alarm signal\n", "Alarm handler was invoked"); done_testing;