1b8851fccSafresh1BEGIN { 2b8851fccSafresh1 chdir 't' if -d 't'; 3b8851fccSafresh1 @INC = '../lib' if -d '../lib' && -d '../ext'; 4b8851fccSafresh1 5b8851fccSafresh1 require "./test.pl"; 6*5486feefSafresh1 require Config; Config->import; 7b8851fccSafresh1} 8b8851fccSafresh1 9b8851fccSafresh1use strict; 10b8851fccSafresh1use warnings; 11b8851fccSafresh1 12b8851fccSafresh1skip_all('no SysV semaphores on this platform') if !$Config{d_sem}; 13b8851fccSafresh1skip_all('SysV semaphore structures not detected') 14b8851fccSafresh1 if !$Config{d_semctl_semid_ds} && !$Config{d_semctl_semun}; 15b8851fccSafresh1 16b8851fccSafresh1my @warnings; 17b8851fccSafresh1{ 18b8851fccSafresh1 local $SIG{__WARN__} = sub { push @warnings, $_[0] }; 19b8851fccSafresh1 local $SIG{SYS} = sub { skip_all("SIGSYS caught") } if exists $SIG{SYS}; 20b8851fccSafresh1 my $test = (semctl(-1,0,0,0))[0]; 21b8851fccSafresh1 ok(!defined $test, "erroneous semctl list slice yields undef"); 22b8851fccSafresh1} 23b8851fccSafresh1 24b8851fccSafresh1is(scalar @warnings, 0, "no warnings from erroneous semctl list slice") 25b8851fccSafresh1 or diag("warnings found: @warnings"); 26b8851fccSafresh1 27b8851fccSafresh1done_testing; 28